diff --git a/ROMFS/px4fmu_common/init.d-posix/rcS b/ROMFS/px4fmu_common/init.d-posix/rcS index 40f95e41e3..4e05a3efb8 100644 --- a/ROMFS/px4fmu_common/init.d-posix/rcS +++ b/ROMFS/px4fmu_common/init.d-posix/rcS @@ -204,7 +204,6 @@ fi if param greater TRIG_MODE 0 then camera_trigger start - param set CAM_FBACK_MODE 1 camera_feedback start fi diff --git a/ROMFS/px4fmu_common/init.d/rcS b/ROMFS/px4fmu_common/init.d/rcS index 82f88bdbb0..4b1edd01f8 100644 --- a/ROMFS/px4fmu_common/init.d/rcS +++ b/ROMFS/px4fmu_common/init.d/rcS @@ -372,7 +372,6 @@ else fi camera_trigger start - param set CAM_FBACK_MODE 1 camera_feedback start fi diff --git a/src/modules/camera_feedback/camera_feedback.cpp b/src/modules/camera_feedback/camera_feedback.cpp index 6738acad05..ef9996af51 100644 --- a/src/modules/camera_feedback/camera_feedback.cpp +++ b/src/modules/camera_feedback/camera_feedback.cpp @@ -53,13 +53,13 @@ CameraFeedback::CameraFeedback() : _gpos_sub(-1), _att_sub(-1), _capture_pub(nullptr), - _camera_feedback_mode(CAMERA_FEEDBACK_MODE_NONE) + _camera_capture_feedback(false) { // Parameters - _p_feedback = param_find("CAM_FBACK_MODE"); + _p_camera_capture_feedback = param_find("CAM_CAP_FBACK"); - param_get(_p_feedback, (int32_t *)&_camera_feedback_mode); + param_get(_p_camera_capture_feedback, (int32_t *)&_camera_capture_feedback); } @@ -122,15 +122,13 @@ CameraFeedback::stop() void CameraFeedback::task_main() { - - // We only support trigger feedback for now - // This will later be extended to support hardware feedback from the camera. - if (_camera_feedback_mode != CAMERA_FEEDBACK_MODE_TRIGGER) { - return; + if(!_camera_capture_feedback){ + _trigger_sub = orb_subscribe(ORB_ID(camera_trigger)); + } else { + _trigger_sub = orb_subscribe(ORB_ID(camera_trigger_feedback)); } // Polling sources - _trigger_sub = orb_subscribe(ORB_ID(camera_trigger)); struct camera_trigger_s trig = {}; px4_pollfd_struct_t fds[1] = {}; diff --git a/src/modules/camera_feedback/camera_feedback.hpp b/src/modules/camera_feedback/camera_feedback.hpp index c013880423..69487f5d8a 100644 --- a/src/modules/camera_feedback/camera_feedback.hpp +++ b/src/modules/camera_feedback/camera_feedback.hpp @@ -61,11 +61,6 @@ #include #include -typedef enum : int32_t { - CAMERA_FEEDBACK_MODE_NONE = 0, - CAMERA_FEEDBACK_MODE_TRIGGER, - CAMERA_FEEDBACK_MODE_PWM -} camera_feedback_mode_t; class CameraFeedback { @@ -103,9 +98,9 @@ private: orb_advert_t _capture_pub; - param_t _p_feedback; + param_t _p_camera_capture_feedback; - camera_feedback_mode_t _camera_feedback_mode; + int32_t _camera_capture_feedback; void task_main(); diff --git a/src/modules/camera_feedback/camera_feedback_params.c b/src/modules/camera_feedback/camera_feedback_params.c deleted file mode 100644 index da428a682c..0000000000 --- a/src/modules/camera_feedback/camera_feedback_params.c +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** - * - * Copyright (c) 2017 PX4 Development Team. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name PX4 nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************/ - -/** - * @file camera_feedback_params.c - * Camera feedback parameters - * - * @author Mohammed Kabir - */ - -/** - * Camera feedback mode - * - * Sets the camera feedback mode. - * - * @value 0 Disabled - * @value 1 Feedback on trigger - * @min 0 - * @max 1 - * @group Camera Control - */ -PARAM_DEFINE_INT32(CAM_FBACK_MODE, 0); \ No newline at end of file