use core::num::TryFromIntError;
#[derive(Clone, Copy, Debug, Eq, PartialEq, thiserror::Error)]
pub enum ValueError {
#[error("Invalid frame ID for legacy frame format: {0}")]
InvalidFrameId(#[from] TryFromIntError),
#[error("Invalid route radius: {0}")]
InvalidRouteRadius(u16),
#[error("Invalid Ember duty cycle state: {0:#04X}")]
EmberDutyCycleState(u8),
#[error("Invalid Ember network status: {0:#04X}")]
EmberNetworkStatus(u8),
#[error("InvalidEmber node type: {0:#04X}")]
EmberNodeType(u8),
#[error("Invalid decision ID: {0:#04X}")]
DecisionId(u8),
#[error("Invalid entropy source: {0:#04X}")]
EntropySource(u8),
#[error("Missing payload")]
MissingPayload,
}