ds1307 0.6.0

Platform-agnostic Rust driver for the DS1307 real-time clock.
Documentation
use ds1307::{Error, Hours, Rtcc};
use embedded_hal_mock::eh1::i2c::Transaction as I2cTrans;
mod common;
use crate::common::{destroy, new, Register, ADDR};

get_test!(
    can_read_24h_hours,
    hours,
    Hours::H24(23),
    trans_read!(HOURS, [0b0010_0011])
);
set_invalid_test!(wrong_h24, set_hours, Hours::H24(24));
set_test!(
    set_24h,
    set_hours,
    Hours::H24(23),
    trans_write!(HOURS, [0b0010_0011])
);

get_test!(
    can_read_h12_am_hours,
    hours,
    Hours::AM(12),
    trans_read!(HOURS, [0b0101_0010])
);
set_invalid_test!(h12_am_too_small, set_hours, Hours::AM(0));
set_invalid_test!(h12_am_too_big, set_hours, Hours::AM(13));
set_test!(
    set_h12_am,
    set_hours,
    Hours::AM(12),
    trans_write!(HOURS, [0b0101_0010])
);

get_test!(
    can_read_h12_pm_hours,
    hours,
    Hours::PM(12),
    trans_read!(HOURS, [0b0111_0010])
);
set_invalid_test!(h12_pm_too_small, set_hours, Hours::PM(0));
set_invalid_test!(h12_pm_too_big, set_hours, Hours::PM(13));
set_test!(
    set_h12_pm,
    set_hours,
    Hours::PM(12),
    trans_write!(HOURS, [0b0111_0010])
);