Revision | 889c5d9195e8828d6423fa4ddfb108501bfa107b (tree) |
---|---|
Zeit | 2019-01-05 18:08:08 |
Autor | kazuhiro_kondow <simauma.circus@gmai...> |
Commiter | kazuhiro_kondow |
fix sleepmode registor control , chenge datarecord format
@@ -19,7 +19,7 @@ const int SLEEP_CNT = 5; // wdt test 1.0s * 5 = 5sec | ||
19 | 19 | const int RETRY_MAX = 100; // DHT11 max retry count |
20 | 20 | |
21 | 21 | // Sensores Uses Analog Pin |
22 | -const int SENCER_PW_PIN = PC1; // BREADBOOD fghij SIDE | |
22 | +const int SENCER_PW_PIN = PC1; // analogPin A1 | |
23 | 23 | const int photo_pin = A2; |
24 | 24 | const int soilmois_pin = A3; |
25 | 25 | const int soiltemp_pin = A4; |
@@ -37,11 +37,6 @@ union float_u { | ||
37 | 37 | // Store values |
38 | 38 | int wdt_cnt = 0; |
39 | 39 | |
40 | -// Store I/O pinMode Registers | |
41 | -uint8_t store_DDRB = 0; | |
42 | -uint8_t store_DDRC = 0; | |
43 | -uint8_t store_DDRD = 0; | |
44 | - | |
45 | 40 | // Objects |
46 | 41 | DHT dht(dht_pin, DHTTYPE); |
47 | 42 |
@@ -50,7 +45,7 @@ RH_RF95 rf95; | ||
50 | 45 | const float frequency = 920.0; |
51 | 46 | |
52 | 47 | // for send data not in CRC |
53 | -const int dataLength = 26; | |
48 | +const int dataLength = 21; | |
54 | 49 | |
55 | 50 | // ProtType |
56 | 51 | uint16_t calcByte(uint16_t crc, uint8_t b); |
@@ -85,11 +80,6 @@ void setup() | ||
85 | 80 | // DHT init |
86 | 81 | dht.begin(); |
87 | 82 | |
88 | - // Store Registers | |
89 | - store_DDRB = DDRB; | |
90 | - store_DDRC = DDRC; | |
91 | - store_DDRD = DDRD; | |
92 | - | |
93 | 83 | // set sencer power off |
94 | 84 | PORTC &= ~_BV(PC1); |
95 | 85 | delay(10); |
@@ -102,7 +92,6 @@ void loop() | ||
102 | 92 | |
103 | 93 | // Data is All Sensores value |
104 | 94 | uint8_t data[dataLength + 2] = {0}; |
105 | - uint8_t *p_valbuf; | |
106 | 95 | |
107 | 96 | // data[0] as Categly ID, data[1] as Area ID, data[2] as Node ID |
108 | 97 | data[0] = 1; |
@@ -216,18 +205,6 @@ void sleeping_now() | ||
216 | 205 | Serial.println("call sleeping_now"); |
217 | 206 | delay(100); |
218 | 207 | |
219 | - // set all I/O register OUTPUT | |
220 | - | |
221 | - DDRB = B111111; | |
222 | - DDRC = B111111; | |
223 | - // DDRD = B11111111; | |
224 | - DDRD = B11111100; // for sirial.log | |
225 | - delay(10); | |
226 | - | |
227 | - // set sencer power off | |
228 | - PORTB &= ~_BV(PC1); | |
229 | - delay(10); | |
230 | - | |
231 | 208 | // set power-down mode |
232 | 209 | SMCR |= (1 << SM1); |
233 | 210 | SMCR |= 1; |
@@ -273,12 +250,6 @@ void reset_WatchDogTimer() | ||
273 | 250 | ADCSRA |= (1 << 7); |
274 | 251 | wdt_cnt = 0; |
275 | 252 | |
276 | - // I/O register restore | |
277 | - DDRB = store_DDRB; | |
278 | - DDRC = store_DDRC; | |
279 | - DDRD = store_DDRD; | |
280 | - delay(10); | |
281 | - | |
282 | 253 | Serial.println("reset_WatchDogTimer"); |
283 | 254 | delay(100); |
284 | 255 |
@@ -317,7 +288,7 @@ void read_Sencers(uint8_t *data) | ||
317 | 288 | delay(100); |
318 | 289 | for (int i = 0; i < 4; i++) |
319 | 290 | { |
320 | - data[11 - i] = temperature.byt[i]; | |
291 | + data[6 - i] = temperature.byt[i]; | |
321 | 292 | } |
322 | 293 | |
323 | 294 | Serial.print("Humidity: "); |
@@ -325,7 +296,7 @@ void read_Sencers(uint8_t *data) | ||
325 | 296 | delay(100); |
326 | 297 | for (int i = 0; i < 4; i++) |
327 | 298 | { |
328 | - data[15 - i] = humidity.byt[i]; | |
299 | + data[10 - i] = humidity.byt[i]; | |
329 | 300 | } |
330 | 301 | |
331 | 302 | // get PhotoSensore val |
@@ -335,7 +306,7 @@ void read_Sencers(uint8_t *data) | ||
335 | 306 | delay(100); |
336 | 307 | for (int i = 0; i < 2; i++) |
337 | 308 | { |
338 | - data[17 - i] = (uint8_t)(photosensitive_val >> (i * 8)); | |
309 | + data[12 - i] = (uint8_t)(photosensitive_val >> (i * 8)); | |
339 | 310 | } |
340 | 311 | |
341 | 312 | // get soil moisture val |
@@ -345,7 +316,7 @@ void read_Sencers(uint8_t *data) | ||
345 | 316 | delay(100); |
346 | 317 | for (int i = 0; i < 2; i++) |
347 | 318 | { |
348 | - data[19 - i] = (uint8_t)(soilmoisture_val >> (i * 8)); | |
319 | + data[14 - i] = (uint8_t)(soilmoisture_val >> (i * 8)); | |
349 | 320 | } |
350 | 321 | |
351 | 322 | // get soil temperature val |
@@ -355,7 +326,7 @@ void read_Sencers(uint8_t *data) | ||
355 | 326 | delay(100); |
356 | 327 | for (int i = 0; i < 4; i++) |
357 | 328 | { |
358 | - data[23 - i] = soiltempe.byt[i]; | |
329 | + data[18 - i] = soiltempe.byt[i]; | |
359 | 330 | } |
360 | 331 | |
361 | 332 | // get HC-SR501 val |
@@ -365,11 +336,11 @@ void read_Sencers(uint8_t *data) | ||
365 | 336 | delay(100); |
366 | 337 | for (int i = 0; i < 2; i++) |
367 | 338 | { |
368 | - data[25 - i] = (uint8_t)(humaninduct_val >> (i * 8)); | |
339 | + data[20 - i] = (uint8_t)(humaninduct_val >> (i * 8)); | |
369 | 340 | } |
370 | 341 | |
371 | 342 | // sencer power off |
372 | - PORTC = ~_BV(PC1); | |
343 | + PORTC &= ~_BV(PC1); | |
373 | 344 | delay(10); |
374 | 345 | |
375 | 346 | return; |