From a64fb816764b34b7bee2dc886c7efaa2c8bf0539 Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Wed, 16 May 2012 17:28:12 +0200 Subject: digital/beacon: Improve calibration state machine --- digital/beacon/src/laser.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'digital/beacon/src/laser.c') diff --git a/digital/beacon/src/laser.c b/digital/beacon/src/laser.c index bd8be64b..e73c1bd7 100644 --- a/digital/beacon/src/laser.c +++ b/digital/beacon/src/laser.c @@ -129,19 +129,18 @@ ISR(TIMER3_COMPB_vect) { codewheel_set_rebase_offset(laser_get_angle_raw()); codewheel_set_state(CODEWHEEL_REQUEST_REBASE); - calibration_set_laser_flag(SET); } else { /* If mire 1 is spotted */ - if(((laser_get_angle_degree() <= SERVO_1_ANGLE_POSITION + SERVO_ANGLE_POSITION_TOLERANCE) && (laser_get_angle_degree() >= 360 - SERVO_ANGLE_POSITION_TOLERANCE)) && ((servo_get_state(SERVO_1) == SERVO_SCANNING_FAST_IN_PROGRESS) || (servo_get_state(SERVO_1) == SERVO_SCANNING_SLOW_IN_PROGRESS))) + if(((laser_get_angle_degree() <= SERVO_1_ANGLE_POSITION + SERVO_ANGLE_POSITION_TOLERANCE) || (laser_get_angle_degree() >= 360 - SERVO_ANGLE_POSITION_TOLERANCE)) && ((servo_get_state(SERVO_1) == SERVO_SCANNING_FAST_IN_PROGRESS) || (servo_get_state(SERVO_1) == SERVO_SCANNING_SLOW_IN_PROGRESS))) { - calibration_set_laser_flag(SET); + calibration_set_laser_flag(SET_SERVO_1); } /* If mire 2 is spotted */ else if(((laser_get_angle_degree() <= SERVO_2_ANGLE_POSITION + SERVO_ANGLE_POSITION_TOLERANCE) && (laser_get_angle_degree() >= SERVO_2_ANGLE_POSITION - SERVO_ANGLE_POSITION_TOLERANCE)) && ((servo_get_state(SERVO_2) == SERVO_SCANNING_FAST_IN_PROGRESS) || (servo_get_state(SERVO_2) == SERVO_SCANNING_SLOW_IN_PROGRESS))) { - calibration_set_laser_flag(SET); + calibration_set_laser_flag(SET_SERVO_2); } } } -- cgit v1.2.3