22 lines
		
	
	
		
			673 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			673 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _RTC_H
 | 
						|
#define _RTC_H
 | 
						|
 | 
						|
#include "globals.h"
 | 
						|
#include <Wire.h> // must be included here so that Arduino library object file references work
 | 
						|
#include <RtcDS3231.h>
 | 
						|
 | 
						|
typedef enum {
 | 
						|
  useless = 0,     // waiting for good enough signal
 | 
						|
  dirty = 1,       // time data available but inconfident
 | 
						|
  reserve = 2,     // clock was once synced but now may deviate
 | 
						|
  synced_LORA = 3, // clock driven by LORAWAN network
 | 
						|
  synced_GPS = 4   // best possible quality, clock is driven by GPS
 | 
						|
} clock_state_t;
 | 
						|
 | 
						|
int rtc_init(void);
 | 
						|
int set_rtc(uint32_t UTCTime, clock_state_t state);
 | 
						|
int set_rtc(RtcDateTime now, clock_state_t state);
 | 
						|
uint32_t get_rtc();
 | 
						|
float get_rtc_temp();
 | 
						|
 | 
						|
#endif |