Commit 38c4096615b77b474306865c22964aaa01aa1e6e

Authored by Geoffrey PREUD'HOMME
1 parent dd9af113

Avancement divers

Showing 1 changed file with 18 additions and 12 deletions   Show diff stats
@@ -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