Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r95e32e6462b952f744f77c7e56f00bffdf8ec5bd -rf49295a21525d5d1b88ec52eb4fcac72e7a526b7 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 95e32e6462b952f744f77c7e56f00bffdf8ec5bd) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision f49295a21525d5d1b88ec52eb4fcac72e7a526b7) @@ -180,7 +180,7 @@ acidConcentratePumpParkPersistenceClear = FALSE; bicarbConcentratePumpParkPersistenceClear = FALSE; - for ( pumpId = CONCENTRATEPUMPS_CP1_ACID; pumpId < NUM_OF_CONCENTRATE_PUMPS; pumpId++ ) + for ( pumpId = CONCENTRATEPUMPS_FIRST; pumpId < NUM_OF_CONCENTRATE_PUMPS; pumpId++ ) { concentratePumps[ pumpId ].controlTimerCounter = 0; concentratePumps[ pumpId ].execState = CONCENTRATE_PUMP_OFF_STATE; @@ -219,8 +219,8 @@ stopConcentratePump( pumpId ); } - initPersistentAlarm( ALARM_ID_DD_CP1_SPEED_CONTROL_ERROR, 0, CONCENTRATE_PUMP_SPEED_OUT_OF_RANGE_TIMEOUT_MS ); - initPersistentAlarm( ALARM_ID_DD_CP2_SPEED_CONTROL_ERROR, 0, CONCENTRATE_PUMP_SPEED_OUT_OF_RANGE_TIMEOUT_MS ); + initPersistentAlarm( ALARM_ID_DD_D11_PUMP_SPEED_CONTROL_ERROR, 0, CONCENTRATE_PUMP_SPEED_OUT_OF_RANGE_TIMEOUT_MS ); + initPersistentAlarm( ALARM_ID_DD_D10_PUMP_SPEED_CONTROL_ERROR, 0, CONCENTRATE_PUMP_SPEED_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_DD_CONC_PUMP_HALL_SENSOR_OUT_OF_RANGE, CONCENTRATE_PUMP_HALL_SENSORS_OUT_OF_RANGE_TIME_MS, CONCENTRATE_PUMP_HALL_SENSORS_OUT_OF_RANGE_TIME_MS ); initPersistentAlarm( ALARM_ID_DD_CONCENTRATE_PUMP_FAULT, CONCENTRATE_PUMP_FAULT_PERSISTENCE_PERIOD, CONCENTRATE_PUMP_FAULT_PERSISTENCE_PERIOD ); } @@ -252,53 +252,53 @@ // Calculate pump speed for each defined pump calcMeasuredPumpsSpeed(); - parked[ CONCENTRATEPUMPS_CP1_ACID ].data = (U32)getFPGAAcidPumpIsParked(); - parked[ CONCENTRATEPUMPS_CP2_BICARB ].data = (U32)getFPGABicarbPumpIsParked(); - parkFaulted[ CONCENTRATEPUMPS_CP1_ACID ].data = (U32)getFPGAAcidPumpParkFault(); - parkFaulted[ CONCENTRATEPUMPS_CP2_BICARB ].data = (U32)getFPGABicarbPumpParkFault(); + parked[ D11_PUMP ].data = (U32)getFPGAD11PumpIsParked(); + parked[ D10_PUMP ].data = (U32)getFPGAD10PumpIsParked(); + parkFaulted[ D11_PUMP ].data = (U32)getFPGAD11PumpParkFault(); + parkFaulted[ D10_PUMP ].data = (U32)getFPGAD10PumpParkFault(); - pumpMesauredRevCnt[ CONCENTRATEPUMPS_CP1_ACID ].data = (U32)getFPGACPARevolutionCountStatus(); - pumpMesauredRevCnt[ CONCENTRATEPUMPS_CP2_BICARB ].data = (U32)getFPGACPBRevolutionCountStatus(); + pumpMesauredRevCnt[ D11_PUMP ].data = (U32)getFPGAD11PumpRevolutionCountStatus(); + pumpMesauredRevCnt[ D10_PUMP ].data = (U32)getFPGAD10PumpRevolutionCountStatus(); - if ( ( TRUE == getConcPumpIsParked( CONCENTRATEPUMPS_CP1_ACID ) ) || ( TRUE == getConcPumpParkIsFaulted( CONCENTRATEPUMPS_CP1_ACID ) ) ) + if ( ( TRUE == getConcPumpIsParked( D11_PUMP ) ) || ( TRUE == getConcPumpParkIsFaulted( D11_PUMP ) ) ) { // If the pump has parked or faulted during the park, then it is not in progress - concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].isConcPumpParkInProgress = FALSE; + concentratePumps[ D11_PUMP ].isConcPumpParkInProgress = FALSE; } - if ( ( TRUE == getConcPumpIsParked( CONCENTRATEPUMPS_CP2_BICARB ) ) || ( TRUE == getConcPumpParkIsFaulted( CONCENTRATEPUMPS_CP2_BICARB ) ) ) + if ( ( TRUE == getConcPumpIsParked( D10_PUMP ) ) || ( TRUE == getConcPumpParkIsFaulted( D10_PUMP ) ) ) { - concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].isConcPumpParkInProgress = FALSE; + concentratePumps[ D10_PUMP ].isConcPumpParkInProgress = FALSE; } // Don't monitor persistence for cp speed alarms if we are parked. if ( TRUE == acidConcentratePumpParkPersistenceClear ) { // Clear flag and resume persistence checking once park bit is set. - if ( TRUE == getConcPumpIsParked( CONCENTRATEPUMPS_CP1_ACID ) ) + if ( TRUE == getConcPumpIsParked( D11_PUMP ) ) { acidConcentratePumpParkPersistenceClear = FALSE; } else { - resetPersistentAlarmTimer( ALARM_ID_DD_CP1_SPEED_CONTROL_ERROR ); + resetPersistentAlarmTimer( ALARM_ID_DD_D11_PUMP_SPEED_CONTROL_ERROR ); } } if ( TRUE == bicarbConcentratePumpParkPersistenceClear ) { // Clear flag and resume persistence checking once park bit is set. - if ( TRUE == getConcPumpIsParked( CONCENTRATEPUMPS_CP2_BICARB ) ) + if ( TRUE == getConcPumpIsParked( D10_PUMP ) ) { bicarbConcentratePumpParkPersistenceClear = FALSE; } else { - resetPersistentAlarmTimer( ALARM_ID_DD_CP2_SPEED_CONTROL_ERROR ); + resetPersistentAlarmTimer( ALARM_ID_DD_D10_PUMP_SPEED_CONTROL_ERROR ); } } - monitorPumpSpeed( CONCENTRATEPUMPS_CP1_ACID, ALARM_ID_DD_CP1_SPEED_CONTROL_ERROR ); - monitorPumpSpeed( CONCENTRATEPUMPS_CP2_BICARB, ALARM_ID_DD_CP2_SPEED_CONTROL_ERROR ); + monitorPumpSpeed( D11_PUMP, ALARM_ID_DD_D11_PUMP_SPEED_CONTROL_ERROR ); + monitorPumpSpeed( D10_PUMP, ALARM_ID_DD_D10_PUMP_SPEED_CONTROL_ERROR ); checkPersistentAlarm( ALARM_ID_DD_CONCENTRATE_PUMP_FAULT, isConcPumpFault, fpgaConcPumpsFault, CONCENTRATE_PUMP_FAULT_PERSISTENCE_PERIOD ); @@ -411,14 +411,14 @@ DD_OP_MODE_T opMode = getCurrentOperationMode(); // pumps should be not ON and DD operation mode is not in fault mode - if ( ( concentratePumps[CONCENTRATEPUMPS_CP1_ACID].execState == CONCENTRATE_PUMP_OFF_STATE ) && - ( concentratePumps[CONCENTRATEPUMPS_CP2_BICARB].execState == CONCENTRATE_PUMP_OFF_STATE ) && + if ( ( concentratePumps[D11_PUMP].execState == CONCENTRATE_PUMP_OFF_STATE ) && + ( concentratePumps[D10_PUMP].execState == CONCENTRATE_PUMP_OFF_STATE ) && //( DD_MODE_FILL != opMode ) && ( DD_MODE_FAUL != opMode ) ) { // Park concentrate pump - requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, PARK_CONC_PUMPS ); - requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, PARK_CONC_PUMPS ); + requestConcentratePumpOff( D11_PUMP, PARK_CONC_PUMPS ); + requestConcentratePumpOff( D10_PUMP, PARK_CONC_PUMPS ); result = TRUE; } @@ -510,13 +510,13 @@ #else pumpTargetRevCnt[ pumpId ].data = (U32)( targetVolume_ml * PISTON_PUMP_VOLUME_TO_REVOLUTION ); #endif - if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + if ( D11_PUMP == pumpId ) { - setFPGACPARevolutionCount( getConcPumpTargetRevolutionCount( pumpId ) ); + setFPGAD11PumpRevolutionCount( getConcPumpTargetRevolutionCount( pumpId ) ); } else { - setFPGACPBRevolutionCount( getConcPumpTargetRevolutionCount( pumpId ) ); + setFPGAD10PumpRevolutionCount( getConcPumpTargetRevolutionCount( pumpId ) ); } } @@ -778,30 +778,30 @@ // Disable the motor when stopping, to take next revolution count // Send zero rate command to stop the pump - if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + if ( D11_PUMP == pumpId ) { - setFPGAAcidPumpSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); - //concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].controlSet |= CONCENTRATE_PUMP_CONTROL_ENABLE_MASK; - //setFPGAAcidPumpControl( concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].controlSet ); + setFPGAD11PumpSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); + //concentratePumps[ D11_PUMP ].controlSet |= CONCENTRATE_PUMP_CONTROL_ENABLE_MASK; + //setFPGAD11PumpControl( concentratePumps[ D11_PUMP ].controlSet ); } else { - setFPGABicarbSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); - //concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].controlSet |= CONCENTRATE_PUMP_CONTROL_ENABLE_MASK; - //setFPGABicarbPumpControl( concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].controlSet ); + setFPGAD10PumpSetStepSpeed( CONCENTRATE_PUMP_ZERO_FLOW_RATE ); + //concentratePumps[ D10_PUMP ].controlSet |= CONCENTRATE_PUMP_CONTROL_ENABLE_MASK; + //setFPGAD10PumpControl( concentratePumps[ D10_PUMP ].controlSet ); } #ifndef __PUMPTEST__ // Park concentrate pump too if requested if ( TRUE == parkPump ) { - if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + if ( D11_PUMP == pumpId ) { - setFPGAAcidPumpParkCmd(); + setFPGAD11PumpParkCmd(); acidConcentratePumpParkPersistenceClear = TRUE; } else { - setFPGABicarbPumpParkCmd(); + setFPGAD10PumpParkCmd(); bicarbConcentratePumpParkPersistenceClear = TRUE; } concentratePumps[ pumpId ].isConcPumpParkInProgress = TRUE; @@ -826,13 +826,13 @@ { U08 controlSet = concentratePumps[ pumpId ].controlSet; - if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + if ( D11_PUMP == pumpId ) { - setFPGAAcidPumpControl( controlSet ); + setFPGAD11PumpControl( controlSet ); } else { - setFPGABicarbPumpControl( controlSet ); + setFPGAD10PumpControl( controlSet ); } state = CONCENTRATE_PUMP_RAMP_TO_TARGET_SPEED_STATE; @@ -975,13 +975,13 @@ // Check if the control set bit is set as desired and if not, correct it checkConcentratePumpControlSet( pumpId ); - if ( CONCENTRATEPUMPS_CP1_ACID == pumpId ) + if ( D11_PUMP == pumpId ) { - setFPGAAcidPumpSetStepSpeed( concentratePumps[ pumpId ].togglePeriodCount ); + setFPGAD11PumpSetStepSpeed( concentratePumps[ pumpId ].togglePeriodCount ); } else { - setFPGABicarbSetStepSpeed( concentratePumps[ pumpId ].togglePeriodCount ); + setFPGAD10PumpSetStepSpeed( concentratePumps[ pumpId ].togglePeriodCount ); } return hasTgtBeenReached; @@ -1012,12 +1012,12 @@ { switch ( pumpId ) { - case CONCENTRATEPUMPS_CP1_ACID: - pulseWidthCount = getFPGACPAHallSensePulseWidth(); + case D11_PUMP: + pulseWidthCount = getFPGAD11PumpHallSensePulseWidth(); break; - case CONCENTRATEPUMPS_CP2_BICARB: - pulseWidthCount = getFPGACPBHallSensePulseWidth(); + case D10_PUMP: + pulseWidthCount = getFPGAD10PumpHallSensePulseWidth(); break; #ifndef _VECTORCAST_ @@ -1061,9 +1061,9 @@ * triggers the alarms if they are out of range. * @details \b Inputs: concentratePumps * @details \b Outputs: none - * @details \b Alarm: ALARM_ID_DD_CP1_SPEED_CONTROL_ERROR when the speed difference + * @details \b Alarm: ALARM_ID_DD_D11_PUMP_SPEED_CONTROL_ERROR when the speed difference * between requested and measured is not in range. - * @details \b Alarm: ALARM_ID_DD_CP2_SPEED_CONTROL_ERROR when the speed difference + * @details \b Alarm: ALARM_ID_DD_D10_PUMP_SPEED_CONTROL_ERROR when the speed difference * between requested and measured is not in range. * @param pumpId pump id to check the difference between requested and measured speed * @param alarm which the corresponding alarm of the concentrate pump @@ -1106,21 +1106,21 @@ switch ( pumpId ) { - case CONCENTRATEPUMPS_CP1_ACID: - controlSetBits = getFPGAAcidPumpControlStatus(); + case D11_PUMP: + controlSetBits = getFPGAD11PumpControlStatus(); if ( controlSetBits != concentratePumps[ pumpId ].controlSet ) { - setFPGAAcidPumpControl( concentratePumps[ pumpId ].controlSet ); + setFPGAD11PumpControl( concentratePumps[ pumpId ].controlSet ); } break; - case CONCENTRATEPUMPS_CP2_BICARB: - controlSetBits = getFPGABicarbPumpControlStatus(); + case D10_PUMP: + controlSetBits = getFPGAD10PumpControlStatus(); if ( controlSetBits != concentratePumps[ pumpId ].controlSet ) { - setFPGABicarbPumpControl( concentratePumps[ pumpId ].controlSet ); + setFPGAD10PumpControl( concentratePumps[ pumpId ].controlSet ); } break; @@ -1145,32 +1145,32 @@ { CONCENTRATE_PUMP_DATA_T data; - U08 cp1Direction = concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].direction; - F32 cp1SetSpeed = concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].currentPumpSpeed; - F32 cp1TgtSpeed = getPumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID ); - U08 cp2Direction = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].direction; - F32 cp2SetSpeed = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].currentPumpSpeed; - F32 cp2TgtSpeed = getPumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB ); + U08 d11_PumpDirection = concentratePumps[ D11_PUMP ].direction; + F32 d11_PumpSetSpeed = concentratePumps[ D11_PUMP ].currentPumpSpeed; + F32 d11_PumpTgtSpeed = getPumpTargetSpeed( D11_PUMP ); + U08 d10_PumpDirection = concentratePumps[ D10_PUMP ].direction; + F32 d10_PumpSetSpeed = concentratePumps[ D10_PUMP ].currentPumpSpeed; + F32 d10_PumpTgtSpeed = getPumpTargetSpeed( D10_PUMP ); // Use the above values to prepare the broadcast data - data.cp1CurrentSetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp1Direction ? cp1SetSpeed * -1.0F : cp1SetSpeed ); - data.cp1MeasuredSpeed = getMeasuredPumpSpeedMLPM( CONCENTRATEPUMPS_CP1_ACID ); - data.cp1TargetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp1Direction ? cp1TgtSpeed * -1.0F : cp1TgtSpeed ); - data.cp2CurrentSetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp2Direction ? cp2SetSpeed * -1.0F : cp2SetSpeed ); - data.cp2MeasuredSpeed = getMeasuredPumpSpeedMLPM( CONCENTRATEPUMPS_CP2_BICARB ); - data.cp2TargetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == cp2Direction ? cp2TgtSpeed * -1.0F : cp2TgtSpeed ); - data.cp1TargetRevCount = (U32)getConcPumpTargetRevolutionCount( CONCENTRATEPUMPS_CP1_ACID ); - data.cp1MeasuredRevCount= getFPGACPARevolutionCountStatus(); - data.cp2TargetRevCount = (U32)getConcPumpTargetRevolutionCount( CONCENTRATEPUMPS_CP2_BICARB ); - data.cp1MeasuredRevCount= getFPGACPBRevolutionCountStatus(); - data.cp1State = concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].execState; - data.cp2State = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].execState; - data.cp1PulseUS = concentratePumps[ CONCENTRATEPUMPS_CP1_ACID ].pulseWidthUS; - data.cp2PulseUS = concentratePumps[ CONCENTRATEPUMPS_CP2_BICARB ].pulseWidthUS; - data.cp1Parked = getConcPumpIsParked( CONCENTRATEPUMPS_CP1_ACID ); - data.cp2Parked = getConcPumpIsParked( CONCENTRATEPUMPS_CP2_BICARB ); - data.cp1ParkFault = getConcPumpParkIsFaulted( CONCENTRATEPUMPS_CP1_ACID ); - data.cp2ParkFault = getConcPumpParkIsFaulted( CONCENTRATEPUMPS_CP2_BICARB ); + data.d11_PumpCurrentSetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == d11_PumpDirection ? d11_PumpSetSpeed * -1.0F : d11_PumpSetSpeed ); + data.d11_PumpMeasuredSpeed = getMeasuredPumpSpeedMLPM( D11_PUMP ); + data.d11_PumpTargetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == d11_PumpDirection ? d11_PumpTgtSpeed * -1.0F : d11_PumpTgtSpeed ); + data.d10_PumpCurrentSetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == d10_PumpDirection ? d10_PumpSetSpeed * -1.0F : d10_PumpSetSpeed ); + data.d10_PumpMeasuredSpeed = getMeasuredPumpSpeedMLPM( D10_PUMP ); + data.d10_PumpTargetSpeed = ( CONCENTRATE_PUMP_REVERSE_DIR == d10_PumpDirection ? d10_PumpTgtSpeed * -1.0F : d10_PumpTgtSpeed ); + data.d11_PumpTargetRevCount = (U32)getConcPumpTargetRevolutionCount( D11_PUMP ); + data.d11_PumpMeasuredRevCount= getFPGAD11PumpRevolutionCountStatus(); + data.d10_PumpTargetRevCount = (U32)getConcPumpTargetRevolutionCount( D10_PUMP ); + data.d11_PumpMeasuredRevCount= getFPGAD10PumpRevolutionCountStatus(); + data.d11_PumpState = concentratePumps[ D11_PUMP ].execState; + data.d10_PumpState = concentratePumps[ D10_PUMP ].execState; + data.d11_PumpPulseUS = concentratePumps[ D11_PUMP ].pulseWidthUS; + data.d10_PumpPulseUS = concentratePumps[ D10_PUMP ].pulseWidthUS; + data.d11_PumpParked = getConcPumpIsParked( D11_PUMP ); + data.d10_PumpParked = getConcPumpIsParked( D10_PUMP ); + data.d11_PumpParkFault = getConcPumpParkIsFaulted( D11_PUMP ); + data.d10_PumpParkFault = getConcPumpParkIsFaulted( D10_PUMP ); concentratePumpMonitorTimerCounter = 0; broadcastData( MSG_ID_DD_CONCENTRATE_PUMP_DATA, COMM_BUFFER_OUT_CAN_DD_BROADCAST, (U08*)&data, sizeof( CONCENTRATE_PUMP_DATA_T ) );