Pedro Campos
/
SERVOS_V0_3
test
RTC.cpp
- Committer:
- dapi08
- Date:
- 2021-09-07
- Revision:
- 8:b4465148d206
- Parent:
- 2:82fdfeec5799
File content as of revision 8:b4465148d206:
// // RUTINAS DE ACCESO AL RELOJ // #include "mbed.h" #include "declaraciones.h" extern st_datos_servo datos_servo; // ESTRUCTURA DE VARIABLES DE ESTADO DEL SERVO DE DIRECCION //DigitalOut myled(LED1); void getTime() { time_t timestamp = time(NULL); printf("Time: %lu\r\n", timestamp); } time_t asUnixTime(int year, int mon, int mday, int hour, int min, int sec) { struct tm t; t.tm_year = year - 1900; t.tm_mon = mon - 1; // convert to 0 based month t.tm_mday = mday; t.tm_hour = hour; t.tm_min = min; t.tm_sec = sec; t.tm_isdst = -1; // Is Daylight saving time on? 1 = yes, 0 = no, -1 = unknown return mktime(&t); // returns seconds elapsed since January 1, 1970 (begin of the Epoch) } void actualizaFechaHoraGPS(float fecha, float hora){ int year, mon, day, hour, min, sec; // printf("fecha:%f hora:%f\r\n", fecha, hora); day = (int)(fecha/10000); mon = (int)((fecha-day*10000)/100); year = ((int)fecha)%100; hour = (int)(hora/10000); min = (int)((hora-hour*10000)/100); sec = ((int)hora)%100; // printf("%02d-%02d-%02d %02d:%02d:%02d\r\n", day, mon, year, hour, min, sec); time_t epoch = asUnixTime(year+2000, mon, day, hour, min, sec); // printf("epoch:%lu\r\n", epoch); datos_servo.fecha_hora = epoch-946684800L; set_time(epoch); // Sincroniza con fecha hora del GPS // set_time(1597521600); // Set RTC time to Wed, 28 Oct 2009 11:35:37 }