Index: firmware/App/Monitors/Level.c =================================================================== diff -u -r313982ccc772f1bbe182877dff7e00381b04e0f4 -r322747d530c1b8205be257557e53dcfe9caad50a --- firmware/App/Monitors/Level.c (.../Level.c) (revision 313982ccc772f1bbe182877dff7e00381b04e0f4) +++ firmware/App/Monitors/Level.c (.../Level.c) (revision 322747d530c1b8205be257557e53dcfe9caad50a) @@ -60,6 +60,7 @@ static void publishLevelsData( void ); static BOOL processLevelCount( U16 count ); +static LEVEL_STATE_T getFloaterLevelstatus( void ); /*********************************************************************//** * @brief @@ -108,25 +109,7 @@ { // Process the status of the Level case D6_LEVL: - if ( FPGA_LEVEL_LOW == getFPGAD6LevelStatus() ) - { - //currentLevelStatus = LEVEL_STATE_LOW ; - currentLevelStatus = LEVEL_STATE_HIGH ; - } - else if ( FPGA_LEVEL_MEDIUM == getFPGAD6LevelStatus() ) - { - currentLevelStatus = LEVEL_STATE_MEDIUM ; - } - else if ( FPGA_LEVEL_HIGH == getFPGAD6LevelStatus() ) - { - //currentLevelStatus = LEVEL_STATE_HIGH ; - currentLevelStatus = LEVEL_STATE_LOW ; - } - else - { - // Handle invalid level - alarm - currentLevelStatus = LEVEL_STATE_ILLEGAL ; - } + currentLevelStatus = getFloaterLevelstatus(); break; case D63_LEVL: @@ -252,6 +235,38 @@ /*********************************************************************//** * @brief + * The getFloaterLevelstatus function gets the floater level reported by FPGA + * @details \b Inputs: FPGA level sensor data + * @details \b Outputs: level + * @return level status + *************************************************************************/ +static LEVEL_STATE_T getFloaterLevelstatus( void ) +{ + LEVEL_STATE_T currentLevelStatus = LEVEL_STATE_HIGH; + + if ( FPGA_LEVEL_LOW == getFPGAD6LevelStatus() ) + { + currentLevelStatus = LEVEL_STATE_HIGH ; + } + else if ( FPGA_LEVEL_MEDIUM == getFPGAD6LevelStatus() ) + { + currentLevelStatus = LEVEL_STATE_MEDIUM ; + } + else if ( FPGA_LEVEL_HIGH == getFPGAD6LevelStatus() ) + { + currentLevelStatus = LEVEL_STATE_LOW ; + } + else + { + // TODO - Handle invalid level alarm + currentLevelStatus = LEVEL_STATE_ILLEGAL ; + } + + return currentLevelStatus; +} + +/*********************************************************************//** + * @brief * The publishLevelsData function broadcasts the level data at the * publication interval. * @details \b Inputs: levelsDataPublicationCounter @@ -269,7 +284,6 @@ data.d6Level = (U32)getLevelStatus( D6_LEVL ); data.d63Level = (U32)getLevelStatus( D63_LEVL ); data.d46Level = (U32)getLevelStatus( D46_LEVL ); - //data.spentDialysateLevel = (U32)getFPGAFloater1Status(); levelsDataPublicationCounter = 0;