Skip to main content

Meadow.Foundation.RTCs.Ds3232

Ds3232
StatusStatus badge: working
Source codeGitHub
Datasheet(s)GitHub
NuGet packageNuGet Gallery for Meadow.Foundation.RTCs.Ds323x

Code Example

Ds3232 sensor;

readonlyTimeSpan timezoneOffset =newTimeSpan(-7,0,0);

publicoverrideTaskInitialize()
{
Resolver.Log.Info("Initialize...");

sensor =newDs3232(Device.CreateI2cBus(), Device.Pins.D06);
sensor.OnAlarm1Raised += Sensor_OnAlarm1Raised;

returnbase.Initialize();
}

publicoverrideTaskRun()
{
sensor.CurrentDateTime =newDateTimeOffset(newDateTime(2024,1,1), timezoneOffset);

Resolver.Log.Info($"Current time: {sensor.CurrentDateTime}");
Resolver.Log.Info($"Temperature: {sensor.Temperature}");

sensor.ClearInterrupt(Ds3232.Alarm.BothAlarmsRaised);

sensor.SetAlarm(Ds3232.Alarm.Alarm1Raised,
newDateTimeOffset(newDateTime(2024,1,1,1,0,0), timezoneOffset),
Ds3232.AlarmType.WhenSecondsMatch);

sensor.DisplayRegisters();

returnbase.Run();
}

privatevoidSensor_OnAlarm1Raised(object sender)
{
var rtc =(Ds3232)sender;
Resolver.Log.Info("Alarm 1 has been activated: "+ rtc.CurrentDateTime.ToString("dd MMM yyyy HH:mm:ss"));
rtc.ClearInterrupt(Ds323x.Alarm.Alarm1Raised);
}

Sample project(s) available on GitHub

close