/* Sends the JAviator data to the Gumstix */ void send_javiator_data( void ) { uint8_t data[ JAVIATOR_LDAT_SIZE ]; ////////////////////////////////////////////////////////////////////////// javiator_data.id = motor_signals.id; ////////////////////////////////////////////////////////////////////////// /* encode JAviator data */ javiator_ldat_to_stream( &javiator_data, data, JAVIATOR_LDAT_SIZE ); /* transmit JAviator data */ serial_send_data( COMM_JAVIATOR_DATA, data, JAVIATOR_LDAT_SIZE ); ////////////////////////////////////////////////////////////////////////// javiator_data.state = 0; ////////////////////////////////////////////////////////////////////////// #if 0 /* increment motor signals ID before being sent on round trip */ ++motor_signals.id; /* encode motor signals ID and enable-sensors flag, which corresponds to the inverted shut-down flag */ data[0] = (uint8_t)( motor_signals.id >> 8 ); data[1] = (uint8_t)( motor_signals.id ); data[2] = (uint8_t)( !flag_shut_down ); /* request new sensor data */ parallel_send_data( COMM_SENSOR_DATA, data, 3 ); #endif /* request new IMU data */ dm3gx1_request( ); /* convert battery data */ adc_convert( ADC_CH_BATT ); }
int main(void) { serial_initialise(); button_t button_1 = debounce_init("PB0"); button_t button_2 = debounce_init("PB2"); button_auto_acknowledge(button_2); sei(); serial_send_data("Off we go\r\n"); while (1) { if(button_check(button_1) == BUTTON_PRESS_SHORT) { serial_send_data("Button 1 short"); button_acknowledge(button_1); } if(button_check(button_1) == BUTTON_PRESS_LONG) { serial_send_data("Button 1 long"); button_acknowledge(button_1); } switch (button_check(button_2)) { case BUTTON_PRESS_SHORT: serial_send_data("Button 2 short"); break; case BUTTON_PRESS_LONG: serial_send_data("Button 2 long"); break; } _delay_ms(200); serial_send_data("Canary\r\n"); } }