User Tools

Site Tools


projects:crazyflie:crtp:log

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
projects:crazyflie:crtp:log [2013-03-20 09:52]
macke
projects:crazyflie:crtp:log [2013-03-20 10:45]
macke
Line 2: Line 2:
 For more information on how to use this and how this is implemented have a look [[projects:crazyflie:firmware:log|here]]. For more information on how to use this and how this is implemented have a look [[projects:crazyflie:firmware:log|here]].
  
-===== State machines ===== +====== State machines ====== 
-==== Downloading the Table Of Contents ====+===== Downloading the Table Of Contents =====
 <ditaa> <ditaa>
-    /----------------\     /-------------\   No    /----------------\ +    /----------------\      /----------------\     /-------------\   No    /------\ 
- -->| Fetch TOC item |---->| More items? |-------->Add log blocks +--> | Fetch TOC info |----->| Fetch TOC item |---->| More items? |-------->Done 
-    \----------------/     \-------------/         \----------------/ +    \----------------/      \----------------/     \-------------/         \------/ 
-            ^                    | +                                   ^                    | 
-            |                    | +                                   |                    | 
-            \--------------------/ +                                   \--------------------/ 
-                      Yes+                                           Yes
 </ditaa> </ditaa>
-===== Communication protocol =====+====== Communication protocol ======
  
 The log port is separated in 3 channels: The log port is separated in 3 channels:
  
 ^ **Port**  ^ **Channel** ^ **Function**      ^ ^ **Port**  ^ **Channel** ^ **Function**      ^
-|            0        | Table of content access | +|            0        | Table of content access: Used for reading out the TOC 
-|            1        | Log control | +|            1        | Log control: Used for adding/removing/starting/pausing log blocks 
-|            2        | Log data |+|            2        | Log data: Used to send log data from the Crazyflie to the client |
  
-==== Table of content access ==== +===== Table of content access ===== 
- +This channel is used to download the Table Of Contents that contains all the variables that are available for logging and what types they are.
-This channel is used to access the loggable variables table of content.+
  
 The first byte of each messages correspond a command. All communication on this port are initated by the client and all answer from the copter will contain the same command byte. The first byte of each messages correspond a command. All communication on this port are initated by the client and all answer from the copter will contain the same command byte.
Line 32: Line 31:
 |                1 | GET_INFO  | Get information about the TOC and the LOG subsystem implementation | |                1 | GET_INFO  | Get information about the TOC and the LOG subsystem implementation |
  
-=== Get TOC item ===+==== Get TOC item ====
  
 The GET_ITEM TOC command permits to retrieved the log variables name, group and types from the copter. This command is intended to be requested from all the ID from 0 to LOG_LEN (see GET_INFO). The GET_ITEM TOC command permits to retrieved the log variables name, group and types from the copter. This command is intended to be requested from all the ID from 0 to LOG_LEN (see GET_INFO).
Line 64: Line 63:
 Type, group and name are not sent if the required ID is higher than TOC_LEN-1. Type, group and name are not sent if the required ID is higher than TOC_LEN-1.
  
-=== Get Info ===+==== Get Info ====
  
 The get info command is intended to be requested first when connecting to the copter. This permits to know the number of variable, the limitations of the log implementation and the fingerprint of the log variables. The get info command is intended to be requested first when connecting to the copter. This permits to know the number of variable, the limitations of the log implementation and the fingerprint of the log variables.
Line 92: Line 91:
 |  7   | LOG_MAX_OPS    | Maximum number of operation programmable in the copter. An operation is one log variable retrieval programming | |  7   | LOG_MAX_OPS    | Maximum number of operation programmable in the copter. An operation is one log variable retrieval programming |
  
-==== Log control ====+===== 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. 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.
Line 103: Line 102:
 |                    4 | STOP_BLOCK    | Disable log block transmition | |                    4 | STOP_BLOCK    | Disable log block transmition |
  
-=== Create block ===+==== Create block ====
  
-=== Append variable to block ===+==== Append variable to block ====
  
-=== Delete block ===+==== Delete block ====
  
-=== Start block ===+==== Start block ====
  
-=== Stop block ===+==== Stop block ====
  
-==== Log data ====+===== Log data =====
  
 The log data channel is used by the copter to send the log blocks at the programmed rate. The packet format is The log data channel is used by the copter to send the log blocks at the programmed rate. The packet format is
Line 129: Line 128:
 |  1   | ID             | Timestamp in ms from the copter startup as a little-endian 3 bytes integer | |  1   | ID             | Timestamp in ms from the copter startup as a little-endian 3 bytes integer |
 |  4..  | Log variable values | Packed log values in little endian format |  |  4..  | Log variable values | Packed log values in little endian format | 
- 
projects/crazyflie/crtp/log.txt · Last modified: 2015-07-15 16:31 (external edit)