Index: RTC.c =================================================================== diff -u -rfa7f79bcc698e6973ab725d5e65fbcf18b8a4731 -r6debb526b7d4fc80cdad6a26e14e4522cb00bec2 --- RTC.c (.../RTC.c) (revision fa7f79bcc698e6973ab725d5e65fbcf18b8a4731) +++ RTC.c (.../RTC.c) (revision 6debb526b7d4fc80cdad6a26e14e4522cb00bec2) @@ -214,6 +214,10 @@ static U16 previousFPGATimerCount; ///< Previous FPGA timer count; static OVERRIDE_U32_T rtcControlRegister1 = { 0, 0, 0, 0 }; ///< RTC control register 1. static OVERRIDE_U32_T rtcControlRegister3 = { 0, 0, 0, 0 }; ///< RTC control register 3. + + +// DEN-15979 testing +static U08 debugEventBuffer[DEBUG_EVENT_FIXED_BUFFER_SIZE]; ///< debug event buffer static U16 writeSaveBuffer[ MIBSPI_MAX_BUFFER_LENGTH + 1 ]; ///< Buffer to store data written to RTC. #ifdef _DG_ @@ -717,8 +721,6 @@ BOOL result = FALSE; BOOL isBufferOk = FALSE; - static U08 tempCharBuffer[64]; - if ( isRTCServiceOnEntry ) { RTCServiceState = RTC_SEND_COMMAND; @@ -764,12 +766,11 @@ } else { - // Transfer to RTC failed. This transfer - // should be done in 50ms + // Transfer to RTC failed. This transfer should be done in 50ms numberOfFailedRTCTransfers++; - memset( tempCharBuffer, 0x00, sizeof(tempCharBuffer) ); - sprintf( tempCharBuffer, "$RTC SPI: %d, %d", RTCServiceState, numberOfFailedRTCTransfers ); - broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, tempCharBuffer, strlen(tempCharBuffer) + 1 ); + memset( debugEventBuffer, 0x00, sizeof(debugEventBuffer) ); + snprintf( debugEventBuffer, sizeof( debugEventBuffer ), "$RTC SPI: %d, %d", RTCServiceState, numberOfFailedRTCTransfers ); + broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, debugEventBuffer, sizeof( debugEventBuffer ) ); } // Done with read (successful of failed) // get ready for another call @@ -1390,8 +1391,6 @@ SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_NVDATA_RTC_RAM_OPS_FAILURE, result ) #endif #ifdef _HD_ -<<<<<<< Updated upstream -======= SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_NVDATA_RTC_RAM_OPS_FAILURE, result ) #endif result = RTC_EXEC_STATE_IDLE; @@ -1412,28 +1411,29 @@ static RTC_EXEC_STATE_T handleExecVerifyWriteState( void ) { - static U08 tempCharBuffer[128]; - static int writeCounter = 0; - RTC_EXEC_STATE_T result = RTC_EXEC_STATE_VERIFY_WRITE; BOOL isStatusOk = serviceRTC( txBuffer, rxBuffer, RTC_GENERAL_BUFFER_LENGTH ); if ( ( RTC_SERVICE_COMPLETE == RTCServiceState ) && ( TRUE == isStatusOk ) ) { - if ( writeCounter++ > 3 ) - { - writeSaveBuffer[7] = ~writeSaveBuffer[7]; - writeCounter = 0; - } // Compare received buffer with what was transmitted if ( 0 != memcmp( &writeSaveBuffer[1], &rxBuffer[1], ( RTC_GENERAL_BUFFER_LENGTH - 1 )* 2 ) ) { - memset(tempCharBuffer, 0x00, sizeof(tempCharBuffer)); - printf( tempCharBuffer, "$RTC Verify: %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X-END", - rxBuffer[0], writeSaveBuffer[0], rxBuffer[1], writeSaveBuffer[1], rxBuffer[2], writeSaveBuffer[2], rxBuffer[3], writeSaveBuffer[3], - rxBuffer[4], writeSaveBuffer[4], rxBuffer[5], writeSaveBuffer[5], rxBuffer[6], writeSaveBuffer[6], rxBuffer[7], writeSaveBuffer[7], - rxBuffer[8], writeSaveBuffer[8], rxBuffer[9], writeSaveBuffer[9], rxBuffer[10], writeSaveBuffer[10] ); - broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, tempCharBuffer, strlen(tempCharBuffer) + 1); + memset(debugEventBuffer, 0x00, sizeof(debugEventBuffer)); + snprintf( debugEventBuffer, sizeof( debugEventBuffer ), "$RTC Verify: %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X", + rxBuffer[0], writeSaveBuffer[0], rxBuffer[1], writeSaveBuffer[1], rxBuffer[2], writeSaveBuffer[2], rxBuffer[3], writeSaveBuffer[3] ); + broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, debugEventBuffer, sizeof( debugEventBuffer ) ); + + memset(debugEventBuffer, 0x00, sizeof(debugEventBuffer)); + snprintf( debugEventBuffer, sizeof( debugEventBuffer ), "$RTC Verify: %02X:%02X, %02X:%02X, %02X:%02X, %02X:%02X", + rxBuffer[4], writeSaveBuffer[4], rxBuffer[5], writeSaveBuffer[5], rxBuffer[6], writeSaveBuffer[6], rxBuffer[7], writeSaveBuffer[7] ); + broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, debugEventBuffer, sizeof( debugEventBuffer ) ); + + memset(debugEventBuffer, 0x00, sizeof(debugEventBuffer)); + snprintf( debugEventBuffer, sizeof( debugEventBuffer ), "$RTC Verify: %02X:%02X, %02X:%02X, %02X:%02X", + rxBuffer[8], writeSaveBuffer[8], rxBuffer[9], writeSaveBuffer[9], rxBuffer[10], writeSaveBuffer[10] ); + broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, debugEventBuffer, sizeof( debugEventBuffer ) ); + } releaseSemaphore( SEMAPHORE_RTC ); @@ -1814,25 +1814,14 @@ BOOL isEpochValid( U32 epoch ) { BOOL result = TRUE; - static U08 tempCharBuffer[64]; - static int epochCounter = 0; - - memset(tempCharBuffer, 0x00, sizeof(tempCharBuffer) ); - - if ( epochCounter++ > 3) - { - epoch = 0; - epochCounter = 0; - } - if ( epoch < 1689958503 ) { result = FALSE; - memset(tempCharBuffer, 0x00, sizeof(tempCharBuffer)); - sprintf( tempCharBuffer, "$RTC HD epoch: %d", epoch); - broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, tempCharBuffer, strlen(tempCharBuffer) + 1); + memset(debugEventBuffer, 0x00, sizeof(debugEventBuffer)); + snprintf( debugEventBuffer, sizeof( debugEventBuffer ), "$RTC HD epoch: %d", epoch); + broadcastData( MSG_ID_DG_DEBUG_EVENT, COMM_BUFFER_OUT_CAN_DG_BROADCAST, debugEventBuffer, sizeof( debugEventBuffer ) ); } return result;