IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

localtime dans mon application, pas de mise à jour


Sujet :

Embarqué

  1. #1
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut localtime dans mon application, pas de mise à jour
    Bonjour à tous,


    J'ai un souci que je ne comprend pas car fut un temps cela fonctionnait parfaitement, plusieurs semaine de test.

    j'ai un petit serveur linux DIGI9210.

    Je lui donne l'information de sa timezone dans une variable d'environnement.

    TZ=WET-1WEST,M3.5.0/2,M10.5.0/3

    Lorsque j'interroge mon système à l'aide d'un shell par telnet, commande "date" j'ai bien mon horloge parfaitement à l'heure et synchro avec mon PC qui interroge le même serveur NTP.
    Par contre j'ai un souci avec mon appli en C, qui entre autre, doit récupérer cette date et heure, afin de la transmettre au notre automate.

    Le souci c'est que la commande en C de localtime ou gmtime, me donne exactement la même heure, en d'autre terme je n'est pas l'effet de mise à l'heure local dans mon appli je n'est que le GMT.

    Auriez vous une idée s'il vous plais, cela m'agace car cela fonctionnait, la variable d'environnement est bien présente a chaque redémarrage. Le système se met à 1970 lors du boot (j'ai pas de sauvegarde) puis bascule bien à la bonne heure et date dès qu'il trouve le NTP.

  2. #2
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut
    Bonjour,

    j'ai fait un test.
    j'ai la possibilité de ne pas démarrer mon application serveur en utilisant les GPIO. A la place ce me lance un shell sur le port COM. Du coup j'ai démarré le serveur et j'ai lancé à la main le logiciel serveur, et la j'ai bien mon localtime correct.

    Lorsque l'on flash le serveur vierge, on envoie linux avec un petit logiciel de gestion et j'ai modifier inittab pour que ce logiciel soit démarré (à la fin du fichier inittab).
    Ensuite on envoie en FTP, suivant l'automate qu'il y a derrière, le logiciel serveur avec d'autre truc comme notre snmpd, un fichier de configuration, ainsi que un fichier S77tz.sh que l'on place dans /etc/init.d, ce fichier a pour but de récupérer la commande TZ dans le fichier de configuration et de fabriquer un fichier 02.tz.sh qu'il place dans etc/profie.d/ avec export TZ=WET-1WEST,M3.5.0/2,M10.5.0/3, pour la france. Au redémarrage ce fichier 02.tz.sh inscrit le TZ dans les variables d'environnement. Ainsi lorsque le client modifie son fichier de configuration, suivant sa position, a chaque démarrage il change sa variable d'environnement.

    Ensuite notre petit logiciel de gestion démarre, il vérifie si le logiciel de gestion est présent et les entrées GPIO. Ssi pas d'entre GPIO et logiciel présent il le démarre et contrôle que son PID est toujours actif (complet de sécurité du watchdog). mais c'est donc ce logiciel de gestion qui démarre le logiciel serveur.
    Et dans ce cas il ne prend pas le localtime. (pourtant cela eue fonctionné)

    Comment faire pour que le TZ soit actif pour tous les softs, même ceux lancé par un autre.

  3. #3
    Membre averti Avatar de megamario
    Homme Profil pro
    VB6/VB.net/C/C++/C#
    Inscrit en
    Septembre 2008
    Messages
    929
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : VB6/VB.net/C/C++/C#
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2008
    Messages : 929
    Points : 312
    Points
    312
    Par défaut
    Bon j'ai réussi, mais je comprend absolument pas pourquoi cela a fonctionné.

    Ce que j'ai fait est simple, vu que pour le système (linux) cela fonctionne j'ai rien touché.
    Et vu que mon appli serveur a accès au fichier de configuration, je refait un setenv de TZ et de sa valeur pendant ma phase d'initialisation et cela fonctionne.
    Mais pourquoi j'ai besoin de faire cela maintenant je sais pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] pas de mise à jour dans la requête facturation
    Par chermiti10 dans le forum Modélisation
    Réponses: 2
    Dernier message: 18/03/2015, 08h24
  2. Mise en place de sous-domaines dans mon application.
    Par slake13 dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 12/05/2009, 16h27
  3. [Struts Menu] ne marche pas dans mon application
    Par menzlitsh dans le forum Struts 1
    Réponses: 1
    Dernier message: 29/10/2006, 12h07
  4. QReport, pas de mise à jour dans les TQRMemo
    Par kurkaine dans le forum Delphi
    Réponses: 4
    Dernier message: 18/09/2006, 19h40
  5. QReport, pas de mise à jour dans les TQRMemo
    Par kurkaine dans le forum C++Builder
    Réponses: 6
    Dernier message: 16/09/2006, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo