use rtcc::Hours;
#[derive(Debug)]
pub enum Error<E> {
Comm(E),
InvalidInputData,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SqWFreq {
Hz1,
Hz4_096,
Hz8_192,
Hz32_768,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum OutputPinLevel {
High,
Low,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AlarmOutputPinPolarity {
High,
Low,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AlarmMatching {
SecondsMatch,
MinutesMatch,
HoursMatch,
WeekdayMatches,
DayMatches,
AllMatch,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Alarm {
Zero,
One,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct AlarmDateTime {
pub month: u8,
pub day: u8,
pub weekday: u8,
pub hour: Hours,
pub minute: u8,
pub second: u8,
}
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct PowerFailDateTime {
pub month: u8,
pub day: u8,
pub weekday: u8,
pub hour: Hours,
pub minute: u8,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EepromWriteProtection {
None,
UpperQuarter,
UpperHalf,
All,
}