@@ -123,6 +123,10 @@ void MixingOutput::initParamHandles(const uint8_t instance_start)
123
123
_param_handles[i].max = param_find (param_name);
124
124
snprintf (param_name, sizeof (param_name), " %s_%s%d" , _param_prefix, " FAIL" , i + instance_start);
125
125
_param_handles[i].failsafe = param_find (param_name);
126
+ snprintf (param_name, sizeof (param_name), " %s_%s%d" , _param_prefix, " MINA" , i + instance_start);
127
+ _param_handles[i].angle_min = param_find (param_name);
128
+ snprintf (param_name, sizeof (param_name), " %s_%s%d" , _param_prefix, " MAXA" , i + instance_start);
129
+ _param_handles[i].angle_max = param_find (param_name);
126
130
}
127
131
128
132
snprintf (param_name, sizeof (param_name), " %s_%s" , _param_prefix, " REV" );
@@ -182,6 +186,20 @@ void MixingOutput::updateParams()
182
186
_max_value[i] = tmp;
183
187
}
184
188
189
+ if (_param_handles[i].angle_max != PARAM_INVALID && param_get (_param_handles[i].angle_max , &val) == 0 ) {
190
+ _angle_max[i] = val;
191
+ }
192
+
193
+ if (_param_handles[i].angle_min != PARAM_INVALID && param_get (_param_handles[i].angle_min , &val) == 0 ) {
194
+ _angle_min[i] = val;
195
+ }
196
+
197
+ if (_angle_min[i] > _angle_max[i]) {
198
+ int tmp = _angle_min[i];
199
+ _angle_min[i] = _angle_max[i];
200
+ _angle_max[i] = tmp;
201
+ }
202
+
185
203
if (_param_handles[i].failsafe != PARAM_INVALID && param_get (_param_handles[i].failsafe , &val) == 0 ) {
186
204
_failsafe_value[i] = val;
187
205
}
0 commit comments