#[derive(Debug, Clone, Copy)]
#[repr(u8)]
pub enum Register {
CommandReg = 0x01,
ComlEnReg = 0x02,
DivlEnReg = 0x03,
ComIrqReg = 0x04,
DivIrqReg = 0x05,
ErrorReg = 0x06,
Status1Reg = 0x07,
Status2Reg = 0x08,
FIFODataReg = 0x09,
FIFOLevelReg = 0x0A,
WaterLevelReg = 0x0B,
ControlReg = 0x0C,
BitFramingReg = 0x0D,
CollReg = 0x0E,
ModeReg = 0x11,
TxModeReg = 0x12,
RxModeReg = 0x13,
TxControlReg = 0x14,
TxASKReg = 0x15,
TxSelReg = 0x16,
RxSelReg = 0x17,
RxThresholdReg = 0x18,
DemodReg = 0x19,
MfTxReg = 0x1C,
MfRxReg = 0x1D,
SerialSpeedReg = 0x1F,
CRCResultRegHigh = 0x21,
CRCResultRegLow = 0x22,
ModWidthReg = 0x24,
RFCfgReg = 0x26,
GsNReg = 0x27,
CWGsPReg = 0x28,
ModGsPReg = 0x29,
TModeReg = 0x2A,
TPrescalerReg = 0x2B,
TReloadRegHigh = 0x2C,
TReloadRegLow = 0x2D,
TCounterValRegHigh = 0x2E,
TCounterValRegLow = 0x2F,
TestSel1Reg = 0x31,
TestSel2Reg = 0x32,
TestPinEnReg = 0x33,
TestPinValueReg = 0x34,
TestBusReg = 0x35,
AutoTestReg = 0x36,
VersionReg = 0x37,
AnalogTestReg = 0x38,
TestDAC1Reg = 0x39,
TestDAC2Reg = 0x3A,
TestADCReg = 0x3B,
}
impl From<Register> for u8 {
#[inline(always)]
fn from(variant: Register) -> Self {
variant as _
}
}
#[derive(Debug, Clone, Copy)]
#[repr(u8)]
pub enum RxGain {
DB18 = 0x00,
DB23 = 0x10,
DB33 = 0x40,
DB38 = 0x50,
DB43 = 0x60,
DB48 = 0x70,
}
impl From<RxGain> for u8 {
#[inline(always)]
fn from(variant: RxGain) -> Self {
variant as _
}
}
#[derive(Debug, Clone, Copy, PartialEq)]
#[repr(u8)]
pub enum Command {
Idle = 0b0000,
Mem = 0b0001,
GenerateRandomId = 0b0010,
CalcCRC = 0b0011,
Transmit = 0b0100,
NoCmdChange = 0b0111,
Receive = 0b1000,
Transceive = 0b1100,
MFAuthent = 0b1110,
SoftReset = 0b1111,
}
impl From<Command> for u8 {
#[inline(always)]
fn from(variant: Command) -> Self {
variant as _
}
}
pub const POWER_DOWN: u8 = 1 << 4;
pub const TIMER_IRQ: u8 = 1 << 0;
pub const ERR_IRQ: u8 = 1 << 1;
pub const IDLE_IRQ: u8 = 1 << 4;
pub const RX_IRQ: u8 = 1 << 5;
pub const CRC_IRQ: u8 = 1 << 2;
pub const PROTOCOL_ERR: u8 = 1 << 0;
pub const PARITY_ERR: u8 = 1 << 1;
pub const CRC_ERR: u8 = 1 << 2;
pub const COLL_ERR: u8 = 1 << 3;
pub const BUFFER_OVFL: u8 = 1 << 4;
pub const TEMP_ERR: u8 = 1 << 6;
pub const WR_ERR: u8 = 1 << 7;
pub const FLUSH_BUFFER: u8 = 1 << 7;
pub const FORCE_100_ASK: u8 = 1 << 6;