write

wayland/rtc-zero/write

Set the real time clock.
write
@/write
Set the real time clock.
DEV@/rtc-zero-device
An rtc-zero device.
Yearnumber
Year (YY). 24 represents 2024.
Monthnumber
Month value in range [1, 12]
Daynumber
Days value in range [1, 28-31]
Hournumber
Hours value in range [0, 23]
Minutenumber
Minutes value in range [0, 59]
Secnumber
Seconds value in range [0, 59]
UPDpulse
Update
write
DEV
Year
Month
Day
Hour
Minute
Sec
UPD
Done
Donepulse
Pulse on read.
To use the node in your project you should have the wayland/rtc-zero library installed. Use the “File → Add Library” menu item in XOD IDE if you don’t have it yet. See Using libraries for more info.

C++ implementation

#pragma XOD evaluate_on_pin disable
#pragma XOD evaluate_on_pin enable input_UPD

node {

    void evaluate(Context ctx) {
        // The node responds only if there is an input pulse
        if (!isInputDirty<input_UPD>(ctx))
            return;

        auto rtc = getValue<input_DEV>(ctx);
        rtc->setYear(getValue<input_Year>(ctx));
        rtc->setMonth(getValue<input_Month>(ctx));
        rtc->setDay(getValue<input_Day>(ctx));
        rtc->setHours(getValue<input_Hour>(ctx));
        rtc->setMinutes(getValue<input_Minute>(ctx));
        rtc->setSeconds(getValue<input_Sec>(ctx));
        emitValue<output_Done>(ctx, 1);
    }
}