Browse Source

fmu:fix doumantation and pwm 8 useage

sbg
David Sidrane 6 years ago committed by Lorenz Meier
parent
commit
d3c37e0206
  1. 93
      src/drivers/px4fmu/fmu.cpp

93
src/drivers/px4fmu/fmu.cpp

@ -83,6 +83,7 @@ enum PortMode { @@ -83,6 +83,7 @@ enum PortMode {
PORT_MODE_UNSET = 0,
PORT_FULL_GPIO,
PORT_FULL_PWM,
PORT_PWM8,
PORT_PWM6,
PORT_PWM5,
PORT_PWM4,
@ -2613,56 +2614,73 @@ PX4FMU::fmu_new_mode(PortMode new_mode) @@ -2613,56 +2614,73 @@ PX4FMU::fmu_new_mode(PortMode new_mode)
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 8
case PORT_PWM6:
/* select 4-pin PWM mode */
servo_mode = PX4FMU::MODE_6PWM;
case PORT_PWM8:
/* select 8-pin PWM mode */
servo_mode = PX4FMU::MODE_8PWM;
break;
#endif
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 6
case PORT_PWM6:
/* select 6-pin PWM mode */
servo_mode = PX4FMU::MODE_6PWM;
break;
case PORT_PWM5:
/* select 5-pin PWM mode */
servo_mode = PX4FMU::MODE_5PWM;
break;
# if defined(BOARD_HAS_CAPTURE)
case PORT_PWM5CAP1:
/* select 5-pin PWM mode 1 capture */
servo_mode = PX4FMU::MODE_5PWM1CAP;
mode_with_input = true;
break;
# endif
case PORT_PWM4:
/* select 4-pin PWM mode */
servo_mode = PX4FMU::MODE_4PWM;
break;
# if defined(BOARD_HAS_CAPTURE)
case PORT_PWM4CAP1:
/* select 4-pin PWM mode 1 capture */
servo_mode = PX4FMU::MODE_4PWM1CAP;
mode_with_input = true;
break;
# endif
case PORT_PWM3:
/* select 3-pin PWM mode */
servo_mode = PX4FMU::MODE_3PWM;
break;
# if defined(BOARD_HAS_CAPTURE)
case PORT_PWM3CAP1:
/* select 3-pin PWM mode 1 capture */
servo_mode = PX4FMU::MODE_3PWM1CAP;
mode_with_input = true;
break;
# endif
case PORT_PWM2:
/* select 2-pin PWM mode */
servo_mode = PX4FMU::MODE_2PWM;
break;
# if defined(BOARD_HAS_CAPTURE)
case PORT_PWM2CAP2:
/* select 2-pin PWM mode 2 capture */
servo_mode = PX4FMU::MODE_2PWM2CAP;
mode_with_input = true;
break;
# endif
#endif
default:
@ -3025,31 +3043,49 @@ int PX4FMU::custom_command(int argc, char *argv[]) @@ -3025,31 +3043,49 @@ int PX4FMU::custom_command(int argc, char *argv[])
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 6
} else if (!strcmp(verb, "mode_pwm4")) {
new_mode = PORT_PWM4;
} else if (!strcmp(verb, "mode_pwm6")) {
new_mode = PORT_PWM6;
} else if (!strcmp(verb, "mode_pwm2")) {
new_mode = PORT_PWM2;
} else if (!strcmp(verb, "mode_pwm5")) {
new_mode = PORT_PWM5;
} else if (!strcmp(verb, "mode_pwm3")) {
new_mode = PORT_PWM3;
# if defined(BOARD_HAS_CAPTURE)
} else if (!strcmp(verb, "mode_pwm5cap1")) {
new_mode = PORT_PWM5CAP1;
# endif
} else if (!strcmp(verb, "mode_pwm4")) {
new_mode = PORT_PWM4;
# if defined(BOARD_HAS_CAPTURE)
} else if (!strcmp(verb, "mode_pwm4cap1")) {
new_mode = PORT_PWM4CAP1;
# endif
} else if (!strcmp(verb, "mode_pwm3")) {
new_mode = PORT_PWM3;
# if defined(BOARD_HAS_CAPTURE)
} else if (!strcmp(verb, "mode_pwm3cap1")) {
new_mode = PORT_PWM3CAP1;
# endif
} else if (!strcmp(verb, "mode_pwm2")) {
new_mode = PORT_PWM2;
# if defined(BOARD_HAS_CAPTURE)
} else if (!strcmp(verb, "mode_pwm2cap2")) {
new_mode = PORT_PWM2CAP2;
# endif
#endif
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 8
} else if (!strcmp(verb, "mode_pwm6")) {
new_mode = PORT_PWM6;
} else if (!strcmp(verb, "mode_pwm8")) {
new_mode = PORT_PWM8;
#endif
}
@ -3120,18 +3156,22 @@ mixer files. @@ -3120,18 +3156,22 @@ mixer files.
PRINT_MODULE_USAGE_COMMAND("mode_gpio");
PRINT_MODULE_USAGE_COMMAND_DESCR("mode_pwm", "Select all available pins as PWM");
#if defined(BOARD_HAS_PWM)
PRINT_MODULE_USAGE_COMMAND("mode_pwm1");
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 8
PRINT_MODULE_USAGE_COMMAND("mode_pwm8");
#endif
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 6
PRINT_MODULE_USAGE_COMMAND("mode_pwm6");
PRINT_MODULE_USAGE_COMMAND("mode_pwm5");
PRINT_MODULE_USAGE_COMMAND("mode_pwm5cap1");
PRINT_MODULE_USAGE_COMMAND("mode_pwm4");
PRINT_MODULE_USAGE_COMMAND("mode_pwm4cap1");
PRINT_MODULE_USAGE_COMMAND("mode_pwm3");
PRINT_MODULE_USAGE_COMMAND("mode_pwm3cap1");
PRINT_MODULE_USAGE_COMMAND("mode_pwm2");
PRINT_MODULE_USAGE_COMMAND("mode_pwm3");
PRINT_MODULE_USAGE_COMMAND("mode_pwm3cap1");
PRINT_MODULE_USAGE_COMMAND("mode_pwm2cap2");
PRINT_MODULE_USAGE_COMMAND("mode_pwm2cap2");
#endif
#if defined(BOARD_HAS_PWM) && BOARD_HAS_PWM >= 8
PRINT_MODULE_USAGE_COMMAND("mode_pwm6");
#if defined(BOARD_HAS_PWM)
PRINT_MODULE_USAGE_COMMAND("mode_pwm1");
#endif
PRINT_MODULE_USAGE_COMMAND_DESCR("sensor_reset", "Do a sensor reset (SPI bus)");
@ -3167,23 +3207,28 @@ int PX4FMU::print_status() @@ -3167,23 +3207,28 @@ int PX4FMU::print_status()
const char *mode_str = nullptr;
switch (_mode) {
case MODE_NONE: mode_str = "no pwm"; break;
case MODE_1PWM: mode_str = "pwm1"; break;
case MODE_2PWM: mode_str = "pwm2"; break;
case MODE_3PWM: mode_str = "pwm3"; break;
case MODE_2PWM2CAP: mode_str = "pwm2cap2"; break;
case MODE_4PWM: mode_str = "pwm4"; break;
case MODE_3PWM: mode_str = "pwm3"; break;
case MODE_2PWM2CAP: mode_str = "pwm2cap2"; break;
case MODE_3PWM1CAP: mode_str = "pwm3cap1"; break;
case MODE_3PWM1CAP: mode_str = "pwm3cap1"; break;
case MODE_4PWM: mode_str = "pwm4"; break;
case MODE_4PWM1CAP: mode_str = "pwm4cap1"; break;
case MODE_5PWM: mode_str = "pwm5"; break;
case MODE_5PWM1CAP: mode_str = "pwm5cap1"; break;
case MODE_6PWM: mode_str = "pwm6"; break;
case MODE_6PWM: mode_str = "pwm6"; break;
case MODE_8PWM: mode_str = "pwm8"; break;
@ -3193,8 +3238,6 @@ int PX4FMU::print_status() @@ -3193,8 +3238,6 @@ int PX4FMU::print_status()
case MODE_6CAP: mode_str = "cap6"; break;
case MODE_NONE: mode_str = "no pwm"; break;
default:
break;
}

Loading…
Cancel
Save