diff -r d0f29c45fe52 -r 5c86d54080c1 src/carboard.c --- a/src/carboard.c Thu Sep 25 01:00:08 2014 +0300 +++ b/src/carboard.c Wed Oct 08 23:21:01 2014 +0300 @@ -35,34 +35,42 @@ SWITCH_MASK = 0b00111100, }; +#include "adxl345.h" #include "debug.h" #include "relay.h" #include "serial.h" +#include "spi.h" #include "switch.h" #include "timer.h" int main (void) { + adxl345_init(); debug_init(); relay_init(RELAY_PINS); serial_init(SERIAL_BAUD_9600, SERIAL_PARITY_N, SERIAL_STOPBITS_1); + spi_init(); switch_init(); timer_init(); // init - char c = '.'; + unsigned char c = '.'; byte s; unsigned short timeout = 8000; + int16_t adxl; debug_set(); sei(); + adxl345_setup(); + // start while (true) { c = s = 0; + adxl = 0; if (timer_sleep(timeout)) { - c = '.'; + c = 0; } else if ((c = serial_read())) { switch (c) { case 'L': relay_open(RELAY_LEFT); break; @@ -79,6 +87,11 @@ relay_close(RELAY_DOWN2); break; + case 'd': c = adxl345_read_devid(); break; + case 'x': adxl = adxl345_read_x(); break; + case 'y': adxl = adxl345_read_y(); break; + case 'z': adxl = adxl345_read_z(); break; + default: c = '!'; break; @@ -106,6 +119,20 @@ // out debug_toggle(); - serial_write(c); + if (c == 'x' || c == 'y' || c == 'z') { + int8_t v = adxl / 255; + + /* + if (adxl > 0) + serial_write('+'); + else if (adxl < 0) + serial_write('-'); + else + serial_write(' '); + */ + serial_write(v); + } else if (c) { + serial_write(c); + } } }