@@ -17,22 +17,19 @@ class LCD_DataTable(Adafruit_CharLCDPlate):
17
17
# Limited to 4 characters,
18
18
# position is left or right,
19
19
# line is 1-4
20
- def labelHalf (self , text , position , line ):
20
+ def updateHalfLabel (self , text , position , line ):
21
+ self .clearHalfDataSet (position ,line )
21
22
if position == "left" :
22
- lcd .setCursor (0 ,line )
23
- eol .message (" :" )
24
23
lcd .setCursor (0 ,line )
25
24
eol .message (text [0 :4 ]+ ':' )
26
25
elif position == "right" :
27
- lcd .setCursor (10 ,line )
28
- eol .message (" :" )
29
26
lcd .setCursor (10 ,line )
30
27
eol .message ('|' + text [0 :4 ]+ ':' )
31
28
32
29
# Limited to 4 characters,
33
30
# position is left or right,
34
31
# line is 1-4
35
- def valueHalf (self , text , position , line ):
32
+ def updateHalfValue (self , text , position , line ):
36
33
if position == "left" :
37
34
lcd .setCursor (5 ,line )
38
35
eol .message (" " )
@@ -45,20 +42,28 @@ def valueHalf(self, text, position, line):
45
42
eol .message (text [0 :4 ])
46
43
47
44
# Writes up to a 9 character lable and value to a full line
48
- def wholeLine (self , label , value , line ):
49
- self .clearLine (line )
45
+ def updateWholeLineLabel (self , label , line ):
46
+ self .clearWholeLine (line )
50
47
lcd .setCursor (0 ,line )
51
- eol .message (label [0 :10 ] + ': ' )
52
- lcd .setCursor (11 ,line )
48
+ eol .message (label [0 :9 ] + ': ' )
49
+
50
+ # Writes up to a 9 character lable and value to a full line
51
+ def updateWholeLineValue (self , value , line ):
52
+ lcd .setCursor (10 ,line )
53
53
eol .message (value [0 :10 ])
54
54
55
55
#Clears an entire line
56
- def clearLine (self , line ):
56
+ def clearWholeLine (self , line ):
57
57
lcd .setCursor (0 ,line )
58
58
eol .message (" " * columns )
59
-
59
+
60
+ #Clears an entire line
61
+ def clearWholeLineValue (self , line ):
62
+ lcd .setCursor (10 ,line )
63
+ eol .message (" " * 10 )
64
+
60
65
# Clears just a half data set, label and value
61
- def clearDataSet (self , position ,line ):
66
+ def clearHalfDataSet (self , position ,line ):
62
67
if position == "left" :
63
68
lcd .setCursor (0 ,line )
64
69
eol .message (" " * 10 )
@@ -97,32 +102,84 @@ def clearHalfValue(self, position,line):
97
102
98
103
#Filling the table with bogus info
99
104
lcd .clear ()
100
- dt .labelHalf ("Temp" ,"left" ,0 )
101
- dt .labelHalf ("Mode" ,"right" ,0 )
102
- dt .labelHalf ("Targ" ,"left" ,1 )
103
- dt .labelHalf ("Fan" ,"right" ,1 )
104
- dt .valueHalf ("Cool" ,"right" ,0 )
105
- dt .valueHalf ("75.5" ,"left" ,0 )
106
- dt .valueHalf ("Auto" ,"right" ,1 )
107
- dt .valueHalf ("74.0" ,"left" ,1 )
108
- dt .wholeLine ("Tempurature" , "Too Hot" ,2 )
109
-
105
+ dt .updateHalfLabel ("Temp" ,"left" ,0 )
106
+ dt .updateHalfLabel ("Mode" ,"right" ,0 )
107
+ dt .updateHalfLabel ("Targ" ,"left" ,1 )
108
+ dt .updateHalfLabel ("Fan" ,"right" ,1 )
109
+ dt .updateHalfValue ("Cool" ,"right" ,0 )
110
+ dt .updateHalfValue ("75.5" ,"left" ,0 )
111
+ dt .updateHalfValue ("Auto" ,"right" ,1 )
112
+ dt .updateHalfValue ("74.0" ,"left" ,1 )
113
+ dt .updateWholeLineLabel ("Tempurature" ,2 )
114
+ dt .updateWholeLineValue ("Too Hot!!!" ,2 )
115
+ dt .updateWholeLineLabel ("Humidity" ,3 )
116
+ dt .updateWholeLineValue ("100%!!!" ,3 )
117
+
110
118
#Start testing updating and clearing parts
111
- sleep ( 5 )
112
- dt . clearLine ( 0 )
119
+
120
+ # Clearing entire lines
113
121
sleep (2 )
114
- dt .labelHalf ("Temp" ,"left" ,0 )
115
- dt .valueHalf ("76.0" ,"left" ,0 )
122
+ dt .clearWholeLine (0 )
123
+ sleep (1 )
124
+ dt .clearWholeLine (3 )
125
+ sleep (1 )
126
+
127
+ # Repopulating the lines just cleared
128
+ dt .updateHalfLabel ("Temp" ,"left" ,0 )
129
+ dt .updateHalfValue ("75.3" ,"left" ,0 )
130
+ dt .updateHalfLabel ("Mode" ,"right" ,0 )
131
+ dt .updateHalfValue ("Cool" ,"right" ,0 )
132
+ dt .updateWholeLineLabel ("Humidity" ,3 )
133
+ dt .updateWholeLineValue ("100%!!!" ,3 )
116
134
sleep (2 )
117
- dt .valueHalf ("74.75" ,"left" ,0 )
135
+
136
+ # Clearing the entire Data set, both Label and Value
137
+ dt .clearHalfDataSet ("left" ,0 )
138
+ sleep (1 )
139
+ dt .clearHalfDataSet ("right" ,0 )
140
+ sleep (1 )
141
+ dt .clearHalfDataSet ("left" ,1 )
142
+ sleep (1 )
143
+ dt .clearHalfDataSet ("right" ,1 )
144
+ sleep (2 )
145
+
146
+ # Repopulating the half labels and values just removed
147
+ dt .updateHalfLabel ("Temp" ,"left" ,0 )
148
+ dt .updateHalfLabel ("Mode" ,"right" ,0 )
149
+ dt .updateHalfLabel ("Targ" ,"left" ,1 )
150
+ dt .updateHalfLabel ("Fan" ,"right" ,1 )
151
+
152
+ dt .updateHalfValue ("75.5" ,"left" ,0 )
153
+ dt .updateHalfValue ("Cool" ,"right" ,0 )
154
+ dt .updateHalfValue ("74.0" ,"left" ,1 )
155
+ dt .updateHalfValue ("On" ,"right" ,1 )
118
156
sleep (2 )
119
- dt .labelHalf ("Mode" ,"right" ,0 )
120
- dt .valueHalf ("Both" ,"right" ,0 )
157
+
158
+ # Clearing the values in the half data sets
159
+ dt .clearHalfValue ("left" ,0 )
160
+ sleep (1 )
161
+ dt .clearHalfValue ("right" ,0 )
162
+ sleep (1 )
163
+ dt .clearHalfValue ("left" ,1 )
164
+ sleep (1 )
165
+ dt .clearHalfValue ("right" ,1 )
121
166
sleep (2 )
122
- dt .valueHalf ("On" ,"right" ,0 )
167
+
168
+ # Repopulating half data set values
169
+ dt .updateHalfValue ("74.7" ,"left" ,0 )
170
+ sleep (1 )
171
+ dt .updateHalfValue ("Auto" ,"right" ,0 )
172
+ sleep (1 )
173
+ dt .updateHalfValue ("74.0" ,"left" ,1 )
174
+ sleep (1 )
175
+ dt .updateHalfValue ("On" ,"right" ,1 )
123
176
sleep (2 )
124
- dt .clearDataSet ("left" ,0 )
177
+
178
+ # Clearing the value on a full line entry
179
+ dt .clearWholeLineValue (2 )
180
+ dt .clearWholeLineValue (3 )
125
181
sleep (2 )
126
- dt .labelHalf ("Tempurature" ,"left" ,0 )
127
- dt .valueHalf ("85" ,"left" ,0 )
128
- sleep (5 )
182
+
183
+ # Repopulating the values that was just removed
184
+ dt .updateWholeLineValue ("Still Hot" ,2 )
185
+ dt .updateWholeLineValue ("90%" ,3 )
0 commit comments