This port implements miscellaneous platform-related functionality for the Crazyflie.
CRTP channels
port | channel | Function |
---|---|---|
13 | 0 | Platform commands |
13 | 1 | Version commands |
13 | 2 | App channel |
13 | 3 | Reserved for future use |
Platform commands
The first byte describes the command:
value | Command |
---|---|
0 | Set continuous wave |
1 | Request arm/disarm the system |
Set continuous wave
Command and answer:
Byte | Description |
---|---|
0 | command setContinuousWave (0) |
1 | Enable |
If enable is not 0, the Crazyflie radio will start transmitting a continuous sine wave at the currently setup freqency. The same packet is sent back to confirm the value has been set.
This command should only be sent over USB (it disables the radio communication). It is used in production to test the Crazyflie radio path and should not be used outside of a lab or other very controlled environment. It will effectively jam local radio communication on the channel.
Arm/disarm system
Arm or disarm the system if possible.
Command:
Byte | Description |
---|---|
0 | command request arm/disarm system (1) |
1 | 0 = disarm, non-zero = arm the system |
Answer:
Byte | Description |
---|---|
0 | command request arm/disarm system (1) |
1 | success: 1 if the requested arming state was set |
2 | isArmed: 0 = system is disarmed, 1 = system is armed |
Version commands
The first byte describes the command:
value | Command |
---|---|
0 | Get protocol version |
1 | Get firmware version |
2 | Get device type name |
Get protocol version
Command:
Byte | Description |
---|---|
0 | getProtocolVersion (0) |
Answer:
Byte | Description |
---|---|
0 | getProtocolVersion (0) |
1 | Version |
Returns the CRTP protocol version. See the protocol versioning and stability guarantee documentation for more information.
Get firmware version
Command:
Byte | Description |
---|---|
0 | getFirmwareVersion (1) |
Answer:
Byte | Description |
---|---|
0 | getFirmwareVersion (1) |
1.. | Version string |
Returns a string representation of the current firmware version. This returns the GIT tag of the source code where the firmware was built. For a release the version string will look like “2022.01”. For a build between releases the number of commit since the release will be added, for example “2022.01 +42”.
Get device type name
Command:
Byte | Description |
---|---|
0 | getDeviceTypeName (2) |
Answer:
Byte | Description |
---|---|
0 | getDeviceTypeName (2) |
1.. | Device type name string |
Returns a string representation of the device type the firmware is running on. The currently existing device types are:
Device Type | Device type name |
---|---|
RZ10 | Crazyflie Bolt |
CF20 | Crazyflie 2.0 |
CF2.1 | Crazyflie 2.1 |
C21B | Crazyflie 2.1 Brushless |
RR10 | Roadrunner 1.0 |
App channel
The app channel is intended to be used by user apps on the Crazyflie and on the ground to exchange data. Every packet sent and received from the app channel (port:channel) (13:2) will be available through the app channel API.