Commit aadee41754ea9c26deb90a6280da22350541632e

Authored by Geoffrey PREUD'HOMME
1 parent 733c078a

Définition des états

Par Thomas
Showing 3 changed files with 56 additions and 7 deletions   Show diff stats
@@ -31,21 +31,26 @@ Voici la hiérarchie du menu qui sera utilisée pour configurer le thermostat : @@ -31,21 +31,26 @@ Voici la hiérarchie du menu qui sera utilisée pour configurer le thermostat :
31 - Température du mode jour 31 - Température du mode jour
32 - Témpérature du mode nuit 32 - Témpérature du mode nuit
33 - Réglage de la date et heure 33 - Réglage de la date et heure
  34 + - Jour de la semaine
34 - Heures 35 - Heures
35 - Minutes 36 - Minutes
36 - - Jour de la semaine  
37 37
38 On peut passer d'un menu à son menu hiérarchiquement supérieur (parent) avec le bouton retour. On passe d'un menu à un autre de niveau identique mais de même parent (frère) avec les boutons Incrémenter et Décrémenter. Lorsque l'on appuie sur le bouton valider, deux choses peuvent se produire : si le menu possède des sous-menus (enfants), il passe au premier enfant, sinon, il permettra l'édition d'une valeur que l'on poura incrémenter ou décrémenter avec les boutons du même nom, et qui seront sauvegardées à l'aide du bouton retour. 38 On peut passer d'un menu à son menu hiérarchiquement supérieur (parent) avec le bouton retour. On passe d'un menu à un autre de niveau identique mais de même parent (frère) avec les boutons Incrémenter et Décrémenter. Lorsque l'on appuie sur le bouton valider, deux choses peuvent se produire : si le menu possède des sous-menus (enfants), il passe au premier enfant, sinon, il permettra l'édition d'une valeur que l'on poura incrémenter ou décrémenter avec les boutons du même nom, et qui seront sauvegardées à l'aide du bouton retour.
39 39
  40 +<!-- TODO On bloque le choix des températures à 5,5 30,1, expliquer pourquoi on fait ça -->
  41 +
40 ## États 42 ## États
41 -- 0-1 : Veille (Heure, Température) 43 +- 01 : Veille (Heure, Température)
42 - 2 : Menu Association mode ↔ Heure de la semaine 44 - 2 : Menu Association mode ↔ Heure de la semaine
43 -- 3-9 : Menu jours (Lundi - Vendredi)  
44 -- 10-16 : Paramétrage des jours (Lundi - Vendredi) 45 +- 3→9 : Menu jours (Lundi - Vendredi)
  46 +- 10→16 : Paramétrage des jours (Lundi - Vendredi)
45 - 17 : Menu température du mode jour 47 - 17 : Menu température du mode jour
46 - 18 : Paramétrage température du mode jour 48 - 18 : Paramétrage température du mode jour
47 - 19 : Menu température du mode nuit 49 - 19 : Menu température du mode nuit
48 - 20 : Paramétrage température du mode nuit 50 - 20 : Paramétrage température du mode nuit
  51 +- 21 : Menu réglage de la date et heure
  52 +- 22→24 : Menu réglage du jour / heure / minute
  53 +- 25→27 : Paramétrage du jour / heure / minute
49 54
50 ## Stockage des données 55 ## Stockage des données
51 56
allumertous.txt 0 → 100644
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +.equ PINA = 0x00 ; définition des adresses des ports
  2 +.equ DDRA = 0x01
  3 +.equ PORTA = 0x02
  4 +.equ PINB = 0x03
  5 +.equ DDRB = 0x04
  6 +.equ PORTB = 0x05
  7 +.equ PINC = 0x06
  8 +.equ DDRC = 0x07
  9 +.equ PORTC = 0x08
  10 +
  11 +.equ RAMEND = 0x21FF
  12 +.equ SPH = 0x3E ; initialisation de la pile
  13 +.equ SPL = 0x3D
  14 +
  15 +.org 0x000
  16 + ; Vecteur RESET
  17 + jmp debut
  18 +
  19 +.org 0x0080
  20 +
  21 +debut:
  22 + DDRA@IO <- 0xFF
  23 + DDRC@IO <- 0xFF
  24 +
  25 +boucle:
  26 + PORTA@IO <- 0xFF
  27 + PORTC@IO <- 0x00
  28 + jmp boucle ; On recommence
  29 +
  30 +tempo:
  31 + ; On fait une pause
  32 + ldi r24,8
  33 +tempoA:
  34 + subi r22,1
  35 + sbci r23,0
  36 + sbci r24,0
  37 + brcc tempoA
  38 + ret
  39 +
@@ -19,7 +19,6 @@ @@ -19,7 +19,6 @@
19 .equ ADCSRA = 0x7A 19 .equ ADCSRA = 0x7A
20 .equ ADCH = 0x79 20 .equ ADCH = 0x79
21 21
22 -.equ RAMEND = 0x21FF  
23 .equ SPH = 0x3E 22 .equ SPH = 0x3E
24 .equ SPL = 0x3D 23 .equ SPL = 0x3D
25 24
@@ -105,8 +104,14 @@ watchdog: @@ -105,8 +104,14 @@ watchdog:
105 104
106 ; Interruption ADC 105 ; Interruption ADC
107 adc: 106 adc:
108 - ; TODO Lire ADCH  
109 - ; Active ou désactive la chaudière selon la température lue et celle de référence 107 + si ADCH > reference + 5 saut eteindreChaudiere
  108 + si ADCH < reference - 5 saut allumerChaudiere
  109 + reti
  110 +allumerChaudiere:
  111 + PORTC <- 0x01
  112 + reti
  113 +eteindreChaudiere:
  114 + PORTC <- 0x00
110 reti 115 reti
111 116
112 ; Interruption timer 117 ; Interruption timer