Index: NVDataMgmt.c =================================================================== diff -u -r270130c42c81fb5f314e32cfde171c889cd70d6a -r0164cd187647ce322bb19f5075387732af38d09a --- NVDataMgmt.c (.../NVDataMgmt.c) (revision 270130c42c81fb5f314e32cfde171c889cd70d6a) +++ NVDataMgmt.c (.../NVDataMgmt.c) (revision 0164cd187647ce322bb19f5075387732af38d09a) @@ -1580,7 +1580,7 @@ haveCalGroupsPassed = isDGCalibrationRecordValid(); hasSystemRecordPassed = isDGSystemRecordValid(); hasServiceRecordPassed = isDGServiceRecordValid(); - hasUsageRecordPassed = isDGUsageRecordValid(); // TODO add an alarm once dialin is completed + hasUsageRecordPassed = isDGUsageRecordValid(); // TODO add an alarm once dialin is completed in DEN-13834 #ifndef _RELEASE_ hasSWConfigRecordPassed = isSWConfigRecordValid(); #endif @@ -1614,7 +1614,7 @@ if ( FALSE == hasUsageRecordPassed ) { - // TODO uncomment + // TODO un-comment in DEN-13834 //enqueueRecordJob( NVDATAMGMT_WRITE, RECORDS_SPECS[ NVDATAMGMT_USAGE_INFO_RECORD ].dataLoc, NVDATAMGMT_USAGE_INFO_RECORD ); } @@ -1655,7 +1655,7 @@ if ( powerOffIsImminent != TRUE ) { // Check if the service record has to be updated - //updateServiceRecord(); // TODO what is this doing here? + //updateServiceRecord(); // TODO what is this doing here? un-comment in DEN-13834 // If the record processing queue is not empty, process the queues if ( ( FALSE == isRecordQueueEmpty() ) && ( TRUE == areResourcesAvailableForNextJob() ) ) @@ -2056,20 +2056,6 @@ U08* bufferPtr = jobSpecs.structAddressPtr; U32 length = jobSpecs.sizeofJob; - /*if ( NVDATAMGMT_PROCESS_RECORDS == activeQueue ) - { - RECORD_JOBS_STATE_T job = recordCurrentJob.recordJob; - PROCESS_RECORD_SPECS_T jobSpecs = RECORDS_SPECS [ job ]; - - bufferPtr = jobSpecs.structAddressPtr; - length = jobSpecs.sizeofJob; - } - else - { - // TODO add the rest of the items for for logging - currentJob.externalAddress->status = NVDATAMGMT_READ_COMPLETE; - }*/ - getDataFromRAM( bufferPtr, length ); state = NVDATAMGMT_EXEC_STATE_IDLE; Index: PersistentAlarm.c =================================================================== diff -u -r270130c42c81fb5f314e32cfde171c889cd70d6a -r0164cd187647ce322bb19f5075387732af38d09a --- PersistentAlarm.c (.../PersistentAlarm.c) (revision 270130c42c81fb5f314e32cfde171c889cd70d6a) +++ PersistentAlarm.c (.../PersistentAlarm.c) (revision 0164cd187647ce322bb19f5075387732af38d09a) @@ -35,7 +35,6 @@ { FPGA_READ_ERROR = 0, ///< FPGA read error type. FPGA_ERROR_ERROR, ///< FPGA error error type. - FPGA_NOT_UPDATING_ERROR, ///< FPGA not updating error type. NUM_OF_FPGA_ERROR_TYPES ///< Number of FPGA error types. } FPGA_ERROR_TYPE_T; @@ -123,12 +122,19 @@ { if ( ( group < NUM_OF_FPGA_SENSOR_GROUPS ) && ( alarmIndex < NUM_OF_ALARM_IDS ) ) { - fpgaPersistentAlarmGroup[ group ].fpgaAlarm = alarmIndex; - fpgaPersistentAlarmGroup[ group ].fpgaPersistentClearPeriod = persistentClearPeriod; - fpgaPersistentAlarmGroup[ group ].fpgaPersistentTriggerPeriod = persistentTriggerPeriod; + fpgaPersistentAlarmGroup[ group ].fpgaAlarm = alarmIndex; + fpgaPersistentAlarmGroup[ group ].fpgaPersistentClearPeriod = persistentClearPeriod; + fpgaPersistentAlarmGroup[ group ].fpgaPersistentTriggerPeriod = persistentTriggerPeriod; - memset( &fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_READ_ALARM_INDEX ], 0x0, sizeof( FPGA_ALARM_DATA_T ) ); - memset( &fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_ERROR_ALARM_INDEX ], 0x0, sizeof( FPGA_ALARM_DATA_T ) ); + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_READ_ALARM_INDEX ].fpgaIsConditionClear = TRUE; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_READ_ALARM_INDEX ].fpagErrorClearedStartTime = 0; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_READ_ALARM_INDEX ].fpgaErrorOccurredStartTime = 0; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_READ_ALARM_INDEX ].fpgaPreviousCount = 0; + + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_ERROR_ALARM_INDEX ].fpgaIsConditionClear = TRUE; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_ERROR_ALARM_INDEX ].fpagErrorClearedStartTime = 0; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_ERROR_ALARM_INDEX ].fpgaErrorOccurredStartTime = 0; + fpgaPersistentAlarmGroup[ group ].fpgaAlarmData[ FPGA_ERROR_ALARM_INDEX ].fpgaPreviousCount = 0; } } @@ -280,18 +286,14 @@ if ( group < NUM_OF_FPGA_SENSOR_GROUPS ) { FPGA_ERROR_TYPE_T type = NUM_OF_FPGA_ERROR_TYPES; - BOOL isReadPersTrgrd = FALSE; - BOOL isErroPersTrgrd = FALSE; + BOOL isReadPersTrgrd = isFPGAPersistentAlarmTriggered( &fpgaPersistentAlarmGroup[ group ], readCount, FPGA_READ_ERROR ); + BOOL isErroPersTrgrd = isFPGAPersistentAlarmTriggered( &fpgaPersistentAlarmGroup[ group ], errorCount, FPGA_ERROR_ERROR ); - isReadPersTrgrd = isFPGAPersistentAlarmTriggered( &fpgaPersistentAlarmGroup[ group ], readCount, FPGA_READ_ERROR ); - if ( TRUE == isReadPersTrgrd ) { type = FPGA_READ_ERROR; } - isErroPersTrgrd = isFPGAPersistentAlarmTriggered( &fpgaPersistentAlarmGroup[ group ], errorCount, FPGA_ERROR_ERROR ); - if ( TRUE == isErroPersTrgrd ) { type = FPGA_ERROR_ERROR; @@ -339,10 +341,6 @@ case FPGA_ERROR_ERROR: hasErrorOccured = ( alarmGroup->fpgaAlarmData[ errorType ].fpgaPreviousCount != fpgaCount ? TRUE : FALSE ); break; - - case FPGA_NOT_UPDATING_ERROR: - hasErrorOccured = TRUE; - break; } if ( TRUE == hasErrorOccured )