added wait-micros function
This commit is contained in:
parent
851687dba8
commit
9159c297a5
@ -7,8 +7,9 @@ control.inBackground(() => {
|
|||||||
|
|
||||||
});
|
});
|
||||||
control.reset();
|
control.reset();
|
||||||
|
control.waitMicros(4);
|
||||||
```
|
```
|
||||||
|
|
||||||
### See Also
|
### See Also
|
||||||
|
|
||||||
[inBackground](/reference/control/in-background), [reset](/reference/control/reset)
|
[inBackground](/reference/control/in-background), [reset](/reference/control/reset), [wait-micros](/reference/control/wait-micros)
|
||||||
|
32
docs/reference/control/wait-micros.md
Normal file
32
docs/reference/control/wait-micros.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# WaitMicros
|
||||||
|
|
||||||
|
Blocks the current fiber for the given amount of micro-seconds.
|
||||||
|
|
||||||
|
```sig
|
||||||
|
control.waitMicros(4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
This program sends a 10 micro-second HIGH pulse through pin ``P0``.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
// ensure pin is low to send a clean pulse
|
||||||
|
pins.digitalWritePin(DigitalPin.P0, 0)
|
||||||
|
control.waitMicros(2)
|
||||||
|
// set pin to 1 and wait 10 micros
|
||||||
|
pins.digitalWritePin(DigitalPin.P0, 1)
|
||||||
|
control.waitMicros(10)
|
||||||
|
// finish pulse
|
||||||
|
pins.digitalWritePin(DigitalPin.P0, 0)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### ~hint
|
||||||
|
|
||||||
|
This function is not supported in the simulator.
|
||||||
|
|
||||||
|
#### ~
|
||||||
|
|
||||||
|
### See Also
|
||||||
|
|
||||||
|
[pause](/reference/basic/pause)
|
@ -129,12 +129,22 @@ namespace control {
|
|||||||
/**
|
/**
|
||||||
* Resets the BBC micro:bit.
|
* Resets the BBC micro:bit.
|
||||||
*/
|
*/
|
||||||
//% weight=30 async help=control/reset
|
//% weight=30 async help=control/reset blockGap=8
|
||||||
//% blockId="control_reset" block="reset"
|
//% blockId="control_reset" block="reset"
|
||||||
void reset() {
|
void reset() {
|
||||||
microbit_reset();
|
microbit_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Blocks the current fiber for the given microseconds
|
||||||
|
* @param micros number of micro-seconds to wait. eg: 4
|
||||||
|
*/
|
||||||
|
//% help=control/wait-micros weight=29
|
||||||
|
//% blockId="control_wait_us" block="wait (µs)%micros"
|
||||||
|
void waitMicros(int micros) {
|
||||||
|
wait_us(micros);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Raises an event in the event bus.
|
* Raises an event in the event bus.
|
||||||
* @param src ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.
|
* @param src ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.
|
||||||
|
10
libs/microbit/shims.d.ts
vendored
10
libs/microbit/shims.d.ts
vendored
@ -333,10 +333,18 @@ declare namespace control {
|
|||||||
/**
|
/**
|
||||||
* Resets the BBC micro:bit.
|
* Resets the BBC micro:bit.
|
||||||
*/
|
*/
|
||||||
//% weight=30 async help=control/reset
|
//% weight=30 async help=control/reset blockGap=8
|
||||||
//% blockId="control_reset" block="reset" shim=control::reset
|
//% blockId="control_reset" block="reset" shim=control::reset
|
||||||
function reset(): void;
|
function reset(): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Blocks the current fiber for the given microseconds
|
||||||
|
* @param micros number of micro-seconds to wait. eg: 4
|
||||||
|
*/
|
||||||
|
//% help=control/wait-micros weight=29
|
||||||
|
//% blockId="control_wait_us" block="wait (µs)%micros" shim=control::waitMicros
|
||||||
|
function waitMicros(micros: number): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Raises an event in the event bus.
|
* Raises an event in the event bus.
|
||||||
* @param src ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.
|
* @param src ID of the MicroBit Component that generated the event e.g. MICROBIT_ID_BUTTON_A.
|
||||||
|
@ -227,6 +227,10 @@ namespace pxsim.control {
|
|||||||
U.userError("reset not implemented in simulator yet")
|
U.userError("reset not implemented in simulator yet")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function waitMicros(micros: number) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
export function deviceName(): string {
|
export function deviceName(): string {
|
||||||
let b = board();
|
let b = board();
|
||||||
return b && b.id
|
return b && b.id
|
||||||
|
Loading…
Reference in New Issue
Block a user