diff options
Diffstat (limited to 'robot/setup.c')
-rw-r--r-- | robot/setup.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/robot/setup.c b/robot/setup.c index c74cca9..06c8fa4 100644 --- a/robot/setup.c +++ b/robot/setup.c @@ -1,13 +1,20 @@ #include <stdlib.h> -#include "consts.h" -#include "halt.h" +#include "../shared/bin.h" +#include "../shared/consts.h" #include "modes.h" #include "orangutan_shim.h" +#include "sercomm.h" #include "setup.h" +// pointers for endianness check +static const uint16_t _test = 1; +static const uint8_t *_ptest = (uint8_t *)&_test; +uint8_t g_w2_endianness; + void w2_setup_main() { - serial_set_baud_rate(W2_SERIAL_BAUD); + // check endianness + g_w2_endianness = *_ptest; // reset underside leds red_led(0); @@ -16,6 +23,17 @@ void w2_setup_main() { // clear lcd clear(); + // start serial i/o + w2_cmd_setup_handlers(); + serial_set_baud_rate(W2_SERIAL_BAUD); + serial_receive_ring(g_w2_serial_buffer, W2_SERIAL_READ_BUFFER_SIZE); + + // reset timer + time_reset(); + + // set default mode + w2_modes_swap(W2_M_HALT); + // indicate startup done play("L50 c>c"); } |