diff --git a/content/gettingstarted/programming/safeboot.md b/content/gettingstarted/programming/safeboot.md index 9bd4f84..2819e1d 100644 --- a/content/gettingstarted/programming/safeboot.md +++ b/content/gettingstarted/programming/safeboot.md @@ -16,13 +16,18 @@ Some times the code you have written will prevent you gaining access to the REPL * Your code gets stuck before reaching the REPL * You set a socket as blocking but never receive any data -In order to fix this you can safe boot your module. This will prevent `boot.py` and `main.py` from being executed and will drop you straight into the interactive REPL. After reset, if `P12` pin is held `high` (i.e. connect it to the `3V3` output pin), the heartbeat LED will begin flashing orange slowly. If after 3 seconds the pin is still held high, the LED will start blinking faster. In this mode the module will do the same as previously explained but it will also select the previous OTA image to boot if you have updated the module via the OTA update procedure (updates performed via the firmware update tool do not count). This is useful if you flashed a OTA update that breaks the device. +In order to fix this you can safe boot your module. This will prevent `boot.py` and `main.py` from being executed and will drop you straight into the interactive REPL. After reset, if `P12` pin is held `high` (i.e. connect it to the `3V3` output pin), the heartbeat LED will begin flashing orange slowly. If after 3 seconds the pin is still held high, the LED will start blinking faster. In this mode the module will do the same as previously explained but it will also select the previous OTA image to boot if you have updated the module via the OTA update procedure (updates performed via the firmware update tool do not count). This is useful if you flashed a OTA update that breaks the device. The following expansionboards have a dedicated safeboot-button: + +| Expansionboard 3.1 | Pygate | Pysense 2.0X | Pytrack 2.0 X | +|:----|:---|:-----|:-----| +| ![](/gitbook/assets/expansionboards/expansionboard31_sb.png) | ![](/gitbook/assets/expansionboards/pygate_sb.png)]| ![](/gitbook/assets/expansionboards/pysense2_sb.png)| ![](/gitbook/assets/expansionboards/pytrack2_sb.png) | + Pin `P12` released during: -| 1st 3 secs window | 2nd 3 secs window | +| 1st 3 secs window (slow flashing) | 2nd 3 secs window (fast flashing) | | :--- | :--- | -| Disable `boot.py` and `main.py` | Same as previous but using previous OTA firmware | +| Disable `boot.py` and `main.py` | Disable `boot.py` and `main.py` and use previous OTA firmware | The selection made during safe boot is not persistent, therefore after the next normal reset, the latest firmware will proceed to run again. diff --git a/static/gitbook/assets/expansionboards/expansionboard31_sb.png b/static/gitbook/assets/expansionboards/expansionboard31_sb.png new file mode 100644 index 0000000..f609f1c Binary files /dev/null and b/static/gitbook/assets/expansionboards/expansionboard31_sb.png differ diff --git a/static/gitbook/assets/expansionboards/pygate_sb.png b/static/gitbook/assets/expansionboards/pygate_sb.png new file mode 100644 index 0000000..12e1499 Binary files /dev/null and b/static/gitbook/assets/expansionboards/pygate_sb.png differ diff --git a/static/gitbook/assets/expansionboards/pysense2_sb.png b/static/gitbook/assets/expansionboards/pysense2_sb.png new file mode 100644 index 0000000..ab2e0bc Binary files /dev/null and b/static/gitbook/assets/expansionboards/pysense2_sb.png differ diff --git a/static/gitbook/assets/expansionboards/pytrack2_sb.png b/static/gitbook/assets/expansionboards/pytrack2_sb.png new file mode 100644 index 0000000..717f8d5 Binary files /dev/null and b/static/gitbook/assets/expansionboards/pytrack2_sb.png differ