Example overrides for 'control' api docs (#352)
* Add 'playSound' api docs * Example overrides for 'control' api docs
This commit is contained in:
parent
fcba14aae1
commit
eb45a76928
12
docs/reference/control/assert.md
Normal file
12
docs/reference/control/assert.md
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
## Example #example
|
||||||
|
|
||||||
|
Stop the program if the gyro dectects an angle greater than 45 degrees.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
forever(function () {
|
||||||
|
control.assert(sensors.gyro2.angle() > 45, 15)
|
||||||
|
pause(300)
|
||||||
|
})
|
||||||
|
```
|
9
docs/reference/control/device-serial-number.md
Normal file
9
docs/reference/control/device-serial-number.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
## Example #example
|
||||||
|
|
||||||
|
Log the device serial number to the console.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
console.logValue("serialnumber", control.deviceSerialNumber());
|
||||||
|
```
|
25
docs/reference/control/on-event.md
Normal file
25
docs/reference/control/on-event.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
# Example #example
|
||||||
|
|
||||||
|
Register two events coming from source `22`. Make the brick status light up when
|
||||||
|
the events of `0` and `1` are _raised_.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
const statusLighter = 22;
|
||||||
|
|
||||||
|
control.runInParallel(() => {
|
||||||
|
for (let i = 0; i < 2; i++) {
|
||||||
|
pause(1000);
|
||||||
|
control.raiseEvent(statusLighter, i);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
control.onEvent(statusLighter, 0, () => {
|
||||||
|
brick.setStatusLight(StatusLight.OrangePulse)
|
||||||
|
})
|
||||||
|
|
||||||
|
control.onEvent(statusLighter, 1, () => {
|
||||||
|
brick.setStatusLight(StatusLight.GreenPulse)
|
||||||
|
})
|
||||||
|
```
|
13
docs/reference/control/panic.md
Normal file
13
docs/reference/control/panic.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
## Example #example
|
||||||
|
|
||||||
|
Send a 'code red' error that you created to the error display if the brick crashes into a wall.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
let codeRed = 1
|
||||||
|
let codeBlue = 2
|
||||||
|
sensors.touch1.onEvent(ButtonEvent.Pressed, function () {
|
||||||
|
control.panic(codeRed)
|
||||||
|
})
|
||||||
|
```
|
25
docs/reference/control/raise-event.md
Normal file
25
docs/reference/control/raise-event.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
# Example #example
|
||||||
|
|
||||||
|
Register two events coming from source `22`. Make the brick status light up when
|
||||||
|
the events of `0` and `1` are _raised_.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
const statusLighter = 22;
|
||||||
|
|
||||||
|
control.runInParallel(() => {
|
||||||
|
for (let i = 0; i < 2; i++) {
|
||||||
|
pause(1000);
|
||||||
|
control.raiseEvent(statusLighter, i);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
control.onEvent(statusLighter, 0, () => {
|
||||||
|
brick.setStatusLight(StatusLight.OrangePulse)
|
||||||
|
})
|
||||||
|
|
||||||
|
control.onEvent(statusLighter, 1, () => {
|
||||||
|
brick.setStatusLight(StatusLight.GreenPulse)
|
||||||
|
})
|
||||||
|
```
|
61
docs/reference/control/run-in-parallel.md
Normal file
61
docs/reference/control/run-in-parallel.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
## Separate tasks #tasks
|
||||||
|
|
||||||
|
As an example, you could have a small task that checks the battery level and gives a warning when it drops below 15 percent. This is placed inside a ``||control:run in parallel||`` block:
|
||||||
|
|
||||||
|
```block
|
||||||
|
let powerCheck = false;
|
||||||
|
|
||||||
|
control.runInParallel(() => {
|
||||||
|
while (!powerCheck) {
|
||||||
|
if (brick.batteryLevel() <= 15) {
|
||||||
|
brick.setStatusLight(StatusLight.RedFlash)
|
||||||
|
powerCheck = true;
|
||||||
|
} else {
|
||||||
|
pause(5000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
The code the main program just drives the brick in a constant pattern until the battery check in the parallel task says that the battery level is too low.
|
||||||
|
|
||||||
|
```block
|
||||||
|
let powerCheck = false;
|
||||||
|
while (!powerCheck) {
|
||||||
|
motors.largeBC.tank(50, 50, 5, MoveUnit.Seconds)
|
||||||
|
motors.largeBC.steer(5, 50, 6, MoveUnit.Rotations)
|
||||||
|
}
|
||||||
|
motors.stopAll()
|
||||||
|
```
|
||||||
|
|
||||||
|
## #example
|
||||||
|
|
||||||
|
Tank the brick in a pattern until the battery warning variable is set. Have a separate task check the battery level and set a warning variable when the level is below `5` percent.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
let powerCheck = false;
|
||||||
|
|
||||||
|
control.runInParallel(() => {
|
||||||
|
while (!powerCheck) {
|
||||||
|
if (brick.batteryLevel() < 5) {
|
||||||
|
powerCheck = true;
|
||||||
|
} else {
|
||||||
|
pause(5000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
while (!powerCheck) {
|
||||||
|
motors.largeBC.tank(20, 20, 5, MoveUnit.Seconds)
|
||||||
|
motors.largeBC.steer(15, 20, 6, MoveUnit.Rotations)
|
||||||
|
motors.largeBC.tank(40, 40, 5, MoveUnit.Seconds)
|
||||||
|
motors.largeBC.steer(-10, 20, 3, MoveUnit.Rotations)
|
||||||
|
}
|
||||||
|
motors.stopAll()
|
||||||
|
```
|
||||||
|
|
||||||
|
## See also #seealso
|
||||||
|
|
||||||
|
[forever](/reference/loops/forever)
|
17
docs/reference/control/wait-micros.md
Normal file
17
docs/reference/control/wait-micros.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# @extends
|
||||||
|
|
||||||
|
## Example #example
|
||||||
|
|
||||||
|
Use the a wait and the timer to generate a crazy number.
|
||||||
|
|
||||||
|
```blocks
|
||||||
|
let crazy = 0
|
||||||
|
for (let i = 0; i < 100; i++) {
|
||||||
|
control.waitMicros(100)
|
||||||
|
crazy = control.millis()
|
||||||
|
crazy += control.deviceSerialNumber()
|
||||||
|
if (crazy != 0) {
|
||||||
|
crazy = crazy / 1000000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user