Log in Register

Login to your account

Username
Password *
Remember Me

Create an account

Fields marked with an asterisk (*) are required.
Name
Username
Password *
Verify password *
Email *
Verify email *
Captcha *
Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Maison dans le Nord (xPLduino en prod)

Maison dans le Nord (xPLduino en prod) 20 Jan 2014 11:42 #11

Romain, envisages tu de faire un wiki pour la fonction TIMER?

Si non, peux tu expliquer le uint8_t _mode du TIMER?
-dans le customer.ino il y a 3 TIMER déclarés: peut on en rajouter, juste en ajoutant la ligne TIMER 4 par exemple?
-peut on se servir du même TIMER pour 2 fonctions totalement différentes (si elles ont besoin de la même tempo bien entendu)? Si oui, peut on s'en servir en même temps (c.a.dire je débute tempo 1 de 50mn, puis 10mn plus tard (donc tempo 1 encore active)je débute nouvelle tempo de 50mn pour une autre sortie?
- quelle est la syntaxe exacte du TIMER (je vois .q)?
Sad désolé suis un peu perdu...
  • jean-marc
  • Nophoto
  • OFFLINE
  • Senior Boarder
  • Rank2
  • Posts: 60
  • Thank you received: 1
  • Karma: 0
The administrator has disabled public write access.

Maison dans le Nord (xPLduino en prod) 20 Jan 2014 22:02 #12

Salut JM,

j'ai commencé un bout de wiki sur les tempos ici.

Il ne faut pas commander la même tempo à différents endroits. Par contre, tu peux utiliser le résultat autant de fois que tu veux. Tu peux reconfigurer une tempo dans le programme en faisant une nouvelle initialisation avec de nouveaux paramètres (base de temps, consigne...)

Si tu as besoin de précisions...
  • gromain
  • Avatar 2013 01 07
  • OFFLINE
  • Administrateur
  • Administrateur
  • Posts: 153
  • Thank you received: 10
  • Karma: 3
The administrator has disabled public write access.

Maison dans le Nord (xPLduino en prod) 01 Feb 2014 20:52 #13

Merci pour ces explications. C'est un peu plus clair, mais pas encore franchement lumineux...

-Dans le customer.ino il y a 3 TIMER de déclarés. Peut on en déclarer d'autres?

-TON c'est pour lancer une tempo sur une sortie qui est déjà ON (par exemple un relais qui "colle" déjà?

-TOF c'est le contraire?

Pour rester dans ton exemple de tempo de ton couloir, si tu presses ton BP avant que la tempo ne soit terminée, tu la réactives pour 5 nouvelles mn. Quel code aurais tu écris si tu voulais qu'un nouvel appui sur ton BP soit inactif jusqu'à ce que la tempo initiale soit terminée? (Pour bien comprendre TON et TOF...)
  • jean-marc
  • Nophoto
  • OFFLINE
  • Senior Boarder
  • Rank2
  • Posts: 60
  • Thank you received: 1
  • Karma: 0
The administrator has disabled public write access.

Maison dans le Nord (xPLduino en prod) 02 Feb 2014 16:36 #14

-Dans le customer.ino il y a 3 TIMER de déclarés. Peut on en déclarer d'autres?

dans le wiki:
1. dans l’en-tête du fichier customer, déclarer le nombre de TIMER à créer:
donc oui, tu peux en déclarer autant que tu veux. Le tout étant de ne pas faire référence à un n° de tempo que tu n'as pas déclaré Wink
-TON c'est pour lancer une tempo sur une sortie qui est déjà ON (par exemple un relais qui "colle" déjà?

Timer ON est une tempo qui déclenche X ms/s/min après que la condition d'activation de celle-ci soit rempli... donc ça dépend de la condition d'activation (l'état d'un switch, d'une température, d'une sortie etc.)
-TOF c'est le contraire?
je n'ai pas encore eu le temps de faire le chronogramme du TOF, mais la principale différence avec le TON est que la sortie reste à vrai pendant X ms/s/min après que les conditions d'activation disparaissent. En gros elle retarde la disparition du trigger.
Pour rester dans ton exemple de tempo de ton couloir, si tu presses ton BP avant que la tempo ne soit terminée, tu la réactives pour 5 nouvelles mn. Quel code aurais tu écris si tu voulais qu'un nouvel appui sur ton BP soit inactif jusqu'à ce que la tempo initiale soit terminée? (Pour bien comprendre TON et TOF...)

Ça donnerait quelque chose comme ça:
// uint8_t init(uint8_t _base, uint8_t _mode, uint16_t _setpoint);
    // base de temps: MILLIS, SECOND, MINUTE
    TIMER[0].init(MINUTE,TOF, 5);
    #define timer_couloir TIMER[0]
    if(pulse(bp_couloir) &! timer_couloir.q(pulse(bp_couloir)))
        toggle_light(couloir);
  • gromain
  • Avatar 2013 01 07
  • OFFLINE
  • Administrateur
  • Administrateur
  • Posts: 153
  • Thank you received: 10
  • Karma: 3
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Backtotop