V03 config RTC+envoie 1 donnée/seconde
Dependencies: mbed LoRaWAN-lib SX1272Lib
app/unixtimestamp.cpp
- Committer:
- MGstic
- Date:
- 2019-01-23
- Revision:
- 10:1a85ff06be1a
File content as of revision 10:1a85ff06be1a:
#include "unixtimestamp.h" int unix_timestamp (int date[6]) { int seconde = 0; int bi; bi = bissextile (date[5]); seconde = date[2] + (60 * date[1]) + (3600 * date[0]) + (86400 * (date[3] - 1)); seconde += an_to_s (date[5]) + mois_to_s (date[4], bi); return seconde; } int bissextile (int an) { int bi = 0; if (((an % 4 == 0) && (an % 100 != 0)) || (an % 400 == 0)) { bi = 1; } return bi; } int mois_to_s (int tab, int bi) { int sec; int jour = 0; for (int i = 1; i <= tab - 1; i++) { if (i == 2 && bi) { jour += 29; } else if (i == 2) { jour += 28; } else if ((i == 1) || (i == 3) || (i == 5) || (i == 7) || (i == 8) || (i == 10) || (i == 12)) { jour += 31; } else { jour += 30; } } sec = jour * 86400; return sec; } int an_to_s (int an) { int seco = 0; for (int i = 1970; i <= an - 1; i++) { if (bissextile (i)) { seco += 366 * 86400; } else { seco += 365 * 86400; } } return seco; } void Whex_buffer(int deb,int tab[8]) { unsigned int mask=0x0000000F; for (int j =0;j<=7;j++) { int i=(deb&mask) ; tab[7-j]=i; //printf("%X\n",i); deb>>=4; } }