This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    doc:crazyflie:crtp:param [2015-10-26 18:43] arnaud  | 
                
                    doc:crazyflie:crtp:param [2020-05-12 14:22] (current) kimberly  | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <WRAP center round important 60%> | ||
| + | This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to [[https:// | ||
| + | </ | ||
| + | |||
| ====== Parameters ====== | ====== Parameters ====== | ||
| The parameters system makes all the gettable and settable parameters of the copter accessible. The copter holds a table of parameters which can be retrieved. In this table every parameter name is associated with an ID and a group name. Three IDs are used to acces the TOC and the parameters: | The parameters system makes all the gettable and settable parameters of the copter accessible. The copter holds a table of parameters which can be retrieved. In this table every parameter name is associated with an ID and a group name. Three IDs are used to acces the TOC and the parameters: | ||
| - | ^ Port      ^ Channel  | + | ^  Port  ^  Channel  | 
| - | |  2        | 0            | + | |  2      | 
| - | |  2        | 1            | + | |  2      | 
| - | |  2        | 2            | + | |  2      | 
| - | |  2        | 3            | + | |  2      | 
| ===== TOC access ===== | ===== TOC access ===== | ||
| Line 33: | Line 37: | ||
| The CRC32 is a hash of the copter TOC. This is aimed at implementing caching of the TOC in the PC Utils to avoid fetching the full TOC each time the copter is connected. | The CRC32 is a hash of the copter TOC. This is aimed at implementing caching of the TOC in the PC Utils to avoid fetching the full TOC each time the copter is connected. | ||
| + | |||
| + | The type is one byte describing the parameter type: | ||
| + | |||
| + | ^ Type code ^ C type ^ Python unpack | | ||
| + | | 0x08      | uint8_t | '< | ||
| + | | 0x09      | uint16_t | '< | ||
| + | | 0x0A      | uint32_t | '< | ||
| + | | 0x0B      | uint64_t | '< | ||
| + | | 0x00      | int8_t | '< | ||
| + | | 0x01      | int16_t | '< | ||
| + | | 0x02      | int32_t | '< | ||
| + | | 0x03      | int64_t | '< | ||
| + | | 0x05      | FP16 | '' | ||
| + | | 0x06      | float | '< | ||
| + | | 0x07      | double | '< | ||
| ===== Parameter read ===== | ===== Parameter read ===== | ||
| Line 51: | Line 70: | ||
| The read request is a simple packet on channel 1. Crazyflie answers with the value. | The read request is a simple packet on channel 1. Crazyflie answers with the value. | ||
| - | ===== parameter  | + | ===== Parameter  | 
| <WRAP group> | <WRAP group> | ||
| Line 68: | Line 87: | ||
| The write request is a simple packet on channel 2. Crazyflie sends back the parameter value as an acknowledgement. | The write request is a simple packet on channel 2. Crazyflie sends back the parameter value as an acknowledgement. | ||
| + | |||
| + | ===== Misc. commands ===== | ||
| + | |||
| + | The following misc commands are implemented: | ||
| + | |||
| + | ^ Code ^ Command ^ | ||
| + | |  0x00  | [[doc: | ||
| + | |||
| + | ==== Set by name ==== | ||
| + | |||
| + | <WRAP group> | ||
| + | <WRAP half column> | ||
| + | ^ Byte ^ Request fields ^ Content  | ||
| + | |  0   | SET_BY_NAME  | ||
| + | | 1-n | group | Name of the group | | ||
| + | |  n-(n+1)  | ||
| + | |  (n+1)-(n+m+1)  | ||
| + | |  (n+m+1)-(n+m+2)  | ||
| + | |  (n+m+2)-(n+m+3)  | ||
| + | |  (n+m+3)-...  | ||
| + | </ | ||
| + | |||
| + | <WRAP half column> | ||
| + | ^ Byte ^ Answer fields  | ||
| + | |  0   | SET_BY_NAME  | ||
| + | | 1-n | group | Name of the group | | ||
| + | |  n-(n+1)  | ||
| + | |  (n+1)-(n+m+1)  | ||
| + | |  (n+m+2)  | ||
| + | |  (n+m+3)  | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | //Group// and //name// are ascii strings of size respectively //n// and //m//. The type corresponds to the TOC type of the parameter. It is checked for consistency. | ||
| + | |||
| + | This command is useful to set a parameter without having to fetch the full TOC. It is enough to know the group, name and type of the parameter to write it. | ||