]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/commitdiff
FlexRay interrupts enabled after initialisation is done, RX FIFO buffer detection...
authorMichal Horn <hornmich@fel.cvut.cz>
Mon, 30 Sep 2013 15:49:53 +0000 (17:49 +0200)
committerMichal Horn <hornmich@fel.cvut.cz>
Mon, 30 Sep 2013 15:49:53 +0000 (17:49 +0200)
rpp/src/drv/fr_tms570.c

index ae17f4629bc663510ddcc00ebee7a216228432e8..cdfcdd37d4ca10b35903440a458c430d5a862e7b 100644 (file)
@@ -1261,6 +1261,10 @@ Std_ReturnType Fr_ControllerInit(uint8_t Fr_CtrlIdx) {
        if (Fr_POC_go_to_ready_from_config() == E_NOT_OK) {
                return E_NOT_OK;
        }
+       /* Enable all interrupts */
+       frayREG->EIES_UN.EIES_UL = 0xFFFFFFFF;
+       frayREG->SIES_UN.SIES_UL = 0xFFFFFFFF;
+
 #ifdef DET_ACTIVATED
        Fr_DrvState = FR_ST_CTRL_INITIALIZED;
 #endif
@@ -1685,10 +1689,8 @@ Std_ReturnType Fr_ReceiveRxLPdu(uint8_t Fr_CtrlIdx, uint16_t Fr_LPduIdx, uint8_t
                        }
                }
        }
-       if (*Fr_LPduStatusPtr == FR_NOT_RECEIVED) {             // No message was received, try the FIFO.
+       if (*Fr_LPduStatusPtr == FR_NOT_RECEIVED && Fr_BuffersConfigured[bufferIndex] == TRUE) {                // No message was received, try the FIFO.
                bufferIndex = frayREG->MRC_UN.MRC_ST.ffb_B8;
-               if (Fr_BuffersConfigured[bufferIndex] == FALSE)
-                       return E_NOT_OK;        // No FIFO configured
                buffer_cfg_ptr = Fr_buffer_slot_map[bufferIndex].buffer_ptr;
                if ((Fr_LPduIdx & (~buffer_cfg_ptr->fidMask)) != (buffer_cfg_ptr->slotId & (~buffer_cfg_ptr->fidMask)) ) {
                        bufferFound = TRUE;