mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-21 11:54:15 +01:00
OP-1685 - handle servo outputs with PPM_Pin6, sanity check for flexi_ppm
This commit is contained in:
parent
d9216d72fe
commit
fbdd88c161
@ -717,7 +717,7 @@ void PIOS_Board_Init(void)
|
|||||||
uint8_t hwsettings_rcvrport;
|
uint8_t hwsettings_rcvrport;
|
||||||
HwSettingsCC_RcvrPortGet(&hwsettings_rcvrport);
|
HwSettingsCC_RcvrPortGet(&hwsettings_rcvrport);
|
||||||
|
|
||||||
switch (hwsettings_rcvrport) {
|
switch ((HwSettingsCC_RcvrPortOptions)hwsettings_rcvrport) {
|
||||||
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
||||||
#if defined(PIOS_INCLUDE_HCSR04)
|
#if defined(PIOS_INCLUDE_HCSR04)
|
||||||
{
|
{
|
||||||
@ -746,7 +746,7 @@ void PIOS_Board_Init(void)
|
|||||||
#if defined(PIOS_INCLUDE_PPM)
|
#if defined(PIOS_INCLUDE_PPM)
|
||||||
{
|
{
|
||||||
uint32_t pios_ppm_id;
|
uint32_t pios_ppm_id;
|
||||||
if( hwsettings_rcvrport == HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT){
|
if (hwsettings_rcvrport == HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT) {
|
||||||
PIOS_PPM_Init(&pios_ppm_id, &pios_ppm_pin6_cfg);
|
PIOS_PPM_Init(&pios_ppm_id, &pios_ppm_pin6_cfg);
|
||||||
} else {
|
} else {
|
||||||
PIOS_PPM_Init(&pios_ppm_id, &pios_ppm_cfg);
|
PIOS_PPM_Init(&pios_ppm_id, &pios_ppm_cfg);
|
||||||
@ -787,6 +787,8 @@ void PIOS_Board_Init(void)
|
|||||||
}
|
}
|
||||||
#endif /* PIOS_INCLUDE_PWM */
|
#endif /* PIOS_INCLUDE_PWM */
|
||||||
break;
|
break;
|
||||||
|
case HWSETTINGS_CC_RCVRPORT_OUTPUTSONESHOT:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(PIOS_INCLUDE_GCSRCVR)
|
#if defined(PIOS_INCLUDE_GCSRCVR)
|
||||||
@ -804,11 +806,12 @@ void PIOS_Board_Init(void)
|
|||||||
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
|
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
|
||||||
|
|
||||||
#ifndef PIOS_ENABLE_DEBUG_PINS
|
#ifndef PIOS_ENABLE_DEBUG_PINS
|
||||||
switch (hwsettings_rcvrport) {
|
switch ((HwSettingsCC_RcvrPortOptions)hwsettings_rcvrport) {
|
||||||
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
||||||
case HWSETTINGS_CC_RCVRPORT_PWMNOONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_PWMNOONESHOT:
|
||||||
case HWSETTINGS_CC_RCVRPORT_PPMNOONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_PPMNOONESHOT:
|
||||||
case HWSETTINGS_CC_RCVRPORT_PPMPWMNOONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_PPMPWMNOONESHOT:
|
||||||
|
case HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT:
|
||||||
PIOS_Servo_Init(&pios_servo_cfg);
|
PIOS_Servo_Init(&pios_servo_cfg);
|
||||||
break;
|
break;
|
||||||
case HWSETTINGS_CC_RCVRPORT_PPMOUTPUTSNOONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_PPMOUTPUTSNOONESHOT:
|
||||||
@ -865,17 +868,20 @@ SystemAlarmsExtendedAlarmStatusOptions CopterControlConfigHook()
|
|||||||
uint8_t recmode;
|
uint8_t recmode;
|
||||||
|
|
||||||
HwSettingsCC_RcvrPortGet(&recmode);
|
HwSettingsCC_RcvrPortGet(&recmode);
|
||||||
|
uint8_t flexiMode;
|
||||||
uint8_t modes[ACTUATORSETTINGS_BANKMODE_NUMELEM];
|
uint8_t modes[ACTUATORSETTINGS_BANKMODE_NUMELEM];
|
||||||
ActuatorSettingsBankModeGet(modes);
|
ActuatorSettingsBankModeGet(modes);
|
||||||
|
HwSettingsCC_FlexiPortGet(&flexiMode);
|
||||||
|
|
||||||
switch ((HwSettingsCC_RcvrPortOptions)recmode) {
|
switch ((HwSettingsCC_RcvrPortOptions)recmode) {
|
||||||
// Those modes allows oneshot usage
|
// Those modes allows oneshot usage
|
||||||
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_DISABLEDONESHOT:
|
||||||
case HWSETTINGS_CC_RCVRPORT_OUTPUTSONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_OUTPUTSONESHOT:
|
||||||
return SYSTEMALARMS_EXTENDEDALARMSTATUS_NONE;
|
|
||||||
|
|
||||||
case HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT:
|
case HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT:
|
||||||
if (modes[3] == ACTUATORSETTINGS_BANKMODE_ONESHOT ||
|
if ((recmode == HWSETTINGS_CC_RCVRPORT_PPM_PIN6ONESHOT ||
|
||||||
modes[3] == ACTUATORSETTINGS_BANKMODE_ONESHOT125) {
|
flexiMode == HWSETTINGS_CC_FLEXIPORT_PPM) &&
|
||||||
|
(modes[3] == ACTUATORSETTINGS_BANKMODE_ONESHOT ||
|
||||||
|
modes[3] == ACTUATORSETTINGS_BANKMODE_ONESHOT125)) {
|
||||||
return SYSTEMALARMS_EXTENDEDALARMSTATUS_UNSUPPORTEDCONFIG_ONESHOT;
|
return SYSTEMALARMS_EXTENDEDALARMSTATUS_UNSUPPORTEDCONFIG_ONESHOT;
|
||||||
} else {
|
} else {
|
||||||
return SYSTEMALARMS_EXTENDEDALARMSTATUS_NONE;
|
return SYSTEMALARMS_EXTENDEDALARMSTATUS_NONE;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user