Index: firmware/App/Drivers/Comm.c =================================================================== diff -u -r4d7d40a27130dc813d653f044cbb856b1b7d8481 -r6dfc8ab61908df85dd18a8db78c3b37eda892554 --- firmware/App/Drivers/Comm.c (.../Comm.c) (revision 4d7d40a27130dc813d653f044cbb856b1b7d8481) +++ firmware/App/Drivers/Comm.c (.../Comm.c) (revision 6dfc8ab61908df85dd18a8db78c3b37eda892554) @@ -58,19 +58,33 @@ canXmitsInProgress = FALSE; } +/*********************************************************************//** + * @brief + * The isCAN1TransmitInProgress function determines whether a transmit + * is in progress on the CAN1 peripheral. + * @details Inputs: status registers + * @details Outputs: none + * @return TRUE if a transmit is in progress, FALSE if not + *************************************************************************/ +BOOL isCAN1TransmitInProgress( void ) +{ + BOOL result = ( ( TRUE == canXmitsInProgress ) || ( canREG1->TXRQx[ 0 ] != 0 ) || ( canREG1->TXRQx[ 1 ] != 0 ) ? TRUE : FALSE ); + + return result; +} + +#ifdef DEBUG_ENABLED /*********************************************************************//** * @brief * The signalSCI1XmitsInitiated function sets the SCI1 transmits in progress flag. * @details Inputs: none * @details Outputs: uartXmitsInProgress * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void signalSCI1XmitsInitiated( void ) { uartXmitsInProgress = TRUE; } -#endif /*********************************************************************//** * @brief @@ -79,12 +93,10 @@ * @details Outputs: uartXmitsInProgress * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void signalSCI1XmitsCompleted( void ) { uartXmitsInProgress = FALSE; } -#endif /*********************************************************************//** * @brief @@ -94,12 +106,10 @@ * @details Outputs: DMA receive interrupt is enabled. * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void setSCI1DMAReceiveInterrupt( void ) { sciREG->SETINT = SCI_DMA_RECEIVE_INT; } -#endif /*********************************************************************//** * @brief @@ -109,12 +119,10 @@ * @details Outputs: DMA transmit interrupt is enabled. * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void setSCI1DMATransmitInterrupt( void ) { sciREG->SETINT = SCI_DMA_TRANSMIT_INT; } -#endif /*********************************************************************//** * @brief @@ -124,13 +132,11 @@ * @details Outputs: DMA receive interrupt is disabled. * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void clearSCI1DMAReceiveInterrupt( void ) { sciREG->CLEARINT = SCI_DMA_RECEIVE_INT; -} -#endif - +} + /*********************************************************************//** * @brief * The clearSCI1DMATransmitInterrupt function disables DMA transmit interrupts @@ -139,10 +145,40 @@ * @details Outputs: DMA transmit interrupt is disabled. * @return none *************************************************************************/ -#ifdef DEBUG_ENABLED void clearSCI1DMATransmitInterrupt( void ) { sciREG->CLEARINT = SCI_DMA_TRANSMIT_INT; +} + +/*********************************************************************//** + * @brief + * The clearSCI1CommErrors function clears framing and/or overrun error flags + * for the SCI1 peripheral. + * @details Inputs: none + * @details Outputs: SCI1 error flags cleared. + * @return none + *************************************************************************/ +void clearSCI1CommErrors( void ) +{ + sciReceiveByte( sciREG ); + sciREG->FLR |= ( SCI_FE_INT | SCI_OE_INT ); +} + +/*********************************************************************//** + * @brief + * The isSCI1DMATransmitInProgress function determines whether a DMA transmit + * is in progress on the SCI1 peripheral. + * @details Inputs: status registers + * @details Outputs: none + * @return TRUE if a transmit is in progress, FALSE if not + *************************************************************************/ +BOOL isSCI1DMATransmitInProgress( void ) +{ + BOOL transmitterBusy = ( ( sciREG->FLR & (U32)SCI_TX_INT ) == 0U ? TRUE : FALSE ); + BOOL dmaTransmitterBusy = ( ( dmaREG->PEND & DMA_CH_STATUS_BIT(DMA_CH3) ) != 0U ? TRUE : FALSE ); + + + return ( ( TRUE == uartXmitsInProgress ) || ( transmitterBusy == TRUE ) || ( dmaTransmitterBusy == TRUE ) ? TRUE : FALSE ); } #endif @@ -200,22 +236,6 @@ /*********************************************************************//** * @brief - * The clearSCI1CommErrors function clears framing and/or overrun error flags - * for the SCI1 peripheral. - * @details Inputs: none - * @details Outputs: SCI1 error flags cleared. - * @return none - *************************************************************************/ -#ifdef DEBUG_ENABLED -void clearSCI1CommErrors( void ) -{ - sciReceiveByte( sciREG ); - sciREG->FLR |= ( SCI_FE_INT | SCI_OE_INT ); -} -#endif - -/*********************************************************************//** - * @brief * The clearSCI2CommErrors function clears framing and/or overrun error flags * for the SCI2 peripheral. * @details Inputs: none @@ -231,25 +251,6 @@ /*********************************************************************//** * @brief * The isSCI2DMATransmitInProgress function determines whether a DMA transmit - * is in progress on the SCI1 peripheral. - * @details Inputs: status registers - * @details Outputs: none - * @return TRUE if a transmit is in progress, FALSE if not - *************************************************************************/ -#ifdef DEBUG_ENABLED -BOOL isSCI1DMATransmitInProgress( void ) -{ - BOOL transmitterBusy = ( ( sciREG->FLR & (U32)SCI_TX_INT ) == 0U ? TRUE : FALSE ); - BOOL dmaTransmitterBusy = ( ( dmaREG->PEND & DMA_CH_STATUS_BIT(DMA_CH3) ) != 0U ? TRUE : FALSE ); - - - return ( ( TRUE == uartXmitsInProgress ) || ( transmitterBusy == TRUE ) || ( dmaTransmitterBusy == TRUE ) ? TRUE : FALSE ); -} -#endif - -/*********************************************************************//** - * @brief - * The isSCI2DMATransmitInProgress function determines whether a DMA transmit * is in progress on the SCI2 peripheral. * @details Inputs: status registers * @details Outputs: none @@ -263,19 +264,4 @@ return ( ( transmitterBusy == TRUE ) || ( dmaTransmitterBusy == TRUE ) ? TRUE : FALSE ); } -/*********************************************************************//** - * @brief - * The isCAN1TransmitInProgress function determines whether a transmit - * is in progress on the CAN1 peripheral. - * @details Inputs: status registers - * @details Outputs: none - * @return TRUE if a transmit is in progress, FALSE if not - *************************************************************************/ -BOOL isCAN1TransmitInProgress( void ) -{ - BOOL result = ( ( TRUE == canXmitsInProgress ) || ( canREG1->TXRQx[ 0 ] != 0 ) || ( canREG1->TXRQx[ 1 ] != 0 ) ? TRUE : FALSE ); - - return result; -} - /**@}*/