This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
doc:crazyflie:crtp:index [2014-11-25 15:21] macke created |
doc:crazyflie:crtp:index [2020-05-12 14:20] 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:// | ||
+ | </ | ||
+ | |||
+ | ====== Communication with the Crazyflie ====== | ||
+ | For communicating with the Crazyflie we have implemented our own high-level protocol named CRTP (Crazy RealTime Protocol). It's a fairly simple protocol using a number of target ports where data can be sent and received in either direction, but in most cases the communication is driven from the host. The protocol can be implemented on a number of mediums, currently we have USB and Crazyradio support. | ||
+ | |||
+ | ====== CRTP ====== | ||
+ | |||
+ | ===== Physical carriers ===== | ||
+ | Currently CRTP is supported over Crazyradio and USB (currently only for Crazyflie 2.0). | ||
+ | |||
+ | ^ Carrier | ||
+ | | Crazyradio (PA) | Crazyflie 1.0/2.0 | | ||
+ | | USB | Crazyflie 2.0 | | ||
+ | |||
+ | ===== Header ===== | ||
+ | Each packet has a 1 byte header and can carry up to 29 bytes data payload. The header field has the following layout: | ||
+ | < | ||
+ | | ||
+ | +----+----+----+----+----+----+----+----+ | ||
+ | | | ||
+ | +----+----+----+----+----+----+----+----+ | ||
+ | </ | ||
+ | |||
+ | Where: | ||
+ | * **Port**: Used to identify the functionality or task that is associated with this message | ||
+ | * **Link**: Reserved for future use | ||
+ | * **Channel**: | ||
+ | |||
+ | ===== Port allocation ===== | ||
+ | Current port allocation: | ||
+ | ^ **Port** | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | ===== Connection procedure ===== | ||
+ | CRTP is designed to be state-less, so there' |