diff --git a/sw/airborne/modules/digital_cam/led_cam_ctrl.c b/sw/airborne/modules/digital_cam/led_cam_ctrl.c index 9ece3e6c5c4..8928381f48a 100644 --- a/sw/airborne/modules/digital_cam/led_cam_ctrl.c +++ b/sw/airborne/modules/digital_cam/led_cam_ctrl.c @@ -34,7 +34,9 @@ void dc_send_command(uint8_t cmd) { case DC_SHOOT: DC_PUSH(DC_SHUTTER_LED); +#ifndef DC_SHOOT_ON_BUTTON_RELEASE dc_send_shot_position(); +#endif break; #ifdef DC_ZOOM_IN_LED case DC_TALLER: diff --git a/sw/airborne/modules/digital_cam/led_cam_ctrl.h b/sw/airborne/modules/digital_cam/led_cam_ctrl.h index 86ec6dc0341..421d44b9621 100644 --- a/sw/airborne/modules/digital_cam/led_cam_ctrl.h +++ b/sw/airborne/modules/digital_cam/led_cam_ctrl.h @@ -81,6 +81,12 @@ static inline void led_cam_ctrl_init(void) /* 4Hz Periodic */ static inline void led_cam_ctrl_periodic( void ) { +#ifdef DC_SHOOT_ON_BUTTON_RELEASE + if (dc_timer==1) { + dc_send_shot_position(); + } +#endif + if (dc_timer) { dc_timer--; } else { diff --git a/sw/airborne/modules/digital_cam/servo_cam_ctrl.c b/sw/airborne/modules/digital_cam/servo_cam_ctrl.c index 1111141e4a2..c5a073ef18a 100644 --- a/sw/airborne/modules/digital_cam/servo_cam_ctrl.c +++ b/sw/airborne/modules/digital_cam/servo_cam_ctrl.c @@ -33,7 +33,9 @@ void dc_send_command(uint8_t cmd) { case DC_SHOOT: DC_PUSH(DC_SHUTTER_SERVO); +#ifndef DC_SHOOT_ON_BUTTON_RELEASE dc_send_shot_position(); +#endif break; #ifdef DC_ZOOM_IN_SERVO case DC_TALLER: diff --git a/sw/airborne/modules/digital_cam/servo_cam_ctrl.h b/sw/airborne/modules/digital_cam/servo_cam_ctrl.h index 9a35b67dfef..9d8da3a9223 100644 --- a/sw/airborne/modules/digital_cam/servo_cam_ctrl.h +++ b/sw/airborne/modules/digital_cam/servo_cam_ctrl.h @@ -78,6 +78,12 @@ static inline void servo_cam_ctrl_init(void) /* 4Hz Periodic */ static inline void servo_cam_ctrl_periodic( void ) { +#ifdef DC_SHOOT_ON_BUTTON_RELEASE + if (dc_timer==1) { + dc_send_shot_position(); + } +#endif + if (dc_timer) { dc_timer--; } else {