Commit dd9af113c62f9a7a33966c00bdd193fdb5d7e6fe
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,12 +108,11 @@ debut: | ||
108 | EICRB <- 0b00000000 | 108 | EICRB <- 0b00000000 |
109 | 109 | ||
110 | ; ADC | 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 | sei | 115 | sei |
116 | - wdr | ||
117 | 116 | ||
118 | ; Initialisation des valeurs | 117 | ; Initialisation des valeurs |
119 | ; Mercredi 12h34'56 | 118 | ; Mercredi 12h34'56 |
@@ -218,7 +217,6 @@ afficherDi: | @@ -218,7 +217,6 @@ afficherDi: | ||
218 | ; Logique | 217 | ; Logique |
219 | 218 | ||
220 | agir1s: | 219 | agir1s: |
221 | - inc d0 | ||
222 | ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire | 220 | ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire |
223 | inc t0 | 221 | inc t0 |
224 | si t0%5 != 0 saut ret ; Continue si on est sur un multiple de 10 secondes | 222 | si t0%5 != 0 saut ret ; Continue si on est sur un multiple de 10 secondes |
@@ -238,10 +236,19 @@ agir1sHeur: | @@ -238,10 +236,19 @@ agir1sHeur: | ||
238 | ret | 236 | ret |
239 | 237 | ||
240 | agir10s: | 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 | ret | 252 | ret |
246 | 253 | ||
247 | agirHeur: | 254 | agirHeur: |
@@ -317,7 +324,7 @@ etatMenuJoursC: | @@ -317,7 +324,7 @@ etatMenuJoursC: | ||
317 | 324 | ||
318 | etatParaJours: | 325 | etatParaJours: |
319 | etat <- etat + 7 | 326 | etat <- etat + 7 |
320 | - compteur <- 12 | 327 | + compteur <- t0 & 0b00011111 |
321 | etatParaJoursU: | 328 | etatParaJoursU: |
322 | d3 <- afficheur@ROM[compteur/10] | 329 | d3 <- afficheur@ROM[compteur/10] |
323 | d2 <- afficheur@ROM[compteur%10] | 330 | d2 <- afficheur@ROM[compteur%10] |
@@ -424,7 +431,7 @@ etatParaHJourC: | @@ -424,7 +431,7 @@ etatParaHJourC: | ||
424 | 431 | ||
425 | etatParaHHeur: | 432 | etatParaHHeur: |
426 | etat <- 26 | 433 | etat <- 26 |
427 | - compteur <- t0 | 0b00011111 | 434 | + compteur <- t0 & 0b00011111 |
428 | call afficherHeur | 435 | call afficherHeur |
429 | reti | 436 | reti |
430 | 437 | ||
@@ -559,6 +566,7 @@ timer: | @@ -559,6 +566,7 @@ timer: | ||
559 | ; Watchdog artificiel | 566 | ; Watchdog artificiel |
560 | inc tt | 567 | inc tt |
561 | if tt < 244 saut timerRestore | 568 | if tt < 244 saut timerRestore |
569 | + ;if tt < 10 saut timerRestore ; DEBUG Avancer le temps | ||
562 | tt <- 0 | 570 | tt <- 0 |
563 | call agir1s | 571 | call agir1s |
564 | 572 |