mirror of https://github.com/ArduPilot/ardupilot
AP_HAL_Linux: HAL_Linux_Class: delay SPIUARTDriver static initialization
There's an implicit (apart from the name) dependency between SPI and SPIUARTDriver which results in a crush on a restart or a shutdown. By moving the initialization we're making sure that all objects are deleted in the right order.
This commit is contained in:
parent
226eeeb738
commit
e79fc893fa
|
@ -67,13 +67,6 @@ static Util utilInstance;
|
|||
|
||||
// 3 serial ports on Linux for now
|
||||
static UARTDriver uartADriver(true);
|
||||
#if 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_BH
|
||||
static SPIUARTDriver uartBDriver;
|
||||
#else
|
||||
static UARTDriver uartBDriver(false);
|
||||
#endif
|
||||
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_RASPILOT
|
||||
static RPIOUARTDriver uartCDriver;
|
||||
#else
|
||||
|
@ -86,6 +79,14 @@ static UARTDriver uartFDriver(false);
|
|||
static I2CDeviceManager i2c_mgr_instance;
|
||||
static SPIDeviceManager spi_mgr_instance;
|
||||
|
||||
#if 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_BH
|
||||
static SPIUARTDriver uartBDriver;
|
||||
#else
|
||||
static UARTDriver uartBDriver(false);
|
||||
#endif
|
||||
|
||||
#if CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_NAVIO || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2 || \
|
||||
CONFIG_HAL_BOARD_SUBTYPE == HAL_BOARD_SUBTYPE_LINUX_BH || \
|
||||
|
|
Loading…
Reference in New Issue