dw3000_ng/fast_command.rs
1//! Enumeration for fast commands
2
3#[allow(non_camel_case_types)]
4#[derive(Copy, Clone, Debug, Eq, PartialEq)]
5/// Fast command enumeration to easily control the module
6pub enum FastCommand {
7 /// Fast command to go to IDLE state and clears any events
8 CMD_TXRXOFF = 0x0,
9 /// Fast command to Immediate start of transmission
10 CMD_TX = 0x1,
11 /// Fast command to Enable RX immediately
12 CMD_RX = 0x2,
13 /// Fast command to Delayed TX w.r.t. DX_TIME
14 CMD_DTX = 0x3,
15 /// Fast command to Delayed RX w.r.t. DX_TIME
16 CMD_DRX = 0x4,
17 /// Fast command to Delayed TX w.r.t. TX timestamp + DX_TIME
18 CMD_DTX_TS = 0x5,
19 /// Fast command to Delayed RX w.r.t. TX timestamp + DX_TIME
20 CMD_DRX_TS = 0x6,
21 /// Fast command to Delayed TX w.r.t. RX timestamp + DX_TIME
22 CMD_DTX_RS = 0x7,
23 /// Fast command to Delayed RX w.r.t. RX timestamp + DX_TIME
24 CMD_DRX_RS = 0x8,
25 /// Fast command to Delayed TX w.r.t. DREF_TIME + DX_TIME
26 CMD_DTX_REF = 0x9,
27 /// Fast command to Delayed RX w.r.t. DREF_TIME + DX_TIME
28 CMD_DRX_REF = 0xA,
29 /// Fast command to TX if no preamble detected
30 CMD_CCA_TX = 0xB,
31 /// Fast command to Start TX immediately, then when TX is done, enable the receiver
32 CMD_TX_W4R = 0xC,
33 /// Fast command to Delayed TX w.r.t. DX_TIME, then enable receiver
34 CMD_DTX_W4R = 0xD,
35 /// Fast command to Delayed TX w.r.t. TX timestamp + DX_TIME, then enable receiver
36 CMD_DTX_TS_W4R = 0xE,
37 /// Fast command to Delayed TX w.r.t. RX timestamp + DX_TIME, then enable receiver
38 CMD_DTX_RS_W4R = 0xF,
39 /// Fast command to Delayed TX w.r.t. DREF_TIME + DX_TIME, then enable receiver
40 CMD_DTX_REF_W4R = 0x10,
41 /// Fast command to TX packet if no preamble detected, then enable receiver
42 CMD_CCA_TX_W4R = 0x11,
43 /// Fast command to Clear all interrupt events
44 CMD_CLR_IRQS = 0x12,
45 /// Fast command to Toggle double buffer pointer / notify the device that the host has finished processing the received buffer/data.
46 CMD_DB_TOGGLE = 0x13,
47}