#include "Date_heure.h" #include //tableau de char pour la gestion des jour par mois int jParM[12]={31,28,31,30,31,30,31,31,30,31,30,31}; /*_____________________________________________fonction validation minute____________________________*/ int VAL_MINUTE(int MINUTE) { if (MINUTE>59){ MINUTE=0; }; if (MINUTE<0){ MINUTE=59; }; return MINUTE; } /*_____________________________________________fonction validation heure____________________________*/ int VAL_HEURE(int HEURE) { if (HEURE>23){ HEURE=0; }; if (HEURE<0){ HEURE=23; }; return HEURE; } /*_____________________________________________fonction validation mois____________________________*/ int VAL_MOIS(int MOIS) { if (MOIS>12){ MOIS=1; }; if (MOIS<1){ MOIS=12; }; return MOIS; } /*_____________________________________________fonction validation annee____________________________*/ int VAL_ANNEE(int ANNEE) { if (ANNEE>2100){ ANNEE=2012; }; if (ANNEE<1){ ANNEE=2012; }; return ANNEE; } /*_____________________________________________fonction validation jour____________________________*/ int VAL_JOUR(int JOUR, int MOIS, int ANNEE) { if (MOIS==1||MOIS==3||MOIS==5||MOIS==7||MOIS==8||MOIS==10||MOIS==12){ if (JOUR<1){ JOUR=31; }; if (JOUR>31){ JOUR=1; }; }; ////////////////////////////////////////////////////////////////////////////// if (MOIS==4||MOIS==6||MOIS==9||MOIS==11){ if (JOUR<1){ JOUR=30; }; if (JOUR>30){ JOUR=1; }; }; /////////////////////////////////////////////////////////////////////////// if (MOIS==2&&bisex(ANNEE)==true){ if (JOUR<1){ JOUR=29; }; if (JOUR>29){ JOUR=1; }; }; //////////////////////////////////////////////////////////////////////////// if (MOIS==2&&bisex(ANNEE)==false){ if (JOUR<1){ JOUR=28; }; if (JOUR>28){ JOUR=1; }; }; return JOUR; } bool bisex(int annee){ //ce qui suit permet de determiner si l'annéee et bisextile renvoi vrai ou faux int r1; if(annee%400==0){ r1=1; } else{ r1=0; }; int r2; if(annee%100==0){ r2=1; } else{ r2=0; }; int r3; if(annee%4==0){ r3=1; } else{ r3=0; }; int reponse; if(r1-r2+r3==1){ reponse=true; } else{ reponse=false; }; return reponse; } /*_____________________________________________fonction evenement____________________________*/ boolean Evenement(Date*date_1,Date*date){ boolean reponse=false; if( (date->a-date_1->a)==0 && (date->m-date_1->m)==0 &&(date->j-date_1->j)>=0){ reponse=true;//Serial.println(" 1 Vrai"); }else if((date->a-date_1->a)==0 && (date->m-date_1->m)>=0){ reponse=true;//Serial.println(" 2 Vrai"); } else if((date->a-date_1->a)>0){ reponse=true;//Serial.println(" 3 Vrai"); }else{//Serial.println(" faux"); } return reponse; } /*_____________________________________________fonction evenement____________________________*/ boolean Evenement(int j_1,int m_1,int a_1,int j,int m,int a){ boolean reponse=false; if( (a-a_1)==0 && (m-m_1)==0 &&(j-j_1)>=0){ reponse=true;//Serial.println(" 1 Vrai"); }else if((a-a_1)==0 && (m-m_1)>=0){ reponse=true;//Serial.println(" 2 Vrai"); } else if((a-a_1)>0){ reponse=true;//Serial.println(" 3 Vrai"); }else{//Serial.println(" faux"); } return reponse; } /*_____________________________________________fonction evenement____________________________*/ boolean Evenement(int j_1,int m_1,int a_1,Date*date){ boolean reponse=false; if( (date->a-a_1)==0 && (date->m-m_1)==0 &&(date->j-j_1)>=0){ reponse=true;//Serial.println(" 1 Vrai"); }else if((date->a-a_1)==0 && (date->m-m_1)>=0){ reponse=true;//Serial.println(" 2 Vrai"); } else if((date->a-a_1)>0){ reponse=true;//Serial.println(" 3 Vrai"); }else{//Serial.println(" faux"); } return reponse; } /*_____________________________________________fonction evenement____________________________*/ boolean Momment(int heure, int minute, int seconde ,Heure*Hrtc){ boolean reponse=false; if( (Hrtc->h-heure)==0 && (Hrtc->m-minute)==0 &&(Hrtc->s-seconde)>=0){ reponse=true; } if( (Hrtc->h-heure)==0 && (Hrtc->m-minute)>=0){ reponse=true; } if((Hrtc->h-heure)>0){ reponse=true; } #ifdef DEBUG_SERIAL if (reponse==true){ Serial.println(F("Momment OK")); } else{ Serial.println(F(" Momment pas OK")); }; #endif return reponse; } /*_____________________________________________fonction evenement____________________________*/ boolean Momment(Heure*heure_T,Heure*heure){ boolean reponse=false; if( (heure->h-heure_T->h)==0 && (heure->m-heure_T->m)==0 &&(heure->s-heure_T->s)>=0){ reponse=true; } if( (heure->h-heure_T->h)==0 && (heure->m-heure_T->m)>=0){ reponse=true; } if((heure->h-heure_T->h)>0){ reponse=true; } #ifdef DEBUG_SERIAL if (reponse==true){ Serial.println(F("Momment OK")); } else{ Serial.println(F(" Momment pas OK")); }; #endif return reponse; } /*_____________________________________________fonction convertion de long heur en heur minute seconde____________________________*/ void convertHeur(long *h,int *heure, int *minute,int *seconde){ *heure=(*h/3600);//heure entiere *minute=(*h/60)-((*heure)*60);// les minute entiere *seconde=*h-((*minute)*60)-(((*heure)*60)); //les seconde entiere return; }