Index: firmware/App/Monitors/Level.c =================================================================== diff -u -r2d295ca85f19e95da42476a57ca6b4496baf980a -r9eae2f683887bededd2240f51ddfc667d8c1d566 --- firmware/App/Monitors/Level.c (.../Level.c) (revision 2d295ca85f19e95da42476a57ca6b4496baf980a) +++ firmware/App/Monitors/Level.c (.../Level.c) (revision 9eae2f683887bededd2240f51ddfc667d8c1d566) @@ -7,8 +7,8 @@ * * @file Level.c * -* @author (last) Sameer Kalliadan Poyil -* @date (last) 30-Apr-2026 +* @author (last) Michael Garthwaite +* @date (last) 01-May-2026 * * @author (original) Vinayakam Mani * @date (original) 14-Oct-2024 @@ -28,6 +28,7 @@ */ // ********** private definitions ********** + #define LEVEL_SENSOR_LIQUID 0U ///< Level sensor digital low value (0 = liquid is detected, 1 = no liquid). #define FPGA_B1_HW_LEVEL_LOW 5 ///< Floater low level status for Beta 1.0 #define FPGA_B1_HW_LEVEL_MEDIUM 4 ///< Floater medium level status for Beta 1.0 @@ -134,35 +135,35 @@ break; case D63_LEVL: - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) ) + if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) ) { - currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD63LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; + currentLevelStatus = ( processLevelCount( getFPGAD63LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); } else { - currentLevelStatus = ( processLevelCount( getFPGAD63LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); + currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD63LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; } break; case D98_LEVL: - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) ) + if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) ) { - currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD98LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; + currentLevelStatus = ( processLevelCount( getFPGAD98LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); } else { - currentLevelStatus = ( processLevelCount( getFPGAD98LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); + currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD98LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; } break; case D46_LEVL: - if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) ) + if ( TRUE == getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) ) { - currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD46LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; + currentLevelStatus = ( processLevelCount( getFPGAD46LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); } else { - currentLevelStatus = ( processLevelCount( getFPGAD46LevelSensor() ) == LEVEL_SENSOR_LIQUID ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW ); + currentLevelStatus = ( LEVEL_SENSOR_LIQUID == getFPGAD46LevelSensor() ) ? LEVEL_STATE_HIGH : LEVEL_STATE_LOW; } break; @@ -206,6 +207,10 @@ SEND_EVENT_WITH_2_U32_DATA( DD_EVENT_D46_LEVL_CHANGE, (U32)status[ level ].data, (U32)currentLevelStatus ); break; + case P25_LEVL: + SEND_EVENT_WITH_2_U32_DATA( FP_EVENT_P25_LEVL_CHANGE, (U32)status[ level ].data, (U32)currentLevelStatus ); + break; + #ifndef _VECTORCAST_ default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DD_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_LEVEL_SELECTED, level); @@ -442,44 +447,42 @@ { levelStatus = getFPGAD6LevelStatus(); - if ( ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) != TRUE ) && - ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) != TRUE ) ) + if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) == TRUE ) { // Beta 1.9 behavior currentLevelStatus = getLevelStateBeta19( levelStatus ); } - else if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) == TRUE ) + else if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) == TRUE ) { - // Beta 2.0 behavior - currentLevelStatus = getLevelState( levelStatus ); + // Beta 1.0 behavior + currentLevelStatus = getLevelStateBeta10( levelStatus ); } else { - // Beta 1.0 behavior - currentLevelStatus = getLevelStateBeta10( levelStatus ); + // Beta 2.0 behavior + currentLevelStatus = getLevelState( levelStatus ); } } else if ( P25_LEVL == levelId ) { levelStatus = getFPGAP25FloaterState(); - if ( ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) != TRUE ) && - ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) != TRUE ) ) + if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_9_HW ) == TRUE ) { // Beta 1.9 behavior currentLevelStatus = getLevelStateBeta19( levelStatus ); } - else if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_2_0_HW ) == TRUE ) - { - // Beta 2.0 behavior - currentLevelStatus = getLevelState( levelStatus ); - } - else + else if ( getTestConfigStatus( TEST_CONFIG_DD_FP_ENABLE_BETA_1_0_HW ) == TRUE ) { // Beta 1.0 behavior currentLevelStatus = getLevelStateBeta10( levelStatus ); } + else + { + // Beta 2.0 behavior + currentLevelStatus = getLevelState( levelStatus ); + } } else @@ -541,10 +544,10 @@ { DD_LEVEL_DATA_T data; - data.d6Level = (U32)getFloaterStatus( D6_LEVL ); data.d46Level = (U32)getLevelStatus( D46_LEVL ); data.d63Level = (U32)getLevelStatus( D63_LEVL ); data.d98Level = (U32)getLevelStatus( D98_LEVL ); + data.d6Level = (U32)getFloaterStatus( D6_LEVL ); data.bicarbLevel = (U32)getBicarbChamberLevelStatus(); levelsDataPublicationCounter = 0; @@ -605,7 +608,7 @@ /*********************************************************************//** * @brief - * The testFloaterLevelStatusOverride function sets the override status + * The testDDFloaterLevelStateOverride function sets the override status * for a specific floater level sensor. * @details \b Inputs: none * @details \b Outputs: status