Index: firmware/App/Drivers/Comm.c =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Drivers/Comm.c (.../Comm.c) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Drivers/Comm.c (.../Comm.c) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -30,9 +30,6 @@ // ********** private data ********** static volatile BOOL canXmitsInProgress = FALSE; ///< Flag to indicates CAN transmit is in progress. -#ifdef DEBUG_ENABLED - static volatile BOOL uartXmitsInProgress = FALSE; ///< Flag to indicates UART transmit is in progress. -#endif /*********************************************************************//** * @brief @@ -73,117 +70,8 @@ return result; } -#ifdef DEBUG_ENABLED /*********************************************************************//** * @brief - * The signalSCI1XmitsInitiated function sets the SCI1 transmits in progress flag. - * @details Inputs: none - * @details Outputs: uartXmitsInProgress - * @return none - *************************************************************************/ -void signalSCI1XmitsInitiated( void ) -{ - uartXmitsInProgress = TRUE; -} - -/*********************************************************************//** - * @brief - * The signalSCI1XmitsCompleted function resets the SCI1 transmits in progress flag. - * @details Inputs: none - * @details Outputs: uartXmitsInProgress - * @return none - *************************************************************************/ -void signalSCI1XmitsCompleted( void ) -{ - uartXmitsInProgress = FALSE; -} - -/*********************************************************************//** - * @brief - * The setSCI1DMAReceiveInterrupt function enables DMA receive interrupts - * for the SCI1 peripheral. - * @details Inputs: none - * @details Outputs: DMA receive interrupt is enabled. - * @return none - *************************************************************************/ -void setSCI1DMAReceiveInterrupt( void ) -{ - sciREG->SETINT = SCI_DMA_RECEIVE_INT; -} - -/*********************************************************************//** - * @brief - * The setSCI1DMATransmitInterrupt function enables DMA transmit interrupts - * for the SCI1 peripheral. - * @details Inputs: none - * @details Outputs: DMA transmit interrupt is enabled. - * @return none - *************************************************************************/ -void setSCI1DMATransmitInterrupt( void ) -{ - sciREG->SETINT = SCI_DMA_TRANSMIT_INT; -} - -/*********************************************************************//** - * @brief - * The clearSCI1DMAReceiveInterrupt function disables DMA receive interrupts - * for the SCI1 peripheral. - * @details Inputs: none - * @details Outputs: DMA receive interrupt is disabled. - * @return none - *************************************************************************/ -void clearSCI1DMAReceiveInterrupt( void ) -{ - sciREG->CLEARINT = SCI_DMA_RECEIVE_INT; -} - -/*********************************************************************//** - * @brief - * The clearSCI1DMATransmitInterrupt function disables DMA transmit interrupts - * for the SCI1 peripheral. - * @details Inputs: none - * @details Outputs: DMA transmit interrupt is disabled. - * @return none - *************************************************************************/ -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 - -/*********************************************************************//** - * @brief * The setSCI2DMAReceiveInterrupt function enables DMA receive interrupts * for the SCI2 peripheral. * @details Inputs: none Index: firmware/App/Drivers/Comm.h =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Drivers/Comm.h (.../Comm.h) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Drivers/Comm.h (.../Comm.h) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -34,17 +34,6 @@ void signalCANXmitsCompleted( void ); BOOL isCAN1TransmitInProgress( void ); -#ifdef DEBUG_ENABLED - void signalSCI1XmitsInitiated( void ); - void signalSCI1XmitsCompleted( void ); - void setSCI1DMAReceiveInterrupt( void ); - void setSCI1DMATransmitInterrupt( void ); - void clearSCI1DMAReceiveInterrupt( void ); - void clearSCI1DMATransmitInterrupt( void ); - void clearSCI1CommErrors( void ); - BOOL isSCI1DMATransmitInProgress( void ); -#endif - void setSCI2DMAReceiveInterrupt( void ); void setSCI2DMATransmitInterrupt( void ); void clearSCI2DMAReceiveInterrupt( void ); Index: firmware/App/Services/CommBuffers.h =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/CommBuffers.h (.../CommBuffers.h) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Services/CommBuffers.h (.../CommBuffers.h) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -48,10 +48,6 @@ COMM_BUFFER_IN_CAN_PC, ///< Receiving buffer for PC communication via CAN COMM_BUFFER_OUT_CAN_PC, ///< Transmitting buffer for PC communication via CAN COMM_BUFFER_LAST_CAN_BUFFER = COMM_BUFFER_OUT_CAN_PC, ///< Last CAN communication buffer -#ifdef DEBUG_ENABLED - COMM_BUFFER_IN_UART_PC, ///< Receiving buffer for PC communication via UART - COMM_BUFFER_OUT_UART_PC, ///< Transmitting buffer for PC communication via UART -#endif NUM_OF_COMM_BUFFERS ///< The number of communication buffers } COMM_BUFFER_T; Index: firmware/App/Services/Interrupts.c =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/Interrupts.c (.../Interrupts.c) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Services/Interrupts.c (.../Interrupts.c) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -196,25 +196,11 @@ signalFPGAReceiptCompleted(); break; -#ifdef DEBUG_ENABLED - case DMA_CH1: // PC receive channel - clearSCI1DMAReceiveInterrupt(); - // handle received packet from PC - handleUARTMsgRecvPacketInterrupt(); - break; -#endif case DMA_CH2: // FPGA transmit channel clearSCI2DMATransmitInterrupt(); signalFPGATransmitCompleted(); break; -#ifdef DEBUG_ENABLED - case DMA_CH3: // PC transmit channel - clearSCI1DMATransmitInterrupt(); - // send next pending packet to PC (if any) - handleUARTMsgXmitPacketInterrupt(); - break; -#endif default: // TODO - ignore? break; Index: firmware/App/Services/SystemComm.c =================================================================== diff -u -r7d293e18ea5ac0fce443c68525100e44df80b4fd -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision 7d293e18ea5ac0fce443c68525100e44df80b4fd) +++ firmware/App/Services/SystemComm.c (.../SystemComm.c) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -37,14 +37,8 @@ // ********** private definitions ********** #define NUM_OF_CAN_OUT_BUFFERS 5 ///< Number of CAN buffers for transmit -#define NUM_OF_CAN_IN_BUFFERS 7 ///< Number of CAN buffers for receiving -#ifndef DEBUG_ENABLED - #define NUM_OF_MSG_IN_BUFFERS 7 ///< Number of Msg buffers for receiving -#else - #define NUM_OF_MSG_IN_BUFFERS 8 - #define SCI1_RECEIVE_DMA_REQUEST 30 - #define SCI1_TRANSMIT_DMA_REQUEST 31 -#endif +#define NUM_OF_CAN_IN_BUFFERS 7 ///< Number of CAN buffers for receiving +#define NUM_OF_MSG_IN_BUFFERS 7 ///< Number of Msg buffers for receiving #define CAN_XMIT_PACKET_TIMEOUT_MS 200 ///< if transmitted CAN frame does not cause a transmit complete interrupt within this time, re-send or move on #define MAX_XMIT_RETRIES 5 ///< maximum number of retries on no transmit complete interrupt timeout @@ -96,9 +90,6 @@ COMM_BUFFER_IN_CAN_UI_2_DG, COMM_BUFFER_IN_CAN_UI_BROADCAST, COMM_BUFFER_IN_CAN_PC, -#ifdef DEBUG_ENABLED - COMM_BUFFER_IN_UART_PC -#endif }; static U08 lastCANPacketSent[ CAN_MESSAGE_PAYLOAD_SIZE ]; ///< Keep last packet sent on CAN bus in case we need to re-send. @@ -112,15 +103,6 @@ static volatile BOOL hdIsCommunicating = FALSE; ///< has HD sent a message since last check static volatile U32 timeOfLastHDCheckIn = 0; ///< last time we received an HD broadcast -#ifdef DEBUG_ENABLED - // debug buffers - static U08 pcXmitPacket[ 1024 ]; - static U08 pcRecvPacket[ PC_MESSAGE_PACKET_SIZE ] = { 0, 0, 0, 0, 0, 0, 0, 0 }; - // DMA control records - static g_dmaCTRL pcDMAXmitControlRecord; - static g_dmaCTRL pcDMARecvControlRecord; -#endif - // ********** private function prototypes ********** static void clearCANXmitBuffers( void ); @@ -140,11 +122,6 @@ static BOOL matchACKtoPendingACKList( S16 seqNo ); static void checkPendingACKList( void ); -#ifdef DEBUG_ENABLED - static void initUARTAndDMA( void ); - static U32 transmitNextUARTPacket( void ); -#endif - /*********************************************************************//** * @brief * The initSystemComm function initializes the SystemComm module. @@ -156,11 +133,6 @@ { U32 i; -#ifdef DEBUG_ENABLED - // initialize UART and DMA for PC communication - initUARTAndDMA(); -#endif - // initialize bad message CRC time windowed count initTimeWindowedCount( TIME_WINDOWED_COUNT_BAD_MSG_CRC, MAX_COMM_CRC_FAILURES, MAX_COMM_CRC_FAILURE_WINDOW_MS ); @@ -261,14 +233,6 @@ } // end - pending xmit timeout? } // end - transmit in progress or not } // end - DG not alone on CAN bus - -#ifdef DEBUG_ENABLED - // if UART transmitter is idle, start transmitting any pending packets - if ( FALSE == isSCI1DMATransmitInProgress() ) - { - transmitNextUARTPacket(); - } -#endif } /*********************************************************************//** @@ -317,108 +281,8 @@ } } -#ifdef DEBUG_ENABLED /*********************************************************************//** * @brief - * The handleUARTMsgRecvPacketInterrupt function handles a DMA UART receive - * packet completed interrupt. - * @details Inputs: none - * @details Outputs: none - * @return none - *************************************************************************/ -void handleUARTMsgRecvPacketInterrupt( void ) -{ - // buffer received packet - addToCommBuffer( COMM_BUFFER_IN_UART_PC, pcRecvPacket, PC_MESSAGE_PACKET_SIZE ); - // prepare to receive next packet - dmaSetCtrlPacket( DMA_CH1, pcDMARecvControlRecord ); - dmaSetChEnable( DMA_CH1, DMA_HW ); - setSCI1DMAReceiveInterrupt(); -} - -/*********************************************************************//** - * @brief - * The handleUARTMsgXmitPacketInterrupt function handles a DMA UART transmit - * packet completed interrupt. - * @details Inputs: none - * @details Outputs: none - * @return none - *************************************************************************/ -void handleUARTMsgXmitPacketInterrupt( void ) -{ - U32 bytesXmitted = transmitNextUARTPacket(); - - if ( 0 == bytesXmitted ) - { - signalSCI1XmitsCompleted(); - } -} - -/*********************************************************************//** - * @brief - * The initUARTAndDMA function initializes the SCI1 peripheral and the DMA - * to go with it for PC communication. - * @details Inputs: none - * @details Outputs: SCI1 and DMA initialized - * @return none - *************************************************************************/ -static void initUARTAndDMA( void ) -{ - // Enable DMA block transfer complete interrupts - dmaEnableInterrupt( DMA_CH1, BTC ); - dmaEnableInterrupt( DMA_CH3, BTC ); - // assign DMA channels to h/w DMA requests - dmaReqAssign( DMA_CH1, SCI1_RECEIVE_DMA_REQUEST ); - dmaReqAssign( DMA_CH3, SCI1_TRANSMIT_DMA_REQUEST ); - // set DMA channel priorities - dmaSetPriority( DMA_CH1, HIGHPRIORITY ); - dmaSetPriority( DMA_CH3, LOWPRIORITY ); - - // initialize PC DMA Transmit Control Record - pcDMAXmitControlRecord.PORTASGN = 4; // port B (only choice per datasheet) - pcDMAXmitControlRecord.DADD = (U32)(&(sciREG->TD)); // dest. is SCI2 xmit register - pcDMAXmitControlRecord.SADD = (U32)pcXmitPacket; // source - pcDMAXmitControlRecord.CHCTRL = 0; // no chaining - pcDMAXmitControlRecord.ELCNT = 1; // frame is 1 element - pcDMAXmitControlRecord.FRCNT = PC_MESSAGE_PACKET_SIZE; // block is 8 frames - pcDMAXmitControlRecord.RDSIZE = ACCESS_8_BIT; // element size is 1 byte - pcDMAXmitControlRecord.WRSIZE = ACCESS_8_BIT; // - pcDMAXmitControlRecord.TTYPE = FRAME_TRANSFER; // transfer type is block transfer - pcDMAXmitControlRecord.ADDMODEWR = ADDR_FIXED; // dest. addressing mode is fixed - pcDMAXmitControlRecord.ADDMODERD = ADDR_INC1; // source addressing mode is post-increment - pcDMAXmitControlRecord.AUTOINIT = AUTOINIT_OFF; // auto-init off - pcDMAXmitControlRecord.ELSOFFSET = 0; // not used - pcDMAXmitControlRecord.ELDOFFSET = 0; // not used - pcDMAXmitControlRecord.FRSOFFSET = 0; // not used - pcDMAXmitControlRecord.FRDOFFSET = 0; // not used - - // initialize PC DMA Receipt Control Record - pcDMARecvControlRecord.PORTASGN = 4; // port B (only choice per datasheet) - pcDMARecvControlRecord.SADD = (U32)(&(sciREG->RD)); // source is SCI2 recv register - pcDMARecvControlRecord.DADD = (U32)pcRecvPacket; // transfer destination address - pcDMARecvControlRecord.CHCTRL = 0; // no chaining - pcDMARecvControlRecord.ELCNT = 1; // frame is 1 element - pcDMARecvControlRecord.FRCNT = PC_MESSAGE_PACKET_SIZE; // block is 8 frames - pcDMARecvControlRecord.RDSIZE = ACCESS_8_BIT; // element size is 1 byte - pcDMARecvControlRecord.WRSIZE = ACCESS_8_BIT; // - pcDMARecvControlRecord.TTYPE = FRAME_TRANSFER; // transfer type is block transfer - pcDMARecvControlRecord.ADDMODERD = ADDR_FIXED; // source addressing mode is fixed - pcDMARecvControlRecord.ADDMODEWR = ADDR_INC1; // dest. addressing mode is post-increment - pcDMARecvControlRecord.AUTOINIT = AUTOINIT_OFF; // auto-init off - pcDMARecvControlRecord.ELDOFFSET = 0; // not used - pcDMARecvControlRecord.ELSOFFSET = 0; // not used - pcDMARecvControlRecord.FRDOFFSET = 0; // not used - pcDMARecvControlRecord.FRSOFFSET = 0; // not used - - // initiate PC packet receiving readiness via DMA - dmaSetCtrlPacket( DMA_CH1, pcDMARecvControlRecord ); - dmaSetChEnable( DMA_CH1, DMA_HW ); - setSCI1DMAReceiveInterrupt(); -} -#endif - -/*********************************************************************//** - * @brief * The isCANBoxForXmit function determines whether a given CAN message box * is configured for transmit. * @details Inputs: CAN_OUT_BUFFERS[] @@ -566,40 +430,6 @@ return result; } -#ifdef DEBUG_ENABLED -/*********************************************************************//** - * @brief - * The transmitNextUARTPacket function sets up and initiates a DMA transmit - * of the next packet pending transmit (if any) via UART. - * @details Inputs: Output UART Comm Buffer(s) - * @details Outputs: UART DMA transmit initiated. - * @return number of bytes transmitted - *************************************************************************/ -static U32 transmitNextUARTPacket( void ) -{ - U32 result = 0; - U32 dataPend = numberOfBytesInCommBuffer( COMM_BUFFER_OUT_UART_PC ); - - if ( dataPend > 0 ) - { - result = getFromCommBuffer( COMM_BUFFER_OUT_UART_PC, pcXmitPacket, dataPend ); - - // if there's data to transmit, transmit it - if ( result > 0 ) - { - signalSCI1XmitsInitiated(); - pcDMAXmitControlRecord.FRCNT = result; // set DMA transfer size - dmaSetCtrlPacket( DMA_CH3, pcDMAXmitControlRecord ); - dmaSetChEnable( DMA_CH3, DMA_HW ); - setSCI1DMATransmitInterrupt(); - } - } - - return result; -} -#endif - - /************************************************************************* ********************** RECEIVE SUPPORT FUNCTIONS ************************* *************************************************************************/ Index: firmware/App/Services/SystemComm.h =================================================================== diff -u -r94a190522ce398399c7b93c59f788d7666ec0060 -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/SystemComm.h (.../SystemComm.h) (revision 94a190522ce398399c7b93c59f788d7666ec0060) +++ firmware/App/Services/SystemComm.h (.../SystemComm.h) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -35,9 +35,6 @@ #define MESSAGE_SYNC_BYTE 0xA5 ///< Denali message syncronization byte. #define CAN_MESSAGE_PAYLOAD_SIZE 8 ///< CAN frame payload size (in bytes). -#ifdef DEBUG_ENABLED - #define PC_MESSAGE_PACKET_SIZE 8 -#endif #define MSG_ID_ACK 0xFFFF ///< Denali message ID for acknowledging received messages (when required). #define MSG_ACK_BIT 0x8000 ///< ACK bit in sequence number that indicates an ACK is required. @@ -53,10 +50,6 @@ void execSystemCommRx( void ); void execSystemCommTx( void ); void handleCANMsgInterrupt( CAN_MESSAGE_BOX_T srcCANBox ); -#ifdef DEBUG_ENABLED - void handleUARTMsgRecvPacketInterrupt( void ); - void handleUARTMsgXmitPacketInterrupt( void ); -#endif BOOL isCANBoxForXmit( CAN_MESSAGE_BOX_T srcCANBox ); BOOL isCANBoxForRecv( CAN_MESSAGE_BOX_T srcCANBox ); BOOL isHDCommunicating( void ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -r7d293e18ea5ac0fce443c68525100e44df80b4fd -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision 7d293e18ea5ac0fce443c68525100e44df80b4fd) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -54,10 +54,6 @@ // ********** private definitions ********** -#ifdef DEBUG_ENABLED - #define DEBUG_EVENT_MAX_TEXT_LEN 40 -#endif - #define MAX_MSGS_BLOCKED_FOR_XMIT 8 ///< Maximum number of messages to block transmission for. #pragma pack(push,1) @@ -1067,56 +1063,6 @@ * TEST SUPPORT FUNCTIONS *************************************************************************/ -#ifdef DEBUG_ENABLED - /*********************************************************************//** - * @brief - * The sendDebugData function sends debug data out to the PC port. - * @details - * @details Inputs: none - * @details Outputs: PC serial port - * @param dbgData Pointer to debug data - * @param len number of bytes of debug data - * @return TRUE if debug data was successfully queued for transmit, FALSE if not - *************************************************************************/ - BOOL sendDebugData( U08 *dbgData, U32 len ) - { - BOOL result; - - // add serialized message data to appropriate comm buffer - result = addToCommBuffer( COMM_BUFFER_OUT_UART_PC, dbgData, len ); - - return result; - } - - /*********************************************************************//** - * @brief - * The sendDebugDataToUI function sends debug string to the UI for logging. - * @details - * @details Inputs: none - * @details Outputs: Message constructed and queued for transmit - * @param str Pointer to debug string - * @return none - *************************************************************************/ - void sendDebugDataToUI( U08 *str ) - { - MESSAGE_T msg; - U32 txtLen = strlen( (char*)str ); - U08 *payloadPtr = msg.payload; - - // create a message record - blankMessage( &msg ); - msg.hdr.msgID = MSG_ID_DG_DEBUG_EVENT; - msg.hdr.payloadLen = DEBUG_EVENT_MAX_TEXT_LEN + 1; // add 1 byte for null terminator - if ( txtLen <= DEBUG_EVENT_MAX_TEXT_LEN ) - { - memcpy( payloadPtr, str, txtLen + 1 ); - - // serialize the message (w/ sync, CRC, and appropriate CAN padding) and add serialized message data to appropriate comm buffer - serializeMessage( msg, COMM_BUFFER_OUT_CAN_DG_2_UI, ACK_NOT_REQUIRED ); - } - } -#endif - /*********************************************************************//** * @brief * The isTestingActivated function determines whether a tester has successfully Index: firmware/App/Services/SystemCommMessages.h =================================================================== diff -u -r7d293e18ea5ac0fce443c68525100e44df80b4fd -ref12a43be17c4f1ed13302f81ca616a483850483 --- firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision 7d293e18ea5ac0fce443c68525100e44df80b4fd) +++ firmware/App/Services/SystemCommMessages.h (.../SystemCommMessages.h) (revision ef12a43be17c4f1ed13302f81ca616a483850483) @@ -142,14 +142,6 @@ // *********** public test support message functions ********** -#ifdef DEBUG_ENABLED -// DEBUG OUTPUT -BOOL sendDebugData( U08 *dbgData, U32 len ); - -// Debug message to UI for logging -void sendDebugDataToUI( U08 *str ); -#endif - // MSG_TESTER_LOG_IN void handleTesterLogInRequest( MESSAGE_T *message ); BOOL isTestingActivated( void );