This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
doc:crazyflie:bootloader:protocol [2015-07-15 16:31] 127.0.0.1 external edit |
doc:crazyflie:bootloader:protocol [2021-06-24 16:36] (current) kimberly |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | <WRAP center round important 60%> | ||
+ | This page has deprecated and will be archived. Please go to [[https:// | ||
+ | </ | ||
+ | |||
====== Crazyflie bootloader architecture and protocol ====== | ====== Crazyflie bootloader architecture and protocol ====== | ||
Line 79: | Line 83: | ||
| 0x19 | FLASH_STATUS | | 0x19 | FLASH_STATUS | ||
| 0x1C | READ_FLASH | | 0x1C | READ_FLASH | ||
+ | | 0xFF | RESET_INIT | ||
+ | | 0xF0 | RESET | Only implemented in version 0x10 target 0xFE | | ||
+ | | 0x01 | ALLOFF | Only implemented in version 0x10 target 0xFE | | ||
+ | | 0x02 | SYSOFF | Only implemented in version 0x10 target 0xFE | | ||
+ | | 0x03 | SYSON | Only implemented in version 0x10 target 0xFE | | ||
+ | | 0x04 | GETVBAT | Only implemented in version 0x10 target 0xFE | | ||
==== GET_INFO ==== | ==== GET_INFO ==== | ||
Line 92: | Line 102: | ||
^ Byte ^ Answer fields | ^ Byte ^ Answer fields | ||
| 0 | GET_INFO | | 0 | GET_INFO | ||
- | | 1 | + | | 1-2 |
- | | | + | | 3-4 | nBuffPage |
- | | | + | | 5-6 | nFlashPage |
- | | | + | | 7-8 | flashStart |
- | | 5-17 | + | | 9-21 | cpuId | Legacy 12Bytes CPUID, shall be ignored | |
- | | | + | | |
</ | </ | ||
</ | </ | ||
Line 152: | Line 162: | ||
| 0 | LOAD_BUFFER | | 0 | LOAD_BUFFER | ||
| 1-2 | page | Buffer page to load into | | | 1-2 | page | Buffer page to load into | | ||
- | | | + | | 3-4 | Address | Address in the buffer page to load from | |
- | | | + | | |
</ | </ | ||
Line 167: | Line 177: | ||
| 0 | READ_BUFFER | | 0 | READ_BUFFER | ||
| 1-2 | page | Buffer page to read | | | 1-2 | page | Buffer page to read | | ||
- | | | + | | 3-4 | Address | Address in the buffer page to read from | |
</ | </ | ||
Line 174: | Line 184: | ||
| 0 | READ_BUFFER | | 0 | READ_BUFFER | ||
| 1-2 | page | Buffer page read | | | 1-2 | page | Buffer page read | | ||
- | | | + | | 3-4 | Address | Address in the buffer page read from | |
- | | | + | | |
</ | </ | ||
</ | </ | ||
Line 231: | Line 241: | ||
| 0 | READ_FLASH | | 0 | READ_FLASH | ||
| 1-2 | page | Flash page to read | | | 1-2 | page | Flash page to read | | ||
- | | | + | | 3-4 | Address | Address in the flash page to read from | |
</ | </ | ||
Line 238: | Line 248: | ||
| 0 | READ_FLASH | | 0 | READ_FLASH | ||
| 1-2 | page | Flash page read | | | 1-2 | page | Flash page read | | ||
- | | | + | | 3-4 | Address | Address in the flash page read from | |
- | | | + | | |
</ | </ | ||
</ | </ | ||
+ | |||
+ | ==== RESET_INIT ==== | ||
+ | |||
+ | Prepare to reset (no additional data fields). The result will be the original request. | ||
+ | |||
+ | ==== RESET ==== | ||
+ | |||
+ | Reset (no additional data fields). No result will be sent. | ||
+ | |||
+ | ==== ALLOFF ==== | ||
+ | |||
+ | Turn everything off as if the power button would have been pressed (i.e. STM32 and radio). The CF won't be able to wake-up unless the power button is pressed. No result will be sent. | ||
+ | |||
+ | ==== SYSOFF ==== | ||
+ | |||
+ | Turn the STM32 off, but keep the NRF51 with radio awake. The CF can be woken up by: sending reset, pressing the power button, or sendind SYSON. No result will be sent. | ||
+ | |||
+ | ==== SYSON ==== | ||
+ | |||
+ | Turn the STM32 on. No result will be sent. | ||
+ | |||
+ | ==== GETVBAT ==== | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP half column> | ||
+ | </ | ||
+ | |||
+ | <WRAP half column> | ||
+ | ^ Byte ^ Answer fields ^ Content | ||
+ | | 0-3 | vbat | floating point value containing the current battery voltage in volts | | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Check battery status (works even if the STM32 is turned off). | ||