Skip to main content

Class Ds323x

Base class for DS323x family of real-time clocks

Assembly: Ds323x.dll​
View Source​
Declaration
public class Ds323x : PollingSensorBase<Temperature>, IObservable<IChangeResult<Temperature>>, ISamplingSensor<Temperature>, ISensor<Temperature>, ISensor, ISamplingSensor, IRealTimeClock, II2cPeripheral, IDisposable

Inheritance: System.Object -> Meadow.Foundation.ObservableBase<UNIT>

Derived:
Meadow.Foundation.RTCs.Ds3231

Implements:
System.IObservable<Meadow.IChangeResult<Meadow.Units.Temperature>>, Meadow.Peripherals.Sensors.ISamplingSensor<Meadow.Units.Temperature>, Meadow.Peripherals.Sensors.ISensor<Meadow.Units.Temperature>, Meadow.Peripherals.Sensors.ISensor, Meadow.Peripherals.Sensors.ISamplingSensor, Meadow.Hardware.IRealTimeClock, Meadow.Hardware.II2cPeripheral, System.IDisposable

Properties​

DefaultI2cAddress​

The default I2C address for the peripheral

View Source​
Declaration
public byte DefaultI2cAddress { get; }

IsRunning​

Stops or starts the clock oscillator

View Source​
Declaration
public bool IsRunning { get; set; }

IsDisposed​

Is the object disposed

View Source​
Declaration
public bool IsDisposed { get; }

CurrentDateTime​

Get / Set the current date and time.

View Source​
Declaration
public DateTimeOffset CurrentDateTime { get; set; }

Temperature​

Get the current die temperature.

View Source​
Declaration
public Temperature Temperature { get; }

InterruptPort​

Interrupt port attached to the DS323x RTC module.

View Source​
Declaration
protected IDigitalInterruptPort? InterruptPort { get; }

ControlRegister​

Control register.

View Source​
Declaration
protected byte ControlRegister { get; set; }

ControlStatusRegister​

Control and status register.

View Source​
Declaration
protected byte ControlStatusRegister { get; set; }

WhichAlarm​

Determine which alarm has been raised.

View Source​
Declaration
protected Ds323x.Alarm WhichAlarm { get; }

Fields​

i2cComms​

I2C Communication bus used to communicate with the i2cComms

View Source​
Declaration
protected II2cCommunications i2cComms

Methods​

ReadSensor()​

Read value from sensor

View Source​
Declaration
protected override Task<Temperature> ReadSensor()
Returns​

System.Threading.Tasks.Task<Meadow.Units.Temperature>: unitized value### GetTime() Reads the RTC time

View Source​
Declaration
public DateTimeOffset GetTime()
Returns​

System.DateTimeOffset

SetTime(DateTimeOffset)​

Sets the RTC time

View Source​
Declaration
public void SetTime(DateTimeOffset time)
Parameters​
TypeName
System.DateTimeOffsettime

DecodeDateTimeRegisters(Span<byte>)​

Get the the date and time register contents

View Source​
Declaration
protected DateTimeOffset DecodeDateTimeRegisters(Span<byte> data)
Returns​

System.DateTimeOffset: DateTimeOffset object version of the data.

Parameters​
TypeNameDescription
System.Span<System.Byte>dataRegister contents.

EncodeDateTimeRegisters(DateTimeOffset)​

Encode the a DateTime object into the format used by the DS323x chips.

View Source​
Declaration
protected byte[] EncodeDateTimeRegisters(DateTimeOffset dt)
Returns​

System.Byte[]: Bytes to send to the DS323x chip.

Parameters​
TypeNameDescription
System.DateTimeOffsetdtDateTime object to encode.

DayOfWeekToByte(DayOfWeek)​

Convert the day of the week to a byte.

View Source​
Declaration
protected byte DayOfWeekToByte(DayOfWeek day)
Returns​

System.Byte: Byte representation of the day of the week (Sunday = 1).

Parameters​
TypeNameDescription
System.DayOfWeekdayDay of the week

SetAlarm(Alarm, DateTimeOffset, AlarmType)​

Set one of the two alarms on the DS323x module.

View Source​
Declaration
public void SetAlarm(Ds323x.Alarm alarm, DateTimeOffset time, Ds323x.AlarmType type)
Parameters​
TypeNameDescription
Meadow.Foundation.RTCs.Ds323x.AlarmalarmDefine the alarm to be set.
System.DateTimeOffsettimeDate and time for the alarm.
Meadow.Foundation.RTCs.Ds323x.AlarmTypetypeType of alarm to set.

EnableDisableAlarm(Alarm, bool)​

Enable or disable the specified alarm.

View Source​
Declaration
public void EnableDisableAlarm(Ds323x.Alarm alarm, bool enable)
Parameters​
TypeNameDescription
Meadow.Foundation.RTCs.Ds323x.AlarmalarmAlarm to enable / disable.
System.BooleanenableAlarm state, true = on, false = off.

ClearInterrupt(Alarm)​

Clear the alarm interrupt flag for the specified alarm.

View Source​
Declaration
public void ClearInterrupt(Ds323x.Alarm alarm)
Parameters​
TypeNameDescription
Meadow.Foundation.RTCs.Ds323x.AlarmalarmAlarm to clear.

DisplayRegisters()​

Display the registers.

View Source​
Declaration
public void DisplayRegisters()

Dispose()​

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

View Source​
Declaration
public void Dispose()

Dispose(bool)​

Dispose of the object

View Source​
Declaration
protected virtual void Dispose(bool disposing)
Parameters​
TypeNameDescription
System.BooleandisposingIs disposing

Events​

OnAlarm1Raised​

Event raised when Alarm1 is triggered.

View Source​
Declaration
public event Ds323x.AlarmRaised OnAlarm1Raised
Event Type​

Meadow.Foundation.RTCs.Ds323x.AlarmRaised

OnAlarm2Raised​

Event raised when Alarm2 is triggered.

View Source​
Declaration
public event Ds323x.AlarmRaised OnAlarm2Raised
Event Type​

Meadow.Foundation.RTCs.Ds323x.AlarmRaised

Implements​

  • System.IObservable<Meadow.IChangeResult<Meadow.Units.Temperature>>
  • Meadow.Peripherals.Sensors.ISamplingSensor<Meadow.Units.Temperature>
  • Meadow.Peripherals.Sensors.ISensor<Meadow.Units.Temperature>
  • Meadow.Peripherals.Sensors.ISensor
  • Meadow.Peripherals.Sensors.ISamplingSensor
  • Meadow.Hardware.IRealTimeClock
  • Meadow.Hardware.II2cPeripheral
  • System.IDisposable