paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [5311] some more SPI reset tweaking


From: antoine drouin
Subject: [paparazzi-commits] [5311] some more SPI reset tweaking
Date: Wed, 11 Aug 2010 18:25:38 +0000

Revision: 5311
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=5311
Author:   poine
Date:     2010-08-11 18:25:37 +0000 (Wed, 11 Aug 2010)
Log Message:
-----------
some more SPI reset tweaking

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/lisa/arch/stm32/lisa_overo_link_arch.h

Modified: paparazzi3/trunk/sw/airborne/lisa/arch/stm32/lisa_overo_link_arch.h
===================================================================
--- paparazzi3/trunk/sw/airborne/lisa/arch/stm32/lisa_overo_link_arch.h 
2010-08-11 17:51:30 UTC (rev 5310)
+++ paparazzi3/trunk/sw/airborne/lisa/arch/stm32/lisa_overo_link_arch.h 
2010-08-11 18:25:37 UTC (rev 5311)
@@ -15,7 +15,8 @@
 #define OveroLinkEvent(_data_received_handler, _crc_failed_handler) {  \
     if (overo_link.status == DATA_AVAILABLE) {                   /* set by DMA 
interrupt */ \
       while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE)==RESET);    \
-      while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY)==SET);       \
+      while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) ==RESET);    \
+      while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_BSY) ==SET);      \
       uint8_t foo1 __attribute__ ((unused)) = SPI_I2S_ReceiveData(SPI1); \
       overo_link.timeout = 0;                                          \
       if((SPI_I2S_GetFlagStatus(SPI1, SPI_FLAG_CRCERR)) == RESET) {    \
@@ -26,6 +27,7 @@
        overo_link_arch_prepare_next_transfert();                       \
       }                                                                        
\
       else {                                                           \
+       SPI_Cmd(SPI1, DISABLE);                                         \
        LED_OFF(OVERO_LINK_LED_OK);                                     \
        LED_ON(OVERO_LINK_LED_KO);                                      \
        overo_link.crc_err_cnt++;                                       \
@@ -84,8 +86,8 @@
 
 
 #define violently_reset_spi() {                                                
\
+    SPI_Cmd(SPI1, DISABLE);                                            \
     SPI_I2S_DeInit(SPI1);                                              \
-    SPI_Cmd(SPI1, DISABLE);                                            \
     SPI_InitTypeDef SPI_InitStructure;                                 \
     SPI_InitStructure.SPI_Direction         = SPI_Direction_2Lines_FullDuplex; 
\
     SPI_InitStructure.SPI_Mode              = SPI_Mode_Slave;          \




reply via email to

[Prev in Thread] Current Thread [Next in Thread]