Lib Time : comparer now() à une valeur sériel.

Yep!

J’utilise python et sa librairie time pour envoyer à l’arduino une valeur “epoch”, à 10 chiffres donc.

En python :

self.messageParam("vac", "%s" %(str(time.mktime((int(liste[0]), int(liste[1]), int(liste[2]), int(liste[3]), int(liste[4]), 0, 0, 0, 0)))[0:10]))

Avec liste[0], l’année, liste[1], le mois, etc. La fonction mktime permet de convertir le tuple en valeur secondes, sous unix, c’est à partir du 1er janvier 1970 à 0 heure (UTC).

La librairie Time arduino utilise la même réference et je pensais pouvoir comparer ces valeurs ad’hoc.

...
unsigned long timeAbsence;
...
if (quelquechose) { timeAbsence = string2long(TRAME[2]); }
...
long string2long(char* data) { return atol(data); }
...

A partir de mon logiciel client, j’arrive à piloter mon installation, modifier des valeurs flottantes ou integrales, mettre l’installation en marche auto ou off, activer/désactiver les relais…
Cependant, le mode absence et vacances sont non fonctionnels à ce stade.

En regardant de mon oeil naif la librairie, j’ai cru comprendre que la fonction now() est une variable time_t ou encore unsigned long

Quand je déclare time_t timeAbsence;, le compilateur ne me donne pas d’erreur, mais bon là je suis en déplacement, je testerais à mon retour.

Il vient d’où ce time_t !!! Time.h << typedef unsigned long time_t;

…Avez vous des suggestions ???

@+

Zoroastre.

Salut,

Essaye d’inclure la bibliothèque standard time, c’est elle qui définit le type time_t :

#include <time.h>