aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sidrane <david_s5@nscdg.com>2015-01-26 11:24:20 -1000
committerLorenz Meier <lm@inf.ethz.ch>2015-02-11 07:40:58 +0100
commit5eb0048a21b05874f2b9b8741346f4ad219c587f (patch)
tree433f1a594cb40a15ec8a2e963fc02c0b87bf968b
parentdf6e29a72e79469ade91cfe6163a6924a247c3ad (diff)
downloadpx4-firmware-5eb0048a21b05874f2b9b8741346f4ad219c587f.tar.gz
px4-firmware-5eb0048a21b05874f2b9b8741346f4ad219c587f.tar.bz2
px4-firmware-5eb0048a21b05874f2b9b8741346f4ad219c587f.zip
Bug fix:The CRC detection on px4io was failing with -1 result, do the the fact that the PX4IO_Uploader had closed the port and Nuttx (now) disabled the clock and PX4IO_serial did not managed the clock
-rw-r--r--src/drivers/px4io/px4io_serial.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drivers/px4io/px4io_serial.cpp b/src/drivers/px4io/px4io_serial.cpp
index 16d917ef5..752f22d01 100644
--- a/src/drivers/px4io/px4io_serial.cpp
+++ b/src/drivers/px4io/px4io_serial.cpp
@@ -217,6 +217,9 @@ PX4IO_serial::~PX4IO_serial()
stm32_unconfiggpio(PX4IO_SERIAL_TX_GPIO);
stm32_unconfiggpio(PX4IO_SERIAL_RX_GPIO);
+ /* Disable APB clock for the USART peripheral */
+ modifyreg32(STM32_RCC_APB2ENR, RCC_APB2ENR_USART6EN, 0);
+
/* and kill our semaphores */
sem_destroy(&_completion_semaphore);
sem_destroy(&_bus_semaphore);
@@ -247,6 +250,10 @@ PX4IO_serial::init()
return -1;
}
+
+ /* Enable the APB clock for the USART peripheral */
+ modifyreg32(STM32_RCC_APB2ENR, 0, RCC_APB2ENR_USART6EN);
+
/* configure pins for serial use */
stm32_configgpio(PX4IO_SERIAL_TX_GPIO);
stm32_configgpio(PX4IO_SERIAL_RX_GPIO);