Remarks

RTC
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Grove.RTCs.RTC

Code Example

RTC rtc;

public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");

    rtc = new RTC(Device.CreateI2cBus());

    return Task.CompletedTask;
}

public override Task Run()
{
    var running = rtc.IsRunning;

    Resolver.Log.Info($"{(running ? "is running" : "is not running")}");

    if (!running)
    {
        Resolver.Log.Info(" Starting RTC...");
        rtc.IsRunning = true;
    }

    var dateTime = rtc.GetTime();
    Resolver.Log.Info($" RTC current time is: {dateTime:MM/dd/yy HH:mm:ss}");

    Resolver.Log.Info($" Setting RTC to : {dateTime:MM/dd/yy HH:mm:ss}");
    dateTime = new DateTime(2030, 2, 15);
    rtc.SetTime(dateTime);

    dateTime = rtc.GetTime();
    Resolver.Log.Info($" RTC current time is: {dateTime:MM/dd/yy HH:mm:ss}");

    var rand = new Random();

    var data = new byte[56];

    for (int i = 0; i < 56; i++)
    {
        data[i] = (byte)rand.Next(256);
    }

    Resolver.Log.Info($" Writing to RTC RAM   : {BitConverter.ToString(data)}");
    rtc.WriteRAM(0, data);
    Resolver.Log.Info($" Reading from RTC RAM : ");
    data = rtc.ReadRAM(0, 56);
    Resolver.Log.Info(BitConverter.ToString(data));

    return Task.CompletedTask;
}

Sample project(s) available on GitHub

Wiring Example

RTC Meadow Pin
GND GND
VCC 3.3V
RX D01
TX D00
Characteristic Locus
Inheritance object Ds1307 > RTC
Implements II2cPeripheral
Inherited Members Ds1307.GetTime() Ds1307.SetTime(DateTime) Ds1307.ReadRAM(int, int) Ds1307.WriteRAM(int, params byte[]) Ds1307.SquareWaveOutput(Ds1307.SquareWaveFrequency) Ds1307.DefaultI2cAddress Ds1307.IsRunning object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()
Namespace Meadow.Foundation.Grove.RTCs
Assembly RTC.dll

Syntax

public class RTC : Ds1307, II2cPeripheral

Constructors

RTC(II2cBus)

Creates an RTC driver

Declaration
public RTC(II2cBus bus)

Parameters

Type Name Description
II2cBus bus

Remarks

RTC
Status Status badge: working
Source code GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Grove.RTCs.RTC

Code Example

RTC rtc;

public override Task Initialize()
{
    Resolver.Log.Info("Initialize...");

    rtc = new RTC(Device.CreateI2cBus());

    return Task.CompletedTask;
}

public override Task Run()
{
    var running = rtc.IsRunning;

    Resolver.Log.Info($"{(running ? "is running" : "is not running")}");

    if (!running)
    {
        Resolver.Log.Info(" Starting RTC...");
        rtc.IsRunning = true;
    }

    var dateTime = rtc.GetTime();
    Resolver.Log.Info($" RTC current time is: {dateTime:MM/dd/yy HH:mm:ss}");

    Resolver.Log.Info($" Setting RTC to : {dateTime:MM/dd/yy HH:mm:ss}");
    dateTime = new DateTime(2030, 2, 15);
    rtc.SetTime(dateTime);

    dateTime = rtc.GetTime();
    Resolver.Log.Info($" RTC current time is: {dateTime:MM/dd/yy HH:mm:ss}");

    var rand = new Random();

    var data = new byte[56];

    for (int i = 0; i < 56; i++)
    {
        data[i] = (byte)rand.Next(256);
    }

    Resolver.Log.Info($" Writing to RTC RAM   : {BitConverter.ToString(data)}");
    rtc.WriteRAM(0, data);
    Resolver.Log.Info($" Reading from RTC RAM : ");
    data = rtc.ReadRAM(0, 56);
    Resolver.Log.Info(BitConverter.ToString(data));

    return Task.CompletedTask;
}

Sample project(s) available on GitHub

Wiring Example

RTC Meadow Pin
GND GND
VCC 3.3V
RX D01
TX D00