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 | 217 | ; Logique |
218 | 218 | |
219 | 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 | 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 | 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 | 225 | t0 <- 0 |
226 | 226 | inc t1 |
227 | 227 | si t1 < 60 saut ret ; Continue si on est sur un multiple de 60 minutes |
... | ... | @@ -232,12 +232,13 @@ agir1s: |
232 | 232 | t2 <- t2 & 0b11100000 ; Heure à minuit |
233 | 233 | si t2 >= 0b11100000 alors t2 <- 0b00000000 ; Si on est dimanche soir, on revient à lundi matin |
234 | 234 | agir1sHeur: |
235 | - call agirHeur | |
235 | + call agirHeure | |
236 | 236 | ret |
237 | 237 | |
238 | 238 | agir10s: |
239 | 239 | ; Déclenche une conversion ADC |
240 | 240 | ADCSRA <- 0b11011101 |
241 | + ; Switche l'état de veille si veille il y a | |
241 | 242 | si etat = 0 saut a10sVeilleTemp |
242 | 243 | si etat = 1 saut a10sVeilleHeur |
243 | 244 | ret |
... | ... | @@ -251,9 +252,11 @@ a10sVeilleTemp: |
251 | 252 | call afficherTemperature |
252 | 253 | ret |
253 | 254 | |
254 | -agirHeur: | |
255 | +agirHeure: | |
255 | 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 | 260 | ret |
258 | 261 | |
259 | 262 | ; Recadrage |
... | ... | @@ -343,6 +346,7 @@ etatParaJoursC: |
343 | 346 | etatParaJoursS: ; Switch |
344 | 347 | temp <- (etat - 10) * 24 + compteur |
345 | 348 | assocs[temp] <- (assocs[temp] + 1) & 0b00000001 |
349 | + call agirHeure ; Au cas où on change l'heure en cours | |
346 | 350 | jmp etatParaJoursU |
347 | 351 | |
348 | 352 | etatMenuTJour: |
... | ... | @@ -363,6 +367,7 @@ etatParaTJourU: |
363 | 367 | etatParaTJourC: |
364 | 368 | call boundTemperature |
365 | 369 | tempJour <- compteur |
370 | + call agirHeure ; Au cas où on change le mode en cours | |
366 | 371 | jmp etatParaTJourU |
367 | 372 | |
368 | 373 | etatMenuTNuit: |
... | ... | @@ -383,6 +388,7 @@ etatParaTNuitU: |
383 | 388 | etatParaTNuitC: |
384 | 389 | call boundTemperature |
385 | 390 | tempNuit <- compteur |
391 | + call agirHeure ; Au cas où on change le mode en cours | |
386 | 392 | jmp etatParaTNuitU |
387 | 393 | |
388 | 394 | etatMenuHorloge: |
... | ... | @@ -419,13 +425,13 @@ etatMenuHMinu: |
419 | 425 | |
420 | 426 | etatParaHJour: |
421 | 427 | etat <- 25 |
422 | - compteur <- 0 ; TODO Récupérer le jour | |
428 | + compteur <- t0 / 0b00100000 | |
423 | 429 | call afficherJour |
424 | 430 | reti |
425 | 431 | |
426 | 432 | etatParaHJourC: |
427 | 433 | call boundJour |
428 | - ; TODO Sauvegarde | |
434 | + t0 <- (compteur * 0b00100000) + (t0 & 0b00011111) | |
429 | 435 | call afficherJour |
430 | 436 | reti |
431 | 437 | |
... | ... | @@ -506,10 +512,10 @@ valider: |
506 | 512 | si etat = 20 saut etatMenuTNuit |
507 | 513 | si etat = 21 saut etatMenuHJour |
508 | 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 | 519 | si etat = 27 saut etatMenuHMinu |
514 | 520 | reti ; Ne devrait pas arriver, mais permet d'éviter les dégâts |
515 | 521 | ... | ... |