Index: firmware/App/Monitors/Level.c =================================================================== diff -u -r3417933e6edf61a914c428e2fa944b3b349272a4 -rae7a7f0dc06fd31a53b0db564d515ce4c39acf67 --- firmware/App/Monitors/Level.c (.../Level.c) (revision 3417933e6edf61a914c428e2fa944b3b349272a4) +++ firmware/App/Monitors/Level.c (.../Level.c) (revision ae7a7f0dc06fd31a53b0db564d515ce4c39acf67) @@ -28,9 +28,10 @@ */ // ********** private definitions ********** -#define FPGA_LEVEL_LOW 5 ///< Floater low level status -#define FPGA_LEVEL_MEDIUM 4 ///< Floater medium level status -#define FPGA_LEVEL_HIGH 6 ///< Floater high level status +#define FPGA_LEVEL_EMPTY 3 ///< Floater empty level status +#define FPGA_LEVEL_LOW 2 ///< Floater low level status +#define FPGA_LEVEL_MEDIUM 0 ///< Floater medium level status +#define FPGA_LEVEL_HIGH 4 ///< Floater high level status #define LEVEL_COUNT_LOW 0xFFFF ///< Level sensor count when fluid level is low or non submerged #define LEVEL_COUNT_HIGH_START 0x0000 ///< Start range of level sensor count when fluid level is high or submerged #define LEVEL_COUNT_HIGH_END 0x2FFF ///< End range of level sensor count when fluid level is high or submerged @@ -125,6 +126,10 @@ currentLevelStatus = ( processLevelCount( getFPGAD63LevelSensor() ) == 0 ? LEVEL_STATE_LOW : LEVEL_STATE_HIGH ); break; + case D98_LEVL: + currentLevelStatus = ( processLevelCount( getFPGAD63LevelSensor() ) == 0 ? LEVEL_STATE_LOW : LEVEL_STATE_HIGH ); + break; + case D46_LEVL: currentLevelStatus = ( processLevelCount( getFPGAD46LevelSensor() ) == 0 ? LEVEL_STATE_LOW : LEVEL_STATE_HIGH ); break; @@ -161,6 +166,10 @@ SEND_EVENT_WITH_2_U32_DATA( DD_EVENT_D63_LEVL_CHANGE, (U32)status[ i ].data, (U32)currentLevelStatus ); break; + case D98_LEVL: + SEND_EVENT_WITH_2_U32_DATA( DD_EVENT_D98_LEVL_CHANGE, (U32)status[ i ].data, (U32)currentLevelStatus ); + break; + case D46_LEVL: SEND_EVENT_WITH_2_U32_DATA( DD_EVENT_D46_LEVL_CHANGE, (U32)status[ i ].data, (U32)currentLevelStatus ); break; @@ -257,8 +266,12 @@ { levelStatus = getFPGAD6LevelStatus(); - if ( FPGA_LEVEL_LOW == levelStatus ) + if ( FPGA_LEVEL_EMPTY == levelStatus ) { + currentLevelStatus = LEVEL_STATE_EMPTY ; + } + else if ( FPGA_LEVEL_LOW == levelStatus ) + { currentLevelStatus = LEVEL_STATE_LOW ; } else if ( FPGA_LEVEL_MEDIUM == levelStatus ) @@ -279,8 +292,12 @@ { levelStatus = getFPGAP25FloaterState(); - if ( FPGA_LEVEL_LOW == levelStatus ) + if ( FPGA_LEVEL_EMPTY == levelStatus ) { + currentLevelStatus = LEVEL_STATE_EMPTY ; + } + else if ( FPGA_LEVEL_LOW == levelStatus ) + { currentLevelStatus = LEVEL_STATE_LOW ; } else if ( FPGA_LEVEL_MEDIUM == levelStatus ) @@ -323,6 +340,7 @@ data.d6Level = (U32)getLevelStatus( D6_LEVL ); data.d63Level = (U32)getLevelStatus( D63_LEVL ); + data.d98Level = (U32)getLevelStatus( D98_LEVL ); data.d46Level = (U32)getLevelStatus( D46_LEVL ); levelsDataPublicationCounter = 0;