#[repr(u8)]
pub enum Command {
GetModInfo = 0x01,
GetModInfoResp = 0x02,
SetDataComponents = 0x03,
GetData = 0x04,
GetDataResp = 0x05,
SetConfig = 0x06,
GetConfig = 0x07,
GetConfigResp = 0x08,
Save = 0x09,
StartCal = 0x0A,
StopCal = 0x0B,
SetFIRFilters = 0x0C,
GetFIRFilters = 0x0D,
GetFIRFiltersResp = 0x0E,
PowerDown = 0x0F,
SaveDone = 0x10,
UserCalSampleCount = 0x11,
UserCalScore = 0x12,
SetConfigDone = 0x13,
SetFIRFiltersDone = 0x14,
StartContinuousMode = 0x15,
StopContinuousMode = 0x16,
PowerUpDone = 0x17,
SetAcqParams = 0x18,
GetAcqParams = 0x19,
SetAcqParamsDone = 0x1A,
GetAcqParamsResp = 0x1B,
PowerDownDone = 0x1C,
FactoryMagCoeff = 0x1D,
FactoryMagCoeffDone = 0x1E,
TakeUserCalSample = 0x1F,
FactorylAccelCoeff = 0x24,
FactoryAccelCoeffDone = 0x25,
CopyCoeffSet = 0x2B,
CopyCoeffSetDone = 0x2C,
SerialNumber = 0x34,
SerialNumberResp = 0x35,
}
impl Command {
pub(crate) fn discriminant(&self) -> u8 {
unsafe { *(self as *const Self as *const u8) }
}
}