// Drives m1 backward. void m1_backward() { char byte = read_next_byte(); if(check_data_byte(byte)) return; set_m1_speed(byte == 127 ? -255 : -byte*2); }
int main() { serial_set_baud_rate(BAUD); int distanceRead; while(1) { set_m1_speed(255/4); set_m2_speed(255/4); MOS2 MOS4 } return 0; }
// This function comprises the main part of the motor speed update loop. // If a button press is detected, both the red and green user LEDs are // turned off, as are the motor outputs. This function also includes // a brief delay that ensures the entire loop takes the desired amount // of time. unsigned char motorUpdate(unsigned char motor, int speed) { unsigned char button; if (motor == 0) // set the desired motor to the desired speed set_m1_speed(speed); else set_m2_speed(speed); delay_ms(2); // delay here for 2 milliseconds // check if top or bottom buttons have been pressed button = button_is_pressed(TOP_BUTTON | MIDDLE_BUTTON); if (button != 0) // if so, turn off motors and LEDs, return button ID { red_led(0); green_led(0); set_motors(0, 0); } return button; }