This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
projects:crazyflie:firmware:log [2012-10-07 14:18] arnaud |
projects:crazyflie:firmware:log [2012-11-11 18:19] arnaud [Table of content access] |
||
---|---|---|---|
Line 5: | Line 5: | ||
This mechanism is used both for regular log operation (ie. user requested log to inspect and debug flight data) but also to update indication in the GUI application. | This mechanism is used both for regular log operation (ie. user requested log to inspect and debug flight data) but also to update indication in the GUI application. | ||
- | Each variable to log is contained in a | + | Each variable to log is contained in a group group and has a name. The system is designed to make it easy to add a log variable in the Firmware and have it available in the ground station GUI: |
+ | |||
+ | {{: | ||
===== Communication protocol ===== | ===== Communication protocol ===== | ||
Line 12: | Line 14: | ||
^ **Port** | ^ **Port** | ||
- | | 5 | 0 | + | | 1 | 0 | Table of content access | |
- | | 5 | 1 | + | | 1 | 1 | Log control |
- | | 5 | 2 | + | | 1 | 2 | Log data | |
==== Table of content access ==== | ==== Table of content access ==== | ||
Line 38: | Line 40: | ||
Answer (Copter to PC): | Answer (Copter to PC): | ||
+ | +--------------+----+ | ||
+ | | GET_ITEM (0) | ID | If index out of range | ||
+--------------+----+------+------------+--------------+ | +--------------+----+------+------------+--------------+ | ||
- | | GET_ITEM (0) | ID | Type | | + | | GET_ITEM (0) | ID | Type | |
+--------------+----+------+------------+--------------+ | +--------------+----+------+------------+--------------+ | ||
Length | Length | ||
</ | </ | ||
- | ^ Request fields ^ Content | + | ^ Byte ^ Request fields ^ Content |
- | | GET_ITEM | + | | 0 | GET_ITEM |
- | | ID | ID of the item to be retrieved. The variables are numbered from 0 to LOG_LEN (see GET_INFO command) | | + | | 1 | ID | ID of the item to be retrieved. The variables are numbered from 0 to LOG_LEN (see GET_INFO command) | |
- | ^ Answer fields | + | ^ Byte ^ Answer fields |
- | | GET_ITEM | + | | 0 | GET_ITEM |
- | | ID | ID of the item returned | + | | 1 | ID | ID of the item returned |
- | | Type | Variable type of the element. See variable types list | | + | | 2 | Type | Variable type of the element. See variable types list | |
- | | Group | Null-terminated string containing variable group | | + | | 3.. |
- | | Name | Null-terminated string containing the variable name | | + | | .. |
+ | |||
+ | Type, group and name are not sent if the required ID is higher than TOC_LEN-1. | ||
=== Get Info === | === Get Info === | ||
Line 72: | Line 78: | ||
</ | </ | ||
- | ^ Request fields ^ Content | + | ^ Byte ^ Request fields ^ Content |
- | | GET_INFO | + | | 0 | GET_INFO |
+ | |||
+ | ^ Byte ^ Answer fields | ||
+ | | 0 | GET_INFO | ||
+ | | 1 | LOG_LEN | ||
+ | | 2 | LOG_CRC | ||
+ | | 6 | LOG_MAX_PACKET | Maximum number of log packets that can be programmed in the copter | | ||
+ | | 7 | LOG_MAX_OPS | ||
+ | |||
+ | ==== Log control ==== | ||
+ | |||
+ | The log control channel permits to setup, activate, deactivate and remove log packets. Like the TOC access channel the first data byte represents a command. | ||
- | ^ Answer fields | + | ^ Control command byte ^ Command |
- | | GET_INFO | + | | |
- | | LOG_LEN | + | | |
- | | LOG_CRC | + | | |
- | | LOG_MAX_PACKET | + | | |
- | | LOG_MAX_OPS | + | | 4 | STOP_BLOCK |