omnibus: initial osd driver for omnibus board

This commit is contained in:
DanielePettenuzzo
2018-10-16 09:44:17 +02:00
committed by Daniele Pettenuzzo
parent 31f23c1e76
commit c3f9294b49
7 changed files with 963 additions and 0 deletions

View File

@@ -42,6 +42,7 @@ px4_add_board(
#telemetry # all available telemetry drivers
telemetry/frsky_telemetry
#test_ppm
osd
MODULES
attitude_estimator_q

View File

@@ -167,6 +167,7 @@
#define GPIO_SPI3_MOSI_OFF _PIN_OFF(GPIO_SPI3_MOSI)
/* SPI 3 CS's off */
#define GPIO_SPI3_CS_BARO_OFF _PIN_OFF(GPIO_SPI3_CS_BARO)
#define GPIO_SPI3_CS_OSD_OFF _PIN_OFF(GPIO_SPI3_CS_OSD)
// One device per bus
#define PX4_SPI_BUS_SENSORS 1
@@ -174,6 +175,7 @@
#define PX4_SPIDEV_ICM_20602 1
#define PX4_SPIDEV_BARO_BUS 3
#define PX4_SPIDEV_BARO 1
#define PX4_SPIDEV_OSD 2
/* USB OTG FS
*
@@ -186,6 +188,7 @@
/*----------------------------------------------------------*/
#define PX4_SPI_BUS_BARO 3
#define PX4_SPI_BUS_OSD 3
#define PX4_I2C_BUS_EXPANSION 2
#define PX4_I2C_BUS_LED PX4_I2C_BUS_EXPANSION

View File

@@ -76,6 +76,7 @@ __EXPORT void stm32_spiinitialize()
stm32_configgpio(GPIO_SPI_CS_MEMS);
stm32_configgpio(GPIO_SPI_CS_SDCARD);
stm32_configgpio(GPIO_SPI3_CS_BARO);
stm32_configgpio(GPIO_SPI3_CS_OSD);
}
__EXPORT void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid, bool selected)
@@ -107,6 +108,7 @@ __EXPORT void stm32_spi3select(FAR struct spi_dev_s *dev, uint32_t devid, bool s
UNUSED(devid);
/* SPI select is active low, so write !selected to select the device */
px4_arch_gpiowrite(GPIO_SPI3_CS_BARO, !selected);
px4_arch_gpiowrite(GPIO_SPI3_CS_OSD, !selected);
}
__EXPORT uint8_t stm32_spi3status(FAR struct spi_dev_s *dev, uint32_t devid)
@@ -138,6 +140,8 @@ __EXPORT void board_spi_reset(int ms)
/* disable SPI bus 3 CS */
stm32_configgpio(GPIO_SPI3_CS_BARO_OFF);
stm32_gpiowrite(GPIO_SPI3_CS_BARO_OFF, 0);
stm32_configgpio(GPIO_SPI3_CS_OSD_OFF);
stm32_gpiowrite(GPIO_SPI3_CS_OSD_OFF, 0);
/* disable SPI bus 1*/
stm32_configgpio(GPIO_SPI1_SCK_OFF);