Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
Trouver l'écart entre deux dates !
Trouver l'écart entre deux dates !
Bon comme d'ab
je suis un peu long a comprendre. Pardon Pardon, bon stop il ne faut pas en abuser
Tu veux savoir le TEMPS qui reste entre 2 dates et de plus c'est dans le titre je pensais que tu voulez faire un réveil ou une alerte pour allumer ta lampe.
si oui tu fais une soustraction sur les nombres horaire, comme on a du te l’apprend a l’école
puis une conversion en minutes c'est bien déjà
je suis un peu long a comprendre. Pardon Pardon, bon stop il ne faut pas en abuser
Tu veux savoir le TEMPS qui reste entre 2 dates et de plus c'est dans le titre je pensais que tu voulez faire un réveil ou une alerte pour allumer ta lampe.
si oui tu fais une soustraction sur les nombres horaire, comme on a du te l’apprend a l’école
Trouver l'écart entre deux dates !
-
Jérémy

Administrateur du site- Messages : 2750
- Âge : 46
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Tu veux savoir le TEMPS qui reste entre 2 dates et de plus c'est dans le titre je pensais que tu voulez faire un réveil ou une alerte pour allumer ta lampe.
Oui . Mais c'est pour faire allumer ma lampe a une certaine date en mode "reveil" . En mode "chrono elle s'allume dans un certains temps .
En fait ca revient au même, sauf que la personne n'est pas oblige de se cogner le calcul . LA valeur que je sort et alors mon chronomètre qui décompte . au bout du chrono paf la prise s'allume !
Le problème n'est pas trop sur l'heure mais sur les jours et les mois.
De plus il faut que je puisse calculer en temps réel si la personne demande en cours de route le temps qu'il reste, grace au mot clé "etat" envoyer a mon module !
Trouver l'écart entre deux dates !
DONC ce que tu veux c'est 2 choses
1/ le 2/10/16 23:00:00 la lampe s'allume .c'est une comparaison entre 2 chaînes la chaîne butée SMS et la chaîne temps réelle et tant que tu 'n’as pas zero de cette comparaison tu n'allumeras pas la lampe
la fonction est du style valeur= Strcmp(chaine1,chaine 2) ; //si valeur =0 alors j’allume ma lampe sinon suite
2/Pour le temps restant soustraction nb horaire. Tu peux même lui donner sous le format horaire
1/ le 2/10/16 23:00:00 la lampe s'allume .c'est une comparaison entre 2 chaînes la chaîne butée SMS et la chaîne temps réelle et tant que tu 'n’as pas zero de cette comparaison tu n'allumeras pas la lampe
la fonction est du style valeur= Strcmp(chaine1,chaine 2) ; //si valeur =0 alors j’allume ma lampe sinon suite
2/Pour le temps restant soustraction nb horaire. Tu peux même lui donner sous le format horaire
Modifié en dernier par Anonymous le lun. 12 sept. 2016 18:18, modifié 1 fois.
Trouver l'écart entre deux dates !
- paulfjujo

Maître- Messages : 3260
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
oui tu as compris ! mais je ne vois comment en comparant les deux chaines je pourrais déterminer une duree en secondes ?
je pense que cela ne pourrait etre valable que si tu pouvais disposer, dans ton code , de la date et heure en cours
(via un RTC DSxxx) et que ta boucle principale tourne à moins de 1 seconde..
pour pouvoir comparer les 2 chaines "temporelles" , celle recu par le GSM et celle du RTC (transformée en chaine)
mais je doute que tu puisse tourner à <=1 seconde dans ta boucle principale. sans rater 1 seconde
2/Pour le temps restant soustraction nb horaire. Tu peux même (pépé) lui donner sous le format horaire
Dans ce cas, ce pourrait etre jouable, avec un test
Consigne chaine -> Entier long
GSM chaine -> entier long
si RTC lon > RTC GSM allume la lampe.. à quelques secondes pres
Code : Tout sélectionner
GSM Consigne Au diable les secondes!
12 sep 17H54 13 Octobre 02H00
09 121 754 pour 10 130 200
si GSMS > Consigne allume la lampeTrouver l'écart entre deux dates !
-
Jérémy

Administrateur du site- Messages : 2750
- Âge : 46
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
J'avoue tout ......
Je ne peux pas comparer le temps réel du module avec l'heure programmé , tout simplement que je compte éteindre le module pour augmenter la durée de vie de la batterie !.
J'insiste sur le fait d'enregistrer la date et l'heure reçues par sms comme consignes .
Calculer par rapport à l'heure de la réception de ce message le temps qui sépare les deux dates . en sortir une valeur .
Je peux ensuite lancé mon chrono qui va décompter cette valeur . et je pourrais aussi éteindre mon module .mais le chrono continuera de décompter !
Vous voyez le principe !
je ne serais pas a seconde prêt, car ces le pic qui cadencera mon chrono ! mais sur quelques jours le delta ne devrait pas tres gros genre 5 ou 10 secondes !
Je ne peux pas comparer le temps réel du module avec l'heure programmé , tout simplement que je compte éteindre le module pour augmenter la durée de vie de la batterie !.
J'insiste sur le fait d'enregistrer la date et l'heure reçues par sms comme consignes .
Calculer par rapport à l'heure de la réception de ce message le temps qui sépare les deux dates . en sortir une valeur .
Je peux ensuite lancé mon chrono qui va décompter cette valeur . et je pourrais aussi éteindre mon module .mais le chrono continuera de décompter !
Vous voyez le principe !
je ne serais pas a seconde prêt, car ces le pic qui cadencera mon chrono ! mais sur quelques jours le delta ne devrait pas tres gros genre 5 ou 10 secondes !
Trouver l'écart entre deux dates !
- paulfjujo

Maître- Messages : 3260
- Âge : 75
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Ca devrait bien le faire avec time.h !mais il faut s'assurer que la trame GSM soit toujours bien cadrée !
si commence par '2' ou par '0x20' ' 2'
Code : Tout sélectionner
#include "timelib.h"
TimeStruct ts1, ts2 ;
long epoch1,epoch2 ;
long diff ;
... main ...
CRLF1();
UART1_Write_CText(" TIME FUNCTIONS TESTS: \r\n ");
ts1.ss = 0 ;
ts1.mn = 10 ;
ts1.hh = 17 ;
ts1.md = 12 ;
ts1.mo = 9 ;
ts1.yy = 2016 ;
ts2.ss = 5 ;
ts2.mn = 10 ;
ts2.hh = 18 ;
ts2.md = 12 ;
ts2.mo = 9 ;
ts2.yy = 2016 ;
/*
* What is the epoch of the date in ts ?
GSM AA/MM/JJ HH:MM:SS
2/10/16 23:00:00
*/
// ts1 Avant et ts2 Plus tard
UART1_Write_CText("Date &t1 debut 2016/09/12 17H10M00S =");
epoch1 = Time_dateToEpoch(&ts1) ;
LongWordToStr(epoch1,CRam1);
UART1_Write_Text(CRam1);
CRLF1() ;
UART1_Write_CText("Date &t2 Fin 2016/09/12 18H10M00S= ");
epoch2 = Time_dateToEpoch(&ts2) ;
LongWordToStr(epoch2,CRam1);
UART1_Write_Text(CRam1);
CRLF1() ;
UART1_Write_CText("Difference =");
diff = Time_dateDiff(&ts1, &ts2) ;
LongWordToStr(diff,CRam1);
UART1_Write_Text(CRam1);
CRLF1();
UART1_Write_CText("Date &t1 debut 2016/09/12 17H10M00S\r\n ");
UART1_Write_CText("Date &T2 Fin =");
strConstRamCpy(txt,"12/09/16 19:11:05");
UART1_Write_Text(txt);
CRLF1();
ts2.ss = (*(txt+15)-48)*10+ *(txt+16)-48;0 ;
ts2.mn = (*(txt+12)-48)*10+ *(txt+13)-48;
ts2.hh = (*(txt+9)-48)*10+ *(txt+10)-48;
ts2.yy = (*(txt+6)-48)*10+ *(txt+7)-48 + 2000;
ts2.mo = (*(txt+3)-48)*10+ *(txt+4)-48;
ts2.md= (*(txt)-48)*10+ *(txt+1)-48;
diff = Time_dateDiff(&ts1, &ts2) ;
UART1_Write_CText("Difference =");
LongWordToStr(diff,CRam1);
UART1_Write_Text(CRam1);
CRLF1();
while(1);
TIME FUNCTIONS TESTS:
Date &t1 debut 2016/09/12 17H10M00S =1473700200
Date &t2 Fin 2016/09/12 18H10M00S= 1473703805
Difference = 3605
Date &t1 debut 2016/09/12 17H10M00S
Date &T2 Fin =12/09/16 19:11:05
Difference = 7265
Trouver l'écart entre deux dates !
-
Jérémy

Administrateur du site- Messages : 2750
- Âge : 46
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Voila qui est exactement ce que j'essayais de faire hier soir .
Mais la ligne #include "timelib.h", m'indiquait uen erreur à la compilation .
dans les lib sur mikroC je ne voyais pas la fonction Time_dateDiff seulement les deux autres !
As tu télécharger la librairie en question ? ou fait une manipulation particulière ?
Mais la ligne #include "timelib.h", m'indiquait uen erreur à la compilation .
dans les lib sur mikroC je ne voyais pas la fonction Time_dateDiff seulement les deux autres !
As tu télécharger la librairie en question ? ou fait une manipulation particulière ?
Trouver l'écart entre deux dates !
Trouver l'écart entre deux dates !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

