comparison main.c @ 33:024f5571df8c

- Debug log file for server - Fix some variable sizes, turn off local echo for avr code - symlink config for wrt server
author Matt Johnston <matt@ucc.asn.au>
date Fri, 15 Jun 2012 23:34:24 +0800
parents e18d7e89c17d
children a670a67ba489
comparison
equal deleted inserted replaced
32:e18d7e89c17d 33:024f5571df8c
27 // - bluetooth params 27 // - bluetooth params
28 // - number of sensors (and range?) 28 // - number of sensors (and range?)
29 29
30 // 1 second. we have 1024 prescaler, 32768 crystal. 30 // 1 second. we have 1024 prescaler, 32768 crystal.
31 #define SLEEP_COMPARE 32 31 #define SLEEP_COMPARE 32
32 #define MEASURE_WAKE 10 32 // limited to uint16_t
33 #define MEASURE_WAKE 300
33 34
34 #define VALUE_NOSENSOR -9000 35 #define VALUE_NOSENSOR -9000
35 #define VALUE_BROKEN -8000 36 #define VALUE_BROKEN -8000
36 37
37 // limited to uint16_t for now 38 // limited to uint16_t
38 #define COMMS_WAKE 3600 39 #define COMMS_WAKE 3600
40 // limited to uint8_t
39 #define WAKE_SECS 250 // XXX testing 41 #define WAKE_SECS 250 // XXX testing
40 42
41 #define BAUD 19200 43 #define BAUD 19200
42 #define UBRR ((F_CPU)/8/(BAUD)-1) 44 #define UBRR ((F_CPU)/8/(BAUD)-1)
43 45
47 49
48 #define PORT_SHDN PORTD 50 #define PORT_SHDN PORTD
49 #define DDR_SHDN DDRD 51 #define DDR_SHDN DDRD
50 #define PIN_SHDN PD7 52 #define PIN_SHDN PD7
51 53
54 // limited to uint16_t
52 #define NUM_MEASUREMENTS 100 55 #define NUM_MEASUREMENTS 100
56 // limited to uint8_t
53 #define MAX_SENSORS 5 57 #define MAX_SENSORS 5
54 58
55 // fixed at 8, have a shorter name 59 // fixed at 8, have a shorter name
56 #define ID_LEN OW_ROMCODE_SIZE 60 #define ID_LEN OW_ROMCODE_SIZE
61
62 // #define HAVE_UART_ECHO
57 63
58 int uart_putchar(char c, FILE *stream); 64 int uart_putchar(char c, FILE *stream);
59 static void long_delay(int ms); 65 static void long_delay(int ms);
60 static void blink(); 66 static void blink();
61 67
85 91
86 static uint8_t readpos; 92 static uint8_t readpos;
87 static char readbuf[30]; 93 static char readbuf[30];
88 static uint8_t have_cmd; 94 static uint8_t have_cmd;
89 95
90 static uint8_t measure_count; 96 static uint16_t measure_count;
91 static uint16_t comms_count; 97 static uint16_t comms_count;
92 98
93 static uint32_t clock_epoch; 99 static uint32_t clock_epoch;
94 100
95 // thanks to http://projectgus.com/2010/07/eeprom-access-with-arduino/ 101 // thanks to http://projectgus.com/2010/07/eeprom-access-with-arduino/
275 } 281 }
276 282
277 static void 283 static void
278 cmd_measure() 284 cmd_measure()
279 { 285 {
280 printf_P(PSTR("Measuring\n")); 286 printf_P(PSTR("measuring\n"));
281 need_measurement = 1; 287 need_measurement = 1;
282 } 288 }
283 289
284 static void 290 static void
285 cmd_sensors() 291 cmd_sensors()
478 484
479 485
480 ISR(USART_RX_vect) 486 ISR(USART_RX_vect)
481 { 487 {
482 char c = UDR0; 488 char c = UDR0;
489 #ifdef HAVE_UART_ECHO
483 uart_putchar(c, NULL); 490 uart_putchar(c, NULL);
491 #endif
484 if (c == '\r' || c == '\n') 492 if (c == '\r' || c == '\n')
485 { 493 {
486 if (readpos > 0) 494 if (readpos > 0)
487 { 495 {
488 readbuf[readpos] = '\0'; 496 readbuf[readpos] = '\0';