px4fmu-v4:Implement board_on_reset API

Added board_on_reset, to force timer GPIO to output low on reset
   This will stop the motors.
This commit is contained in:
David Sidrane
2017-05-03 08:33:05 +02:00
committed by Lorenz Meier
parent e967c2b340
commit e86d9adb93
2 changed files with 27 additions and 7 deletions
@@ -345,6 +345,7 @@
/* This board provides a DMA pool and APIs */
#define BOARD_DMA_ALLOC_POOL_SIZE 5120
#define BOARD_HAS_ON_RESET 1
__BEGIN_DECLS
/****************************************************************************************************
+26 -7
View File
@@ -152,6 +152,29 @@ __EXPORT void board_peripheral_reset(int ms)
}
/************************************************************************************
* Name: board_on_reset
*
* Description:
* Optionally provided function called on entry to board_system_reset
* It should perform any house keeping prior to the rest.
*
* status - 1 if resetting to boot loader
* 0 if just resetting
*
************************************************************************************/
__EXPORT void board_on_reset(int status)
{
UNUSED(status);
/* configure the GPIO pins to outputs and keep them low */
stm32_configgpio(GPIO_GPIO0_OUTPUT);
stm32_configgpio(GPIO_GPIO1_OUTPUT);
stm32_configgpio(GPIO_GPIO2_OUTPUT);
stm32_configgpio(GPIO_GPIO3_OUTPUT);
stm32_configgpio(GPIO_GPIO4_OUTPUT);
stm32_configgpio(GPIO_GPIO5_OUTPUT);
}
/************************************************************************************
* Name: stm32_boardinitialize
*
@@ -165,13 +188,9 @@ __EXPORT void board_peripheral_reset(int ms)
__EXPORT void
stm32_boardinitialize(void)
{
/* configure the GPIO pins to outputs and keep them low */
stm32_configgpio(GPIO_GPIO0_OUTPUT);
stm32_configgpio(GPIO_GPIO1_OUTPUT);
stm32_configgpio(GPIO_GPIO2_OUTPUT);
stm32_configgpio(GPIO_GPIO3_OUTPUT);
stm32_configgpio(GPIO_GPIO4_OUTPUT);
stm32_configgpio(GPIO_GPIO5_OUTPUT);
/* Reset all PWM to Low outputs */
board_on_reset(-1);
/* configure LEDs */
board_autoled_initialize();