133 return rc; |
133 return rc; |
134 } |
134 } |
135 |
135 |
136 |
136 |
137 |
137 |
|
138 void hlt_heater(int value) |
|
139 { |
|
140 #ifdef HAVE_WIRINGPI_H |
|
141 piLock(LOCK_LCD); |
|
142 lcdPosition(lcdHandle, 0, 1); |
|
143 #endif |
|
144 slcdPosition(slcdHandle, 0, 1); |
|
145 if (value) { |
|
146 leds |= SLED_HLTH; |
|
147 #ifdef HAVE_WIRINGPI_H |
|
148 lcdPutchar(lcdHandle, 5); |
|
149 #endif |
|
150 slcdPutchar(slcdHandle, 5); |
|
151 } else { |
|
152 leds &= ~SLED_HLTH; |
|
153 #ifdef HAVE_WIRINGPI_H |
|
154 lcdPutchar(lcdHandle, 6); |
|
155 #endif |
|
156 slcdPutchar(slcdHandle, 6); |
|
157 } |
|
158 #ifdef HAVE_WIRINGPI_H |
|
159 piUnlock(LOCK_LCD); |
|
160 #endif |
|
161 slcdLEDs(slcdHandle); |
|
162 } |
|
163 |
|
164 |
|
165 |
|
166 void mlt_heater(int value) |
|
167 { |
|
168 #ifdef HAVE_WIRINGPI_H |
|
169 piLock(LOCK_LCD); |
|
170 lcdPosition(lcdHandle, 18, 1); |
|
171 #endif |
|
172 slcdPosition(slcdHandle, 18, 1); |
|
173 if (value) { |
|
174 leds |= SLED_MLTH; |
|
175 #ifdef HAVE_WIRINGPI_H |
|
176 lcdPutchar(lcdHandle, 5); |
|
177 #endif |
|
178 slcdPutchar(slcdHandle, 5); |
|
179 } else { |
|
180 leds &= ~SLED_MLTH; |
|
181 #ifdef HAVE_WIRINGPI_H |
|
182 lcdPutchar(lcdHandle, 6); |
|
183 #endif |
|
184 slcdPutchar(slcdHandle, 6); |
|
185 } |
|
186 #ifdef HAVE_WIRINGPI_H |
|
187 piUnlock(LOCK_LCD); |
|
188 #endif |
|
189 slcdLEDs(slcdHandle); |
|
190 } |
|
191 |
|
192 |
|
193 |
|
194 void mlt_pump(int value) |
|
195 { |
|
196 #ifdef HAVE_WIRINGPI_H |
|
197 piLock(LOCK_LCD); |
|
198 lcdPosition(lcdHandle, 19, 1); |
|
199 #endif |
|
200 slcdPosition(slcdHandle, 19, 1); |
|
201 if (value) { |
|
202 leds |= SLED_MLTP; |
|
203 #ifdef HAVE_WIRINGPI_H |
|
204 lcdPutchar(lcdHandle, 3); |
|
205 #endif |
|
206 slcdPutchar(slcdHandle, 3); |
|
207 } else { |
|
208 leds &= ~SLED_MLTP; |
|
209 #ifdef HAVE_WIRINGPI_H |
|
210 lcdPutchar(lcdHandle, 4); |
|
211 #endif |
|
212 slcdPutchar(slcdHandle, 4); |
|
213 } |
|
214 #ifdef HAVE_WIRINGPI_H |
|
215 piUnlock(LOCK_LCD); |
|
216 #endif |
|
217 slcdLEDs(slcdHandle); |
|
218 } |
|
219 |
|
220 |
|
221 |
138 int device_out(char *uuid, int value) |
222 int device_out(char *uuid, int value) |
139 { |
223 { |
140 devices_list *device; |
224 devices_list *device; |
141 time_t now, my_timestamp; |
225 time_t now, my_timestamp; |
142 int rc, my_value, test_value; |
226 int rc, my_value, test_value; |
219 fprintf(stdout, "SIM %s value=%d\n", device->address, value); |
303 fprintf(stdout, "SIM %s value=%d\n", device->address, value); |
220 } |
304 } |
221 device->value = value; |
305 device->value = value; |
222 if (strcmp((char *)"SimHLTheater", device->address) == 0) { |
306 if (strcmp((char *)"SimHLTheater", device->address) == 0) { |
223 SIM_hlt_value = value; |
307 SIM_hlt_value = value; |
224 if (value) |
308 hlt_heater(value); |
225 leds |= SLED_HLTH; |
|
226 else |
|
227 leds &= ~SLED_HLTH; |
|
228 slcdLEDs(slcdHandle); |
|
229 } |
309 } |
230 if (strcmp((char *)"SimMLTheater", device->address) == 0) { |
310 if (strcmp((char *)"SimMLTheater", device->address) == 0) { |
231 SIM_mlt_value = value; |
311 SIM_mlt_value = value; |
232 if (value) |
312 mlt_heater(value); |
233 leds |= SLED_MLTH; |
|
234 else |
|
235 leds &= ~SLED_MLTH; |
|
236 slcdLEDs(slcdHandle); |
|
237 } |
313 } |
238 if (strcmp((char *)"SimMLTpump", device->address) == 0) { |
314 if (strcmp((char *)"SimMLTpump", device->address) == 0) { |
239 if (value) |
315 mlt_pump(value); |
240 leds |= SLED_MLTP; |
|
241 else |
|
242 leds &= ~SLED_MLTP; |
|
243 slcdLEDs(slcdHandle); |
|
244 } |
316 } |
245 } |
317 } |
246 } |
318 } |
247 #endif |
319 #endif |
248 } else { |
320 } else { |