experiments with Pylontech/GroWatt PV tech
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*
* TimeRTC.pde * example code illustrating Time library with Real Time Clock. * * This example requires Markus Lange's Arduino Due RTC Library * https://github.com/MarkusLange/Arduino-Due-RTC-Library
*/
#include <TimeLib.h>
#include <rtc_clock.h>
// Select the Slowclock source
//RTC_clock rtc_clock(RC);
RTC_clock rtc_clock(XTAL);
void setup() { Serial.begin(9600); rtc_clock.init(); if (rtc_clock.date_already_set() == 0) { // Unfortunately, the Arduino Due hardware does not seem to
// be designed to maintain the RTC clock state when the
// board resets. Markus described it thusly: "Uhh the Due
// does reset with the NRSTB pin. This resets the full chip
// with all backup regions including RTC, RTT and SC. Only
// if the reset is done with the NRST pin will these regions
// stay with their old values."
rtc_clock.set_time(__TIME__); rtc_clock.set_date(__DATE__); // However, this might work on other unofficial SAM3X boards
// with different reset circuitry than Arduino Due?
} setSyncProvider(getArduinoDueTime); if(timeStatus()!= timeSet) Serial.println("Unable to sync with the RTC"); else Serial.println("RTC has set the system time"); }
time_t getArduinoDueTime() { return rtc_clock.unixtime(); }
void loop() { digitalClockDisplay(); delay(1000); }
void digitalClockDisplay(){ // digital clock display of the time
Serial.print(hour()); printDigits(minute()); printDigits(second()); Serial.print(" "); Serial.print(day()); Serial.print(" "); Serial.print(month()); Serial.print(" "); Serial.print(year()); Serial.println(); }
void printDigits(int digits){ // utility function for digital clock display: prints preceding colon and leading 0
Serial.print(":"); if(digits < 10) Serial.print('0'); Serial.print(digits); }
|