Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rc9cf3c88d4db4ddeb62c85489bbcb25e48688c35 -rc9cb494c004e390155ce7c8b3cda96cf8c1b5fa7 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision c9cf3c88d4db4ddeb62c85489bbcb25e48688c35) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision c9cb494c004e390155ce7c8b3cda96cf8c1b5fa7) @@ -935,8 +935,8 @@ if ( ++bpMotorSpeedCalcTimerCtr >= BP_SPEED_CALC_INTERVAL ) { U16 bpMotorHallSensorCount = getFPGABloodPumpHallSensorCount(); - U16 incDelta = ( bpMotorHallSensorCount >= bpLastMotorHallSensorCount ? bpMotorHallSensorCount - bpLastMotorHallSensorCount : ( 0x10000 - bpLastMotorHallSensorCount ) + bpMotorHallSensorCount ); - U16 decDelta = 0x10000 - incDelta; + U16 incDelta = ( bpMotorHallSensorCount >= bpLastMotorHallSensorCount ? bpMotorHallSensorCount - bpLastMotorHallSensorCount : ( HEX_64_K - bpLastMotorHallSensorCount ) + bpMotorHallSensorCount ); + U16 decDelta = HEX_64_K - incDelta; U16 delta; // determine blood pump speed/direction from delta hall sensor count since last interval Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r93a439cf9d1b347e23b84d1156417380ee01efaa -rc9cb494c004e390155ce7c8b3cda96cf8c1b5fa7 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 93a439cf9d1b347e23b84d1156417380ee01efaa) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision c9cb494c004e390155ce7c8b3cda96cf8c1b5fa7) @@ -132,13 +132,13 @@ static PUMP_CONTROL_MODE_T dialInPumpControlMode = PUMP_CONTROL_MODE_CLOSED_LOOP; ///< requested dialIn pump control mode. static PUMP_CONTROL_MODE_T dialInPumpControlModeSet = PUMP_CONTROL_MODE_CLOSED_LOOP;///< currently set dialIn pump control mode. -DATA_DECL( U32, DialInFlowDataPub, dialInFlowDataPublishInterval, DIAL_IN_FLOW_DATA_PUB_INTERVAL, DIAL_IN_FLOW_DATA_PUB_INTERVAL ); ///< interval (in ms) at which to publish dialIn flow data to CAN bus -DATA_DECL( S32, TargetDialInFlowRate, targetDialInFlowRate, 0, 0 ); ///< requested dialIn flow rate -DATA_DECL( F32, MeasuredDialInFlowRate, measuredDialInFlowRate, 0.0, 0.0 ); ///< measured dialIn flow rate -DATA_DECL( F32, MeasuredDialInPumpRotorSpeed, dialInPumpRotorSpeedRPM, 0.0, 0.0 ); ///< measured dialIn pump rotor speed -DATA_DECL( F32, MeasuredDialInPumpSpeed, dialInPumpSpeedRPM, 0.0, 0.0 ); ///< measured dialIn pump motor speed -DATA_DECL( F32, MeasuredDialInPumpMCSpeed, adcDialInPumpMCSpeedRPM, 0.0, 0.0 ); ///< measured dialIn pump motor controller speed -DATA_DECL( F32, MeasuredDialInPumpMCCurrent, adcDialInPumpMCCurrentmA, 0.0, 0.0 ); ///< measured dialIn pump motor controller current +static OVERRIDE_U32_T dialInFlowDataPublishInterval = { DIAL_IN_FLOW_DATA_PUB_INTERVAL, DIAL_IN_FLOW_DATA_PUB_INTERVAL, DIAL_IN_FLOW_DATA_PUB_INTERVAL, 0 }; ///< interval (in ms) at which to publish dialIn flow data to CAN bus +static OVERRIDE_S32_T targetDialInFlowRate = { 0, 0, 0, 0 }; ///< requested dialIn flow rate +static OVERRIDE_F32_T measuredDialInFlowRate = { 0.0, 0.0, 0.0, 0 }; ///< measured dialysate inlet flow rate +static OVERRIDE_F32_T dialInPumpRotorSpeedRPM = { 0.0, 0.0, 0.0, 0 }; ///< measured dialysate inlet pump rotor speed +static OVERRIDE_F32_T dialInPumpSpeedRPM = { 0.0, 0.0, 0.0, 0 }; ///< measured dialysate inlet pump motor speed +static OVERRIDE_F32_T adcDialInPumpMCSpeedRPM = { 0.0, 0.0, 0.0, 0 }; ///< measured dialysate inlet pump motor controller speed +static OVERRIDE_F32_T adcDialInPumpMCCurrentmA = { 0.0, 0.0, 0.0, 0 }; ///< measured dialysate inlet pump motor controller current static U32 dipControlTimerCounter = 0; ///< determines when to perform control on dialIn flow @@ -856,8 +856,8 @@ if ( ++dipMotorSpeedCalcTimerCtr >= DIP_SPEED_CALC_INTERVAL ) { U16 dipMotorHallSensorCount = getFPGADialInPumpHallSensorCount(); - U16 incDelta = ( dipMotorHallSensorCount >= dipLastMotorHallSensorCount ? dipMotorHallSensorCount - dipLastMotorHallSensorCount : ( 0x10000 - dipLastMotorHallSensorCount ) + dipMotorHallSensorCount ); - U16 decDelta = 0x10000 - incDelta; + U16 incDelta = ( dipMotorHallSensorCount >= dipLastMotorHallSensorCount ? dipMotorHallSensorCount - dipLastMotorHallSensorCount : ( HEX_64_K - dipLastMotorHallSensorCount ) + dipMotorHallSensorCount ); + U16 decDelta = HEX_64_K - incDelta; U16 delta; // determine dialysate inlet pump speed/direction from delta hall sensor count since last interval Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r93a439cf9d1b347e23b84d1156417380ee01efaa -rc9cb494c004e390155ce7c8b3cda96cf8c1b5fa7 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 93a439cf9d1b347e23b84d1156417380ee01efaa) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision c9cb494c004e390155ce7c8b3cda96cf8c1b5fa7) @@ -749,8 +749,8 @@ if ( ++dopMotorSpeedCalcTimerCtr >= DOP_SPEED_CALC_INTERVAL ) { U16 dopMotorHallSensorCount = getFPGADialOutPumpHallSensorCount(); - U16 incDelta = ( dopMotorHallSensorCount >= dopLastMotorHallSensorCount ? dopMotorHallSensorCount - dopLastMotorHallSensorCount : ( 0x10000 - dopLastMotorHallSensorCount ) + dopMotorHallSensorCount ); - U16 decDelta = 0x10000 - incDelta; + U16 incDelta = ( dopMotorHallSensorCount >= dopLastMotorHallSensorCount ? dopMotorHallSensorCount - dopLastMotorHallSensorCount : ( HEX_64_K - dopLastMotorHallSensorCount ) + dopMotorHallSensorCount ); + U16 decDelta = HEX_64_K - incDelta; U16 delta; // determine dialysate outlet pump speed/direction from delta hall sensor count since last interval Index: firmware/App/Services/CommBuffers.c =================================================================== diff -u -r93a439cf9d1b347e23b84d1156417380ee01efaa -rc9cb494c004e390155ce7c8b3cda96cf8c1b5fa7 --- firmware/App/Services/CommBuffers.c (.../CommBuffers.c) (revision 93a439cf9d1b347e23b84d1156417380ee01efaa) +++ firmware/App/Services/CommBuffers.c (.../CommBuffers.c) (revision c9cb494c004e390155ce7c8b3cda96cf8c1b5fa7) @@ -124,7 +124,7 @@ // release thread protection bufferGetLock[ buffer ] = FALSE; _enable_IRQ(); -// SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, SW_FAULT_ID_COMM_BUFFERS_ADD_TOO_MUCH_DATA, len ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, SW_FAULT_ID_COMM_BUFFERS_ADD_TOO_MUCH_DATA, len ) } } else // invalid buffer given