Camera trigger: Expose trigger output pin selection as parameter

This commit is contained in:
Lorenz Meier
2015-08-08 14:36:22 +02:00
parent f5f81a1353
commit 24fdb5d532
2 changed files with 18 additions and 0 deletions
@@ -122,6 +122,7 @@ private:
param_t _p_mode;
param_t _p_activation_time;
param_t _p_interval;
param_t _p_pin;
static constexpr uint32_t _gpios[6] = {
GPIO_GPIO0_OUTPUT,
@@ -177,6 +178,7 @@ CameraTrigger::CameraTrigger() :
_p_interval = param_find("TRIG_INTERVAL");
_p_activation_time = param_find("TRIG_ACT_TIME");
_p_mode = param_find("TRIG_ACT_TIME");
_p_pin = param_find("TRIG_PIN");
struct camera_trigger_s trigger = {};
@@ -213,6 +215,11 @@ CameraTrigger::start()
param_get(_p_activation_time, &_activation_time);
param_get(_p_interval, &_interval);
param_get(_p_mode, &_mode);
param_get(_p_pin, &_pin);
if (_pin < 1 || _pin > static_cast<int>(sizeof(_gpios) / sizeof(_gpios[0]))) {
_pin = TRIGGER_PIN_DEFAULT;
}
stm32_configgpio(_gpios[_pin - 1]);
@@ -84,3 +84,14 @@ PARAM_DEFINE_FLOAT(TRIG_ACT_TIME, 0.5f);
* @group Camera trigger
*/
PARAM_DEFINE_INT32(TRIG_MODE, 0);
/**
* Camera trigger pin
*
* Selects which pin is used, ranges from 1 to 6 (AUX1-AUX6)
*
* @min 1
* @max 6
* @group Camera trigger
*/
PARAM_DEFINE_INT32(TRIG_PIN, 1);