Commit dd9af113c62f9a7a33966c00bdd193fdb5d7e6fe

Authored by Geoffrey PREUD'HOMME
1 parent 10bf25f4

Réorganisation de la gestion du temps

Le watchdog ne daigne toujours pas marcher donc on va faire sans.
Showing 1 changed file with 19 additions and 11 deletions   Show diff stats
principal.txt
... ... @@ -108,12 +108,11 @@ debut:
108 108 EICRB <- 0b00000000
109 109  
110 110 ; ADC
111   - ADMUX <- 0b01110000
112   - ADCSRB <- 0b00001011
113   - ADCSRA <- 0b10011101 ; TODO Auto-trigger ?
  111 + ADMUX <- 0b01100000
  112 + ADCSRB <- 0b00000010
  113 + ADCSRA <- 0b11011110
114 114  
115 115 sei
116   - wdr
117 116  
118 117 ; Initialisation des valeurs
119 118 ; Mercredi 12h34'56
... ... @@ -218,7 +217,6 @@ afficherDi:
218 217 ; Logique
219 218  
220 219 agir1s:
221   - inc d0
222 220 ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire
223 221 inc t0
224 222 si t0%5 != 0 saut ret ; Continue si on est sur un multiple de 10 secondes
... ... @@ -238,10 +236,19 @@ agir1sHeur:
238 236 ret
239 237  
240 238 agir10s:
241   - ; Initialise une lecture ADC
242   -
243   - ; Met à jour l'état de veille (si on est en état veille)
244   -
  239 + ; Déclenche une conversion ADC
  240 + ADCSRA <- 0b11011101
  241 + si etat = 0 saut a10sVeilleTemp
  242 + si etat = 1 saut a10sVeilleHeur
  243 + ret
  244 +a10sVeilleHeur:
  245 + etat <- 0
  246 + call afficherHorloge
  247 + ret
  248 +a10sVeilleTemp:
  249 + etat <- 1
  250 + compteur <- ADCH
  251 + call afficherTemperature
245 252 ret
246 253  
247 254 agirHeur:
... ... @@ -317,7 +324,7 @@ etatMenuJoursC:
317 324  
318 325 etatParaJours:
319 326 etat <- etat + 7
320   - compteur <- 12
  327 + compteur <- t0 & 0b00011111
321 328 etatParaJoursU:
322 329 d3 <- afficheur@ROM[compteur/10]
323 330 d2 <- afficheur@ROM[compteur%10]
... ... @@ -424,7 +431,7 @@ etatParaHJourC:
424 431  
425 432 etatParaHHeur:
426 433 etat <- 26
427   - compteur <- t0 | 0b00011111
  434 + compteur <- t0 & 0b00011111
428 435 call afficherHeur
429 436 reti
430 437  
... ... @@ -559,6 +566,7 @@ timer:
559 566 ; Watchdog artificiel
560 567 inc tt
561 568 if tt < 244 saut timerRestore
  569 + ;if tt < 10 saut timerRestore ; DEBUG Avancer le temps
562 570 tt <- 0
563 571 call agir1s
564 572  
... ...