use postcard::experimental::max_size::MaxSize;
use rmk_macro::event;
use rmk_types::battery::BatteryStatus;
use serde::{Deserialize, Serialize};
#[event(
channel_size = crate::BATTERY_ADC_EVENT_CHANNEL_SIZE,
pubs = crate::BATTERY_ADC_EVENT_PUB_SIZE,
subs = crate::BATTERY_ADC_EVENT_SUB_SIZE
)]
#[derive(Serialize, Deserialize, Clone, Debug, Copy, MaxSize)]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub struct BatteryAdcEvent(pub u16);
#[event(
channel_size = crate::CHARGING_STATE_EVENT_CHANNEL_SIZE,
pubs = crate::CHARGING_STATE_EVENT_PUB_SIZE,
subs = crate::CHARGING_STATE_EVENT_SUB_SIZE
)]
#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, MaxSize)]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub struct ChargingStateEvent {
pub charging: bool,
}
#[event(channel_size = crate::BATTERY_STATUS_EVENT_CHANNEL_SIZE, pubs = crate::BATTERY_STATUS_EVENT_PUB_SIZE, subs = crate::BATTERY_STATUS_EVENT_SUB_SIZE)]
#[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq, MaxSize)]
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
pub struct BatteryStatusEvent(pub BatteryStatus);
impl_payload_wrapper!(BatteryStatusEvent, BatteryStatus);