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
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  
... ...