AP_HAL_Linux: use GPIO_Sysfs for Navio 2
This commit is contained in:
parent
c5141ad87e
commit
8fcd30c611
@ -24,13 +24,14 @@ private:
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BLUE
|
||||
#include "GPIO_BBB.h"
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_EDGE || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DARK || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI
|
||||
#include "GPIO_RPI.h"
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2
|
||||
#include "GPIO_Navio2.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
|
||||
|
34
libraries/AP_HAL_Linux/GPIO_Navio2.cpp
Normal file
34
libraries/AP_HAL_Linux/GPIO_Navio2.cpp
Normal file
@ -0,0 +1,34 @@
|
||||
#include <AP_Common/AP_Common.h>
|
||||
|
||||
#include "GPIO_Navio2.h"
|
||||
|
||||
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2
|
||||
|
||||
const unsigned Linux::GPIO_Sysfs::pin_table[] = {
|
||||
[NAVIO2_GPIO_PWM1] = 500,
|
||||
[NAVIO2_GPIO_PWM2] = 501,
|
||||
[NAVIO2_GPIO_PWM3] = 502,
|
||||
[NAVIO2_GPIO_PWM4] = 503,
|
||||
[NAVIO2_GPIO_PWM5] = 504,
|
||||
[NAVIO2_GPIO_PWM6] = 505,
|
||||
[NAVIO2_GPIO_PWM7] = 506,
|
||||
[NAVIO2_GPIO_PWM8] = 507,
|
||||
[NAVIO2_GPIO_PWM9] = 508,
|
||||
[NAVIO2_GPIO_PWM10] = 509,
|
||||
[NAVIO2_GPIO_PWM11] = 510,
|
||||
[NAVIO2_GPIO_PWM12] = 511,
|
||||
[NAVIO2_GPIO_PWM13] = 512,
|
||||
[NAVIO2_GPIO_PWM14] = 513,
|
||||
[NAVIO2_GPIO_IO17] = 17,
|
||||
[NAVIO2_GPIO_IO18] = 18,
|
||||
[NAVIO2_GPIO_RED] = 4,
|
||||
[NAVIO2_GPIO_GREEN] = 27,
|
||||
[NAVIO2_GPIO_BLUE] = 6,
|
||||
};
|
||||
|
||||
const uint8_t Linux::GPIO_Sysfs::n_pins = _NAVIO2_GPIO_MAX;
|
||||
|
||||
static_assert(ARRAY_SIZE(Linux::GPIO_Sysfs::pin_table) == _NAVIO2_GPIO_MAX,
|
||||
"GPIO pin_table must have the same size of entries in enum gpio_minnow");
|
||||
|
||||
#endif
|
26
libraries/AP_HAL_Linux/GPIO_Navio2.h
Normal file
26
libraries/AP_HAL_Linux/GPIO_Navio2.h
Normal file
@ -0,0 +1,26 @@
|
||||
#pragma once
|
||||
|
||||
#include "GPIO_Sysfs.h"
|
||||
|
||||
enum gpio_navio2 {
|
||||
NAVIO2_GPIO_PWM1,
|
||||
NAVIO2_GPIO_PWM2,
|
||||
NAVIO2_GPIO_PWM3,
|
||||
NAVIO2_GPIO_PWM4,
|
||||
NAVIO2_GPIO_PWM5,
|
||||
NAVIO2_GPIO_PWM6,
|
||||
NAVIO2_GPIO_PWM7,
|
||||
NAVIO2_GPIO_PWM8,
|
||||
NAVIO2_GPIO_PWM9,
|
||||
NAVIO2_GPIO_PWM10,
|
||||
NAVIO2_GPIO_PWM11,
|
||||
NAVIO2_GPIO_PWM12,
|
||||
NAVIO2_GPIO_PWM13,
|
||||
NAVIO2_GPIO_PWM14,
|
||||
NAVIO2_GPIO_IO17,
|
||||
NAVIO2_GPIO_IO18,
|
||||
NAVIO2_GPIO_RED,
|
||||
NAVIO2_GPIO_GREEN,
|
||||
NAVIO2_GPIO_BLUE,
|
||||
_NAVIO2_GPIO_MAX,
|
||||
};
|
@ -4,7 +4,6 @@
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DARK || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_EDGE || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI
|
||||
|
||||
|
@ -111,13 +111,14 @@ static GPIO_BBB gpioDriver;
|
||||
use the RPI gpio driver on Navio
|
||||
*/
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_EDGE || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DARK || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_PXFMINI
|
||||
static GPIO_RPI gpioDriver;
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2
|
||||
static GPIO_Sysfs gpioDriver;
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_MINLURE || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BEBOP || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_DISCO || \
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "DiscreteRGBLed.h"
|
||||
#include "DiscoLED.h"
|
||||
#include <stdio.h>
|
||||
#include <AP_HAL_Linux/GPIO.h>
|
||||
|
||||
AP_Notify *AP_Notify::_instance;
|
||||
|
||||
@ -159,7 +160,7 @@ void AP_Notify::add_backends(void)
|
||||
ADD_BACKEND(new ToshibaLED_I2C(TOSHIBA_LED_I2C_BUS_INTERNAL));
|
||||
|
||||
#elif CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO2
|
||||
ADD_BACKEND(new DiscreteRGBLed(4, 27, 6, false));
|
||||
ADD_BACKEND(new DiscreteRGBLed(NAVIO2_GPIO_RED, NAVIO2_GPIO_GREEN, NAVIO2_GPIO_BLUE, false));
|
||||
ADD_BACKEND(new ToshibaLED_I2C(TOSHIBA_LED_I2C_BUS_EXTERNAL));
|
||||
ADD_BACKEND(new ToshibaLED_I2C(TOSHIBA_LED_I2C_BUS_INTERNAL));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user