void Tracker::set_mode(enum ControlMode mode) { if(control_mode == mode) { // don't switch modes if we are already in the correct mode. return; } control_mode = mode; switch (control_mode) { case AUTO: case MANUAL: case SCAN: case SERVO_TEST: arm_servos(); break; case STOP: case INITIALISING: disarm_servos(); break; } // log mode change DataFlash.Log_Write_Mode(control_mode); }
task main() { while(true) { getJoystickSettings(joystick); // Update Buttons and Joysticks main_wheel( joystick.joy1_x1, joystick.joy1_y1 ); // do not change central_motor( joystick.joy1_x2 ); // do not change arm_motors( joystick.joy2_y2 ); //do not change arm_servos( joystick.joy2_TopHat ); //do not change claw_servo( joy2Btn(2), joy2Btn(4) ); //do not change wait1Msec(TIME_INTERVAL); } }