drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver

* Basic Broadcom AFBR-S50 driver using vendor API and binary blob https://github.com/Broadcom/AFBR-S50-API
* fix ARK Flow paw3902 rotation
This commit is contained in:
AlexKlimaj
2021-06-15 10:12:24 -06:00
committed by GitHub
parent e828ba4288
commit dddd2c3297
51 changed files with 7753 additions and 37 deletions
+3 -3
View File
@@ -12,6 +12,7 @@ px4_add_board(
UAVCAN_INTERFACES 1
DRIVERS
bootloaders
distance_sensor/broadcom/afbrs50
imu/bosch/bmi088
optical_flow/paw3902
uavcannode
@@ -20,14 +21,13 @@ px4_add_board(
load_mon
#sensors
SYSTEMCMDS
mft
mtd
param
perf
reboot
system_time
top
topic_listener
#topic_listener
uorb
ver
work_queue
)
+2 -2
View File
@@ -13,6 +13,7 @@ px4_add_board(
UAVCAN_INTERFACES 1
DRIVERS
bootloaders
distance_sensor/broadcom/afbrs50
imu/bosch/bmi088
optical_flow/paw3902
uavcannode
@@ -21,14 +22,13 @@ px4_add_board(
#load_mon
#sensors
SYSTEMCMDS
mft
mtd
param
#perf
#reboot
#system_time
#top
#topic_listener
#uorb
#ver
#work_queue
)
+3 -1
View File
@@ -4,6 +4,8 @@
#------------------------------------------------------------------------------
# Internal SPI
paw3902 -s start -Y 90
paw3902 -s start -Y 180
bmi088 -A -s -R 4 start
bmi088 -G -s -R 4 start
afbrs50 start
@@ -133,8 +133,8 @@
#define GPIO_SPI1_MOSI GPIO_SPI1_MOSI_1
#define GPIO_SPI1_SCK GPIO_SPI1_SCK_1
#define GPIO_SPI2_MISO GPIO_SPI2_MISO_1
#define GPIO_SPI2_MOSI GPIO_SPI2_MOSI_1
#define GPIO_SPI2_SCK GPIO_SPI2_SCK_1
#define GPIO_SPI2_MISO GPIO_SPI2_MISO_1 /* PB14 */
#define GPIO_SPI2_MOSI GPIO_SPI2_MOSI_1 /* PB15 */
#define GPIO_SPI2_SCK GPIO_SPI2_SCK_1 /* PB10 */
#endif /* __ARCH_BOARD_BOARD_H */
@@ -40,6 +40,4 @@
// DMA2 Channel/Stream Selections
//--------------------------------------------//---------------------------//----------------
#define DMACHAN_SPI1_RX DMAMAP_SPI1_RX_2 // DMA2, Stream 2, Channel 3
#define DMACHAN_SPI2_RX DMAMAP_SPI2_RX // DMA2, Stream 3, Channel 0
#define DMACHAN_SPI2_TX DMAMAP_SPI2_TX // DMA2, Stream 4, Channel 0
#define DMACHAN_SPI1_TX DMAMAP_SPI1_TX_1 // DMA2, Stream 5, Channel 3
@@ -144,8 +144,6 @@ CONFIG_STM32_SPI1=y
CONFIG_STM32_SPI1_DMA=y
CONFIG_STM32_SPI1_DMA_BUFFER=1024
CONFIG_STM32_SPI2=y
CONFIG_STM32_SPI2_DMA=y
CONFIG_STM32_SPI2_DMA_BUFFER=1024
CONFIG_STM32_SPI_DMA=y
CONFIG_STM32_TIM8=y
CONFIG_STM32_USART2=y
+7
View File
@@ -56,6 +56,13 @@
#define GPIO_nLED_RED /* PB3 */ (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN3)
#define GPIO_nLED_BLUE /* PA8 */ (GPIO_OUTPUT|GPIO_OPENDRAIN|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTA|GPIO_PIN8)
#define BROADCOM_AFBR_S50_S2PI_SPI_BUS 2
#define BROADCOM_AFBR_S50_S2PI_CS /* PB12 */ (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_50MHz|GPIO_OUTPUT_SET|GPIO_PORTB|GPIO_PIN12)
#define BROADCOM_AFBR_S50_S2PI_IRQ /* PB4 */ (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN4|GPIO_EXTI)
#define BROADCOM_AFBR_S50_S2PI_CLK /* PB10 */ GPIO_SPI2_SCK_1
#define BROADCOM_AFBR_S50_S2PI_MOSI /* PB15 */ GPIO_SPI2_MOSI_1
#define BROADCOM_AFBR_S50_S2PI_MISO /* PB14 */ GPIO_SPI2_MISO_1
#define BOARD_HAS_CONTROL_STATUS_LEDS 1
#define BOARD_OVERLOAD_LED LED_RED
#define BOARD_ARMED_STATE_LED LED_BLUE