mirror of https://github.com/eldruin/ds323x-rs
				
				
				
			Add defmt support behind the feature flag defmt.
This is DBLouis's work. I just updated the defmt to the stable 1.x version.
							parent
							
								
									c5fdd9057f
								
							
						
					
					
						commit
						55eb567261
					
				| 
						 | 
					@ -20,9 +20,13 @@ include = [
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
edition = "2018"
 | 
					edition = "2018"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[features]
 | 
				
			||||||
 | 
					defmt = ["dep:defmt", "rtcc/defmt-03"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
embedded-hal = "1.0.0"
 | 
					embedded-hal = "1.0.0"
 | 
				
			||||||
rtcc = "0.3"
 | 
					rtcc = "0.3.2"
 | 
				
			||||||
 | 
					defmt = { version = "1.0.1", optional = true }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dev-dependencies]
 | 
					[dev-dependencies]
 | 
				
			||||||
embedded-hal-mock = { version = "0.11.1", features = ["eh1"] }
 | 
					embedded-hal-mock = { version = "0.11.1", features = ["eh1"] }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,6 +15,7 @@ use crate::{
 | 
				
			||||||
/// - Second, minute and hour: 0
 | 
					/// - Second, minute and hour: 0
 | 
				
			||||||
/// - Day: 1
 | 
					/// - Day: 1
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct DayAlarm1 {
 | 
					pub struct DayAlarm1 {
 | 
				
			||||||
    /// Day of the month [1-31]
 | 
					    /// Day of the month [1-31]
 | 
				
			||||||
    pub day: u8,
 | 
					    pub day: u8,
 | 
				
			||||||
| 
						 | 
					@ -34,6 +35,7 @@ pub struct DayAlarm1 {
 | 
				
			||||||
/// - Second, minute and hour: 0
 | 
					/// - Second, minute and hour: 0
 | 
				
			||||||
/// - Weekday: 1
 | 
					/// - Weekday: 1
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct WeekdayAlarm1 {
 | 
					pub struct WeekdayAlarm1 {
 | 
				
			||||||
    /// Weekday [1-7]
 | 
					    /// Weekday [1-7]
 | 
				
			||||||
    pub weekday: u8,
 | 
					    pub weekday: u8,
 | 
				
			||||||
| 
						 | 
					@ -47,6 +49,7 @@ pub struct WeekdayAlarm1 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Alarm1 trigger rate
 | 
					/// Alarm1 trigger rate
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub enum Alarm1Matching {
 | 
					pub enum Alarm1Matching {
 | 
				
			||||||
    /// Alarm once per second.
 | 
					    /// Alarm once per second.
 | 
				
			||||||
    OncePerSecond,
 | 
					    OncePerSecond,
 | 
				
			||||||
| 
						 | 
					@ -68,6 +71,7 @@ pub enum Alarm1Matching {
 | 
				
			||||||
/// - Minute and hour: 0
 | 
					/// - Minute and hour: 0
 | 
				
			||||||
/// - Day: 1
 | 
					/// - Day: 1
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct DayAlarm2 {
 | 
					pub struct DayAlarm2 {
 | 
				
			||||||
    /// Day of month [1-31]
 | 
					    /// Day of month [1-31]
 | 
				
			||||||
    pub day: u8,
 | 
					    pub day: u8,
 | 
				
			||||||
| 
						 | 
					@ -85,6 +89,7 @@ pub struct DayAlarm2 {
 | 
				
			||||||
/// - Minute and hour: 0
 | 
					/// - Minute and hour: 0
 | 
				
			||||||
/// - Weekday: 1
 | 
					/// - Weekday: 1
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct WeekdayAlarm2 {
 | 
					pub struct WeekdayAlarm2 {
 | 
				
			||||||
    /// Weekday [1-7]
 | 
					    /// Weekday [1-7]
 | 
				
			||||||
    pub weekday: u8,
 | 
					    pub weekday: u8,
 | 
				
			||||||
| 
						 | 
					@ -96,6 +101,7 @@ pub struct WeekdayAlarm2 {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Alarm2 trigger rate
 | 
					/// Alarm2 trigger rate
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub enum Alarm2Matching {
 | 
					pub enum Alarm2Matching {
 | 
				
			||||||
    /// Alarm once per minute. (00 seconds of every minute)
 | 
					    /// Alarm once per minute. (00 seconds of every minute)
 | 
				
			||||||
    OncePerMinute,
 | 
					    OncePerMinute,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,12 +5,14 @@ use embedded_hal::{i2c, spi};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// I2C interface
 | 
					/// I2C interface
 | 
				
			||||||
#[derive(Debug, Default)]
 | 
					#[derive(Debug, Default)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct I2cInterface<I2C> {
 | 
					pub struct I2cInterface<I2C> {
 | 
				
			||||||
    pub(crate) i2c: I2C,
 | 
					    pub(crate) i2c: I2C,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// SPI interface
 | 
					/// SPI interface
 | 
				
			||||||
#[derive(Debug, Default)]
 | 
					#[derive(Debug, Default)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct SpiInterface<SPI> {
 | 
					pub struct SpiInterface<SPI> {
 | 
				
			||||||
    pub(crate) spi: SPI,
 | 
					    pub(crate) spi: SPI,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -377,6 +377,7 @@ pub const SPI_MODE_3: Mode = MODE_3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// All possible errors in this crate
 | 
					/// All possible errors in this crate
 | 
				
			||||||
#[derive(Debug)]
 | 
					#[derive(Debug)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub enum Error<E> {
 | 
					pub enum Error<E> {
 | 
				
			||||||
    /// I²C/SPI bus error
 | 
					    /// I²C/SPI bus error
 | 
				
			||||||
    Comm(E),
 | 
					    Comm(E),
 | 
				
			||||||
| 
						 | 
					@ -391,6 +392,7 @@ pub enum Error<E> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Square-wave output frequency
 | 
					/// Square-wave output frequency
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub enum SqWFreq {
 | 
					pub enum SqWFreq {
 | 
				
			||||||
    /// 1 Hz (default)
 | 
					    /// 1 Hz (default)
 | 
				
			||||||
    _1Hz,
 | 
					    _1Hz,
 | 
				
			||||||
| 
						 | 
					@ -406,6 +408,7 @@ pub enum SqWFreq {
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// This is only available on the DS3232 and DS3234 devices.
 | 
					/// This is only available on the DS3232 and DS3234 devices.
 | 
				
			||||||
#[derive(Debug, Clone, Copy, PartialEq)]
 | 
					#[derive(Debug, Clone, Copy, PartialEq)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub enum TempConvRate {
 | 
					pub enum TempConvRate {
 | 
				
			||||||
    /// Once every 64 seconds (default)
 | 
					    /// Once every 64 seconds (default)
 | 
				
			||||||
    _64s,
 | 
					    _64s,
 | 
				
			||||||
| 
						 | 
					@ -478,6 +481,7 @@ pub mod ic {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// DS3231, DS3232 and DS3234 RTC driver
 | 
					/// DS3231, DS3232 and DS3234 RTC driver
 | 
				
			||||||
#[derive(Debug, Default)]
 | 
					#[derive(Debug, Default)]
 | 
				
			||||||
 | 
					#[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | 
				
			||||||
pub struct Ds323x<DI, IC> {
 | 
					pub struct Ds323x<DI, IC> {
 | 
				
			||||||
    iface: DI,
 | 
					    iface: DI,
 | 
				
			||||||
    control: u8,
 | 
					    control: u8,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue