Document additional panic codes.

This commit is contained in:
ganicke
2017-08-30 16:53:58 -07:00
parent 01f665b268
commit c8c923eb20
3 changed files with 78 additions and 5 deletions

View File

@ -0,0 +1,29 @@
# assert
Stop the program if the assertion condition is false.
```sig
control.assert(false)
```
You can insist that your program will stop at an assert block if a certain condition you check is false. The error number in the assert is written to the serial port with a failure message.
## Parameters
* **cond**: a [boolean](/types/boolean) where true means everything is ok or false which means, stop the program!
* **msg**: an optional [string](/types/string) with a message describing the failed assertion.
## Example
Stop the program if a sensor connected to pin `P0` sends a low (`0`) signal.
```blocks
basic.forever(() => {
control.assert(pins.digitalReadPin(DigitalPin.P0) == 1)
basic.pause(1000)
})
```
## See also
[panic](/reference/control/panic)

View File

@ -0,0 +1,40 @@
# panic
Display an error number and stop the program.
```sig
control.panic(0)
```
If your board has some way to display error information, ``||control:panic||`` will work
with it to show error numbers.
Your program stops when you use ``||control:panic||``. Use this when you think something bad enough has
happened and your program can't run properly anymore.
## Parameters
* **code**: an error [number](/types/number) you match to an error situation in your program.
### ~hint
**System error codes**
The @boardname@ has error codes reserved for use by the system software. The ```panic()``` function is for advanced usage only. You must carefully chose an error code that doesn't match one currently used by the @boardname@ system.
### ~
## Example
Send a 'code red' error that you created to the error display if the input from pin `P0` is lower than `10`.
```blocks
let codeRed = 1110;
let codeBlue = 1111;
if (pins.analogReadPin(AnalogPin.P0) < 10) {
control.panic(codeRed)
}
```
## See also
[assert](/reference/control/assert), [error codes](/device/error-codes)