diff --git a/libraries/AP_HAL_Linux/GPIO.h b/libraries/AP_HAL_Linux/GPIO.h index f6c225ff02..cf92cfa8fa 100644 --- a/libraries/AP_HAL_Linux/GPIO.h +++ b/libraries/AP_HAL_Linux/GPIO.h @@ -23,6 +23,8 @@ private: #include "GPIO_RPI.h" #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE #include "GPIO_Minnow.h" +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP +#include "GPIO_Bebop.h" #endif #endif // CONFIG_HAL_BOARD == HAL_BOARD_LINUX diff --git a/libraries/AP_HAL_Linux/GPIO_Bebop.cpp b/libraries/AP_HAL_Linux/GPIO_Bebop.cpp new file mode 100644 index 0000000000..e60de18daa --- /dev/null +++ b/libraries/AP_HAL_Linux/GPIO_Bebop.cpp @@ -0,0 +1,16 @@ +#include + +#include "GPIO_Bebop.h" + +#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP + +const unsigned Linux::GPIO_Sysfs::pin_table[] = { + [BEBOP_GPIO_CAMV_NRST] = 129, +}; + +const uint8_t Linux::GPIO_Sysfs::n_pins = _BEBOP_GPIO_MAX; + +static_assert(ARRAY_SIZE(Linux::GPIO_Sysfs::pin_table) == _BEBOP_GPIO_MAX, + "GPIO pin_table must have the same size of entries in enum gpio_minnow"); + +#endif diff --git a/libraries/AP_HAL_Linux/GPIO_Bebop.h b/libraries/AP_HAL_Linux/GPIO_Bebop.h new file mode 100644 index 0000000000..fd5835dc72 --- /dev/null +++ b/libraries/AP_HAL_Linux/GPIO_Bebop.h @@ -0,0 +1,8 @@ +#pragma once + +#include "GPIO_Sysfs.h" + +enum gpio_bebop { + BEBOP_GPIO_CAMV_NRST, + _BEBOP_GPIO_MAX, +}; diff --git a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp index 4939d6230a..d5946320de 100644 --- a/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp +++ b/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp @@ -91,7 +91,7 @@ static GPIO_BBB gpioDriver; */ #elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO || CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_RASPILOT || CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 static GPIO_RPI gpioDriver; -#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE +#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE || CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP static GPIO_Sysfs gpioDriver; #else static Empty::EmptyGPIO gpioDriver;