# HG changeset patch # User Matt Johnston # Date 1339774464 -28800 # Node ID 024f5571df8c9a2b9078cb46d73727473d6a3adf # Parent e18d7e89c17dbf0dccb907489f35a6da28421ce9 - Debug log file for server - Fix some variable sizes, turn off local echo for avr code - symlink config for wrt server diff -r e18d7e89c17d -r 024f5571df8c Makefile --- a/Makefile Thu Jun 14 00:00:57 2012 +0800 +++ b/Makefile Fri Jun 15 23:34:24 2012 +0800 @@ -82,7 +82,6 @@ checkprog: $(AVRDUDE) -v - fuse: $(AVRDUDE) $(FUSES) diff -r e18d7e89c17d -r 024f5571df8c main.c --- a/main.c Thu Jun 14 00:00:57 2012 +0800 +++ b/main.c Fri Jun 15 23:34:24 2012 +0800 @@ -29,13 +29,15 @@ // 1 second. we have 1024 prescaler, 32768 crystal. #define SLEEP_COMPARE 32 -#define MEASURE_WAKE 10 +// limited to uint16_t +#define MEASURE_WAKE 300 #define VALUE_NOSENSOR -9000 #define VALUE_BROKEN -8000 -// limited to uint16_t for now +// limited to uint16_t #define COMMS_WAKE 3600 +// limited to uint8_t #define WAKE_SECS 250 // XXX testing #define BAUD 19200 @@ -49,12 +51,16 @@ #define DDR_SHDN DDRD #define PIN_SHDN PD7 +// limited to uint16_t #define NUM_MEASUREMENTS 100 +// limited to uint8_t #define MAX_SENSORS 5 // fixed at 8, have a shorter name #define ID_LEN OW_ROMCODE_SIZE +// #define HAVE_UART_ECHO + int uart_putchar(char c, FILE *stream); static void long_delay(int ms); static void blink(); @@ -87,7 +93,7 @@ static char readbuf[30]; static uint8_t have_cmd; -static uint8_t measure_count; +static uint16_t measure_count; static uint16_t comms_count; static uint32_t clock_epoch; @@ -277,7 +283,7 @@ static void cmd_measure() { - printf_P(PSTR("Measuring\n")); + printf_P(PSTR("measuring\n")); need_measurement = 1; } @@ -480,7 +486,9 @@ ISR(USART_RX_vect) { char c = UDR0; +#ifdef HAVE_UART_ECHO uart_putchar(c, NULL); +#endif if (c == '\r' || c == '\n') { if (readpos > 0) diff -r e18d7e89c17d -r 024f5571df8c server/config.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/config.py Fri Jun 15 23:34:24 2012 +0800 @@ -0,0 +1,1 @@ +../web/config.py \ No newline at end of file diff -r e18d7e89c17d -r 024f5571df8c web/config.py --- a/web/config.py Thu Jun 14 00:00:57 2012 +0800 +++ b/web/config.py Fri Jun 15 23:34:24 2012 +0800 @@ -3,6 +3,8 @@ HMAC_KEY = 'a hmac key' +UPDATE_URL = 'https://evil.ucc.asn.au/~matt/templog/update' + GRAPH_WIDTH = 800 GRAPH_HEIGHT = 400 diff -r e18d7e89c17d -r 024f5571df8c web/log.py --- a/web/log.py Thu Jun 14 00:00:57 2012 +0800 +++ b/web/log.py Fri Jun 15 23:34:24 2012 +0800 @@ -73,10 +73,22 @@ rrdfile = sensor_rrd_path(sensor_id) rrdtool.update(rrdfile, *values) + + # be paranois f = file(rrdfile) os.fsync(f.fileno()) +def record_debug(lines): + f = open('%s/debug.log', config.DATA_PATH, 'a+') + f.write('===== %s =====' % time.strftime('%a, %d %b %Y %H:%M:%S') + f.writelines(('%s\n' % s for s in lines)) + f.flush() + return f + def parse(lines): + + debugf = record_debug(lines): + entries = dict(l.split('=', 1) for l in lines) if len(entries) != len(lines): raise Exception("Keys are not unique") @@ -110,3 +122,6 @@ for sensor_id, measurements in zip(sensors, meas): sensor_update(sensor_id, measurements, first_real_time, time_step) + + debugf.write("Updated %d sensors\n" % len(sensors) + debugf.flush()