diff --git a/src/modules/gpio_led/gpio_led.c b/src/modules/gpio_led/gpio_led.c index 7eecb8cd63..ca1f084932 100644 --- a/src/modules/gpio_led/gpio_led.c +++ b/src/modules/gpio_led/gpio_led.c @@ -56,49 +56,42 @@ #include #include -#if defined(BOARD_HAS_FMU_GPIO) && defined(GPIO_SERVO_1) -# define LED_ON_SERVO_GPIO -# define PIN_NAME "AUX OUT 1" - +#define PIN_NAME "AUX OUT 1" /* Minimum pin number */ -# define GPIO_MIN_SERVO_PIN 1 +#define GPIO_MIN_SERVO_PIN 1 /* Maximum */ -# if defined(GPIO_SERVO_16) -# define GPIO_MAX_SERVO_PIN 16 -# elif defined(GPIO_SERVO_15) -# define GPIO_MAX_SERVO_PIN 15 -# elif defined(GPIO_SERVO_14) -# define GPIO_MAX_SERVO_PIN 14 -# elif defined(GPIO_SERVO_13) -# define GPIO_MAX_SERVO_PIN 13 -# elif defined(GPIO_SERVO_12) -# define GPIO_MAX_SERVO_PIN 12 -# elif defined(GPIO_SERVO_11) -# define GPIO_MAX_SERVO_PIN 11 -# elif defined(GPIO_SERVO_10) -# define GPIO_MAX_SERVO_PIN 10 -# elif defined(GPIO_SERVO_9) -# define GPIO_MAX_SERVO_PIN 9 -# elif defined(GPIO_SERVO_8) -# define GPIO_MAX_SERVO_PIN 8 -# elif defined(GPIO_SERVO_7) -# define GPIO_MAX_SERVO_PIN 7 -# elif defined(GPIO_SERVO_6) -# define GPIO_MAX_SERVO_PIN 6 -# endif -#endif +#if defined(GPIO_SERVO_16) +# define GPIO_MAX_SERVO_PIN 16 +#elif defined(GPIO_SERVO_15) +# define GPIO_MAX_SERVO_PIN 15 +#elif defined(GPIO_SERVO_14) +# define GPIO_MAX_SERVO_PIN 14 +#elif defined(GPIO_SERVO_13) +# define GPIO_MAX_SERVO_PIN 13 +#elif defined(GPIO_SERVO_12) +# define GPIO_MAX_SERVO_PIN 12 +#elif defined(GPIO_SERVO_11) +# define GPIO_MAX_SERVO_PIN 11 +#elif defined(GPIO_SERVO_10) +# define GPIO_MAX_SERVO_PIN 10 +#elif defined(GPIO_SERVO_9) +# define GPIO_MAX_SERVO_PIN 9 +#elif defined(GPIO_SERVO_8) +# define GPIO_MAX_SERVO_PIN 8 +#elif defined(GPIO_SERVO_7) +# define GPIO_MAX_SERVO_PIN 7 +#elif defined(GPIO_SERVO_6) +# define GPIO_MAX_SERVO_PIN 6 +#else +# error "Board must define GPIO_SERVO_1 and GPIO_SERVO_n where n is 6-16" -#if defined(BOARD_HAS_FMU_GPIO) && defined(GPIO_EXT_1) -# define LED_ON_EXT_GPIO_AND_PIO -# define PIN_NAME "PX4FMU GPIO_EXT1" #endif struct gpio_led_s { struct work_s work; int gpio_fd; - bool use_io; int pin; struct vehicle_status_s vehicle_status; struct battery_status_s battery_status; @@ -121,23 +114,9 @@ void gpio_led_cycle(FAR void *arg); int gpio_led_main(int argc, char *argv[]) { if (argc < 2) { -#if defined(LED_ON_EXT_GPIO_AND_PIO) - errx(1, "usage: gpio_led {start|stop} [-p <1|2|a1|a2|r1|r2>]\n" - "\t-p\tUse pin:\n" - "\t\t1\tPX4FMU GPIO_EXT1 (default)\n" - "\t\t2\tPX4FMU GPIO_EXT2\n" - "\t\ta1\tPX4IO ACC1\n" - "\t\ta2\tPX4IO ACC2\n" - "\t\tr1\tPX4IO RELAY1\n" - "\t\tr2\tPX4IO RELAY2" - ); -#endif - -#if defined(LED_ON_SERVO_GPIO) errx(1, "usage: gpio_led {start|stop} [-p ]\n" "\t-p \tUse specified AUX OUT pin number (default: 1)" ); -#endif } else { @@ -146,64 +125,18 @@ int gpio_led_main(int argc, char *argv[]) errx(1, "already running"); } - bool use_io = false; - - /* by default use GPIO_EXT_1 on FMUv1 and GPIO_SERVO_1 on FMUv2 */ + /* by default GPIO_SERVO_1 on FMUv2 */ int pin = 1; /* pin name to display */ -#if defined(LED_ON_EXT_GPIO_AND_PIO) - char *pin_name = PIN_NAME; -#endif -#if defined(LED_ON_SERVO_GPIO) char pin_name[sizeof(PIN_NAME) + 2] = PIN_NAME; -#endif if (argc > 2) { if (!strcmp(argv[2], "-p")) { -#if defined(LED_ON_EXT_GPIO_AND_PIO) - if (!strcmp(argv[3], "1")) { - use_io = false; - pin = GPIO_EXT_1; - pin_name = "PX4FMU GPIO_EXT1"; - - } else if (!strcmp(argv[3], "2")) { - use_io = false; - pin = GPIO_EXT_2; - pin_name = "PX4FMU GPIO_EXT2"; - - } else if (!strcmp(argv[3], "a1")) { - use_io = true; - pin = PX4IO_P_SETUP_RELAYS_ACC1; - pin_name = "PX4IO ACC1"; - - } else if (!strcmp(argv[3], "a2")) { - use_io = true; - pin = PX4IO_P_SETUP_RELAYS_ACC2; - pin_name = "PX4IO ACC2"; - - } else if (!strcmp(argv[3], "r1")) { - use_io = true; - pin = PX4IO_P_SETUP_RELAYS_POWER1; - pin_name = "PX4IO RELAY1"; - - } else if (!strcmp(argv[3], "r2")) { - use_io = true; - pin = PX4IO_P_SETUP_RELAYS_POWER2; - pin_name = "PX4IO RELAY2"; - - } else { - errx(1, "unsupported pin: %s", argv[3]); - } - -#endif // defined(LED_ON_EXT_GPIO_AND_PIO) - -#if defined(LED_ON_SERVO_GPIO) unsigned int n = strtoul(argv[3], NULL, 10); if (n >= GPIO_MIN_SERVO_PIN && n <= GPIO_MAX_SERVO_PIN) { - use_io = false; pin = 1 << (n - 1); snprintf(pin_name, sizeof(pin_name), "AUX OUT %d", n); @@ -211,13 +144,11 @@ int gpio_led_main(int argc, char *argv[]) errx(1, "unsupported pin: %s", argv[3]); } -#endif // defined(LED_ON_SERVO_GPIO) } } gpio_led_data = malloc(sizeof(struct gpio_led_s)); memset(gpio_led_data, 0, sizeof(struct gpio_led_s)); - gpio_led_data->use_io = use_io; gpio_led_data->pin = pin; int ret = work_queue(LPWORK, &(gpio_led_data->work), gpio_led_start, gpio_led_data, 0); @@ -252,14 +183,6 @@ void gpio_led_start(FAR void *arg) char *gpio_dev = PX4FMU_DEVICE_PATH; -#if defined(BOARD_USES_PX4IO) - - if (priv->use_io) { - gpio_dev = PX4IO_DEVICE_PATH; - } - -#endif - /* open GPIO device */ priv->gpio_fd = open(gpio_dev, 0);