Commit 38c4096615b77b474306865c22964aaa01aa1e6e
1 parent
dd9af113
Avancement divers
Showing
1 changed file
with
18 additions
and
12 deletions
Show diff stats
principal.txt
@@ -217,11 +217,11 @@ afficherDi: | @@ -217,11 +217,11 @@ afficherDi: | ||
217 | ; Logique | 217 | ; Logique |
218 | 218 | ||
219 | agir1s: | 219 | agir1s: |
220 | - ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire | 220 | + ; Met à jour les registres de temps, active agir10s ou agirHeure si nécessaire |
221 | inc t0 | 221 | inc t0 |
222 | - si t0%5 != 0 saut ret ; Continue si on est sur un multiple de 10 secondes | 222 | + si t0%10 != 0 saut ret ; Continue si on est sur un multiple de 10 secondes |
223 | call agir10s | 223 | call agir10s |
224 | - si t0 < 30 saut ret ; Continue si on est sur un multiple de 60 secondes | 224 | + si t0 < 60 saut ret ; Continue si on est sur un multiple de 60 secondes |
225 | t0 <- 0 | 225 | t0 <- 0 |
226 | inc t1 | 226 | inc t1 |
227 | si t1 < 60 saut ret ; Continue si on est sur un multiple de 60 minutes | 227 | si t1 < 60 saut ret ; Continue si on est sur un multiple de 60 minutes |
@@ -232,12 +232,13 @@ agir1s: | @@ -232,12 +232,13 @@ agir1s: | ||
232 | t2 <- t2 & 0b11100000 ; Heure à minuit | 232 | t2 <- t2 & 0b11100000 ; Heure à minuit |
233 | si t2 >= 0b11100000 alors t2 <- 0b00000000 ; Si on est dimanche soir, on revient à lundi matin | 233 | si t2 >= 0b11100000 alors t2 <- 0b00000000 ; Si on est dimanche soir, on revient à lundi matin |
234 | agir1sHeur: | 234 | agir1sHeur: |
235 | - call agirHeur | 235 | + call agirHeure |
236 | ret | 236 | ret |
237 | 237 | ||
238 | agir10s: | 238 | agir10s: |
239 | ; Déclenche une conversion ADC | 239 | ; Déclenche une conversion ADC |
240 | ADCSRA <- 0b11011101 | 240 | ADCSRA <- 0b11011101 |
241 | + ; Switche l'état de veille si veille il y a | ||
241 | si etat = 0 saut a10sVeilleTemp | 242 | si etat = 0 saut a10sVeilleTemp |
242 | si etat = 1 saut a10sVeilleHeur | 243 | si etat = 1 saut a10sVeilleHeur |
243 | ret | 244 | ret |
@@ -251,9 +252,11 @@ a10sVeilleTemp: | @@ -251,9 +252,11 @@ a10sVeilleTemp: | ||
251 | call afficherTemperature | 252 | call afficherTemperature |
252 | ret | 253 | ret |
253 | 254 | ||
254 | -agirHeur: | 255 | +agirHeure: |
255 | ; Recharge la température de référence | 256 | ; Recharge la température de référence |
256 | - ; TODO | 257 | + temp <- (t2 / 0b00100000) * 24 + compteur |
258 | + if assocs[temp] = 0x00 alors reference <- tempJour | ||
259 | + if assocs[temp] = 0x01 alors reference <- tempNuit | ||
257 | ret | 260 | ret |
258 | 261 | ||
259 | ; Recadrage | 262 | ; Recadrage |
@@ -343,6 +346,7 @@ etatParaJoursC: | @@ -343,6 +346,7 @@ etatParaJoursC: | ||
343 | etatParaJoursS: ; Switch | 346 | etatParaJoursS: ; Switch |
344 | temp <- (etat - 10) * 24 + compteur | 347 | temp <- (etat - 10) * 24 + compteur |
345 | assocs[temp] <- (assocs[temp] + 1) & 0b00000001 | 348 | assocs[temp] <- (assocs[temp] + 1) & 0b00000001 |
349 | + call agirHeure ; Au cas où on change l'heure en cours | ||
346 | jmp etatParaJoursU | 350 | jmp etatParaJoursU |
347 | 351 | ||
348 | etatMenuTJour: | 352 | etatMenuTJour: |
@@ -363,6 +367,7 @@ etatParaTJourU: | @@ -363,6 +367,7 @@ etatParaTJourU: | ||
363 | etatParaTJourC: | 367 | etatParaTJourC: |
364 | call boundTemperature | 368 | call boundTemperature |
365 | tempJour <- compteur | 369 | tempJour <- compteur |
370 | + call agirHeure ; Au cas où on change le mode en cours | ||
366 | jmp etatParaTJourU | 371 | jmp etatParaTJourU |
367 | 372 | ||
368 | etatMenuTNuit: | 373 | etatMenuTNuit: |
@@ -383,6 +388,7 @@ etatParaTNuitU: | @@ -383,6 +388,7 @@ etatParaTNuitU: | ||
383 | etatParaTNuitC: | 388 | etatParaTNuitC: |
384 | call boundTemperature | 389 | call boundTemperature |
385 | tempNuit <- compteur | 390 | tempNuit <- compteur |
391 | + call agirHeure ; Au cas où on change le mode en cours | ||
386 | jmp etatParaTNuitU | 392 | jmp etatParaTNuitU |
387 | 393 | ||
388 | etatMenuHorloge: | 394 | etatMenuHorloge: |
@@ -419,13 +425,13 @@ etatMenuHMinu: | @@ -419,13 +425,13 @@ etatMenuHMinu: | ||
419 | 425 | ||
420 | etatParaHJour: | 426 | etatParaHJour: |
421 | etat <- 25 | 427 | etat <- 25 |
422 | - compteur <- 0 ; TODO Récupérer le jour | 428 | + compteur <- t0 / 0b00100000 |
423 | call afficherJour | 429 | call afficherJour |
424 | reti | 430 | reti |
425 | 431 | ||
426 | etatParaHJourC: | 432 | etatParaHJourC: |
427 | call boundJour | 433 | call boundJour |
428 | - ; TODO Sauvegarde | 434 | + t0 <- (compteur * 0b00100000) + (t0 & 0b00011111) |
429 | call afficherJour | 435 | call afficherJour |
430 | reti | 436 | reti |
431 | 437 | ||
@@ -506,10 +512,10 @@ valider: | @@ -506,10 +512,10 @@ valider: | ||
506 | si etat = 20 saut etatMenuTNuit | 512 | si etat = 20 saut etatMenuTNuit |
507 | si etat = 21 saut etatMenuHJour | 513 | si etat = 21 saut etatMenuHJour |
508 | si etat = 22 saut etatParaHJour | 514 | si etat = 22 saut etatParaHJour |
509 | - si etat = 23 saut etatMenuHJour | ||
510 | - si etat = 24 saut etatParaHHeur | ||
511 | - si etat = 25 saut etatMenuHHeur | ||
512 | - si etat = 26 saut etatParaHMinu | 515 | + si etat = 23 saut etatParaHHeur |
516 | + si etat = 24 saut etatParaHMinu | ||
517 | + si etat = 25 saut etatMenuHJour | ||
518 | + si etat = 26 saut etatMenuHHeur | ||
513 | si etat = 27 saut etatMenuHMinu | 519 | si etat = 27 saut etatMenuHMinu |
514 | reti ; Ne devrait pas arriver, mais permet d'éviter les dégâts | 520 | reti ; Ne devrait pas arriver, mais permet d'éviter les dégâts |
515 | 521 |