From 541b9626543fa95384bbd6edecf4080c004ff42e Mon Sep 17 00:00:00 2001
From: Hamish Willee <hamishwillee@gmail.com>
Date: Sun, 23 Dec 2018 15:59:59 -0800
Subject: [PATCH] CameraTrigger: Feedback fixes

---
 .../camera_trigger/camera_trigger_params.c       |  2 --
 .../camera_trigger/interfaces/src/pwm.cpp        | 16 ++++------------
 src/drivers/camera_trigger/interfaces/src/pwm.h  |  3 ++-
 3 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/src/drivers/camera_trigger/camera_trigger_params.c b/src/drivers/camera_trigger/camera_trigger_params.c
index 0b9f56d6d1..1d5e6e0d1c 100644
--- a/src/drivers/camera_trigger/camera_trigger_params.c
+++ b/src/drivers/camera_trigger/camera_trigger_params.c
@@ -143,8 +143,6 @@ PARAM_DEFINE_FLOAT(TRIG_DISTANCE, 25.0f);
 /**
  * PWM output to trigger shot.
  *
- * @reboot_required true
- *
  * @min 1000
  * @max 2000
  * @unit us
diff --git a/src/drivers/camera_trigger/interfaces/src/pwm.cpp b/src/drivers/camera_trigger/interfaces/src/pwm.cpp
index 2612c1fd21..33bfcf6eff 100644
--- a/src/drivers/camera_trigger/interfaces/src/pwm.cpp
+++ b/src/drivers/camera_trigger/interfaces/src/pwm.cpp
@@ -9,19 +9,11 @@
 #include "pwm.h"
 
 
-// TODO : make these parameters later
-//#define PWM_CAMERA_SHOOT 1900
-//#define PWM_CAMERA_NEUTRAL 1500
-
-int32_t pwm_camera_shoot = 0;
-param_get(param_find("TRIG_PWM_SHOOT"), &pwm_camera_shoot);
-int32_t pwm_camera_neutral = 0;
-param_get(param_find("TRIG_PWM_NEUTRAL"), &pwm_camera_neutral);
-
-
 CameraInterfacePWM::CameraInterfacePWM():
 	CameraInterface()
 {
+	param_get(param_find("TRIG_PWM_SHOOT"), &_pwm_camera_shoot);
+	param_get(param_find("TRIG_PWM_NEUTRAL"), &_pwm_camera_neutral);
 	get_pins();
 	setup();
 }
@@ -49,7 +41,7 @@ void CameraInterfacePWM::setup()
 	// Set neutral pulsewidths
 	for (unsigned i = 0; i < arraySize(_pins); i++) {
 		if (_pins[i] >= 0) {
-			up_pwm_trigger_set(_pins[i], math::constrain(pwm_camera_neutral, 0, 2000));
+			up_pwm_trigger_set(_pins[i], math::constrain(_pwm_camera_neutral, 0, 2000));
 		}
 	}
 
@@ -60,7 +52,7 @@ void CameraInterfacePWM::trigger(bool trigger_on_true)
 	for (unsigned i = 0; i < arraySize(_pins); i++) {
 		if (_pins[i] >= 0) {
 			// Set all valid pins to shoot or neutral levels
-			up_pwm_trigger_set(_pins[i], math::constrain(trigger_on_true ? pwm_camera_shoot : pwm_camera_neutral, 0, 2000));
+			up_pwm_trigger_set(_pins[i], math::constrain(trigger_on_true ? _pwm_camera_shoot : _pwm_camera_neutral, 0, 2000));
 		}
 	}
 }
diff --git a/src/drivers/camera_trigger/interfaces/src/pwm.h b/src/drivers/camera_trigger/interfaces/src/pwm.h
index 5319f4f154..fd03bfbb3c 100644
--- a/src/drivers/camera_trigger/interfaces/src/pwm.h
+++ b/src/drivers/camera_trigger/interfaces/src/pwm.h
@@ -25,7 +25,8 @@ public:
 	void info();
 
 private:
-
+	int32_t _pwm_camera_shoot = 0;
+	int32_t _pwm_camera_neutral = 0;
 	void setup();
 
 };
-- 
GitLab