Index: firmware/App/Controllers/AirPump.c =================================================================== diff -u -raa6d45143096dfab776ce2ed7c775cfe2dd6db18 -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision aa6d45143096dfab776ce2ed7c775cfe2dd6db18) +++ firmware/App/Controllers/AirPump.c (.../AirPump.c) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -33,6 +33,15 @@ #define AIR_PUMP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Air pump data publish interval. #define DATA_PUBLISH_COUNTER_START_COUNT 13 ///< Air pump data publish start counter. +#pragma pack(push, 1) +/// Payload record structure for air pump test set command message payload. +typedef struct +{ + U32 h12State; ///< Air pump state to command. + U32 h12Power; ///< Air pump power level to command. +} AIR_PUMP_SET_CMD_PAYLOAD_T; +#pragma pack(pop) + // ********** private data ********** static AIR_PUMP_STATE_T currentAirPumpState; ///< Current air pump control state. @@ -242,5 +251,38 @@ return result; } +/*********************************************************************//** + * @brief + * The testSetAirPump function sets the air pump to a given state (on/off). + * @details \b Inputs: none + * @details \b Outputs: currentAirPumpMotorPowerLevel + * @param message set message from Dialin which includes the state to set + * the air pump to. + * @return TRUE if set request is successful, FALSE if not + *************************************************************************/ +BOOL testSetAirPump( MESSAGE_T *message ) +{ + BOOL result = FALSE; + // Verify tester has logged in with TD and override type is valid + if ( TRUE == isTestingActivated() ) + { + // Verify payload length is valid + if ( sizeof( U32 ) + sizeof( U32 ) == message->hdr.payloadLen ) + { + U08 *msgPayload = &message->payload[0]; + AIR_PUMP_SET_CMD_PAYLOAD_T payload; + + memcpy( &payload, msgPayload, sizeof( AIR_PUMP_SET_CMD_PAYLOAD_T ) ); + if ( payload.h12Power <= AIR_PUMP_MOTOR_MAX_PWM ) + { + setAirPumpState( (AIR_PUMP_STATE_T)payload.h12State, (U08)payload.h12Power ); + result = TRUE; + } + } + } + + return result; +} + /**@}*/ Index: firmware/App/Controllers/AirPump.h =================================================================== diff -u -raa6d45143096dfab776ce2ed7c775cfe2dd6db18 -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision aa6d45143096dfab776ce2ed7c775cfe2dd6db18) +++ firmware/App/Controllers/AirPump.h (.../AirPump.h) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -59,6 +59,7 @@ AIR_PUMP_STATE_T getAirPumpState( void ); BOOL testAirPumpDataPublishIntervalOverride( MESSAGE_T *message ); +BOOL testSetAirPump( MESSAGE_T *message ); /**@}*/ Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r794a0f21a465227d432a91d7b7fd7d513cfe3ecb -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 794a0f21a465227d432a91d7b7fd7d513cfe3ecb) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -765,7 +765,7 @@ { payload.h4PresFlow = 0; } - payload.h4RotorHallState = ( hallSensor > 0 ? 0 : 1 ); // 1=home, 0=not home + payload.h6RotorHallState = ( hallSensor > 0 ? 0 : 1 ); // 1=home, 0=not home broadcastData( MSG_ID_TD_BLOOD_PUMP_DATA, COMM_BUFFER_OUT_CAN_TD_BROADCAST, (U08*)&payload, sizeof( BLOOD_PUMP_STATUS_PAYLOAD_T ) ); bloodFlowDataPublicationTimerCounter = 0; } Index: firmware/App/Controllers/BloodFlow.h =================================================================== diff -u -r794a0f21a465227d432a91d7b7fd7d513cfe3ecb -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 794a0f21a465227d432a91d7b7fd7d513cfe3ecb) +++ firmware/App/Controllers/BloodFlow.h (.../BloodFlow.h) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -47,7 +47,7 @@ F32 h4SetRPM; ///< Set motor speed in RPM. U32 h4RotorCount; ///< Rotor count. U32 h4PresFlow; ///< Prescribed blood flow in mL/min. - U32 h4RotorHallState; ///< Rotor hall state (1=home, 0=not home). + U32 h6RotorHallState; ///< Rotor hall state (1=home, 0=not home). } BLOOD_PUMP_STATUS_PAYLOAD_T; #pragma pack(pop) Index: firmware/App/Controllers/Ejector.c =================================================================== diff -u -rfdb7ee915da2741dc200fef1b624b7f383f4db85 -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Controllers/Ejector.c (.../Ejector.c) (revision fdb7ee915da2741dc200fef1b624b7f383f4db85) +++ firmware/App/Controllers/Ejector.c (.../Ejector.c) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -129,6 +129,10 @@ ejectorHomeRequested = TRUE; result = TRUE; } + else + { + result = retractEjector(); + } return result; } Index: firmware/App/Drivers/GLXferPump.c =================================================================== diff -u -r3fe55376370dc82b5edcb20ac6026d8f079e401b -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision 3fe55376370dc82b5edcb20ac6026d8f079e401b) +++ firmware/App/Drivers/GLXferPump.c (.../GLXferPump.c) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -91,38 +91,5 @@ *************************************************************************/ -/*********************************************************************//** - * @brief - * The testSetAirPump function sets the air pump to a given state (on/off). - * @details \b Inputs: none - * @details \b Outputs: currentAirPumpMotorPowerLevel - * @param message set message from Dialin which includes the state to set - * the air pump to. - * @return TRUE if set request is successful, FALSE if not - *************************************************************************/ -BOOL testSetAirPump( MESSAGE_T *message ) -{ - BOOL result = FALSE; - - // Verify tester has logged in with TD and override type is valid - if ( TRUE == isTestingActivated() ) - { - // Verify payload length is valid - if ( sizeof( U32 ) == message->hdr.payloadLen ) - { - U32 power; - - memcpy( &power, message->payload, sizeof(U32) ); - if ( power <= AIR_PUMP_MOTOR_MAX_PWM ) - { - setAirPumpMotorPower( (U08)power ); - result = TRUE; - } - } - } - - return result; -} - /**@}*/ Index: firmware/App/Drivers/InternalADC.h =================================================================== diff -u -r56100135135bb715d316b5fd002a4a4951b9334a -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision 56100135135bb715d316b5fd002a4a4951b9334a) +++ firmware/App/Drivers/InternalADC.h (.../InternalADC.h) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -55,7 +55,7 @@ INT_ADC_PRIMARY_ALARM_CURRENT_LG, ///< Internal ADC channel for primary alarm audio current low gain INT_ADC_24V_ACTUATORS, ///< Internal ADC channel for 24V to actuators INT_ADC_BACKUP_V, ///< Internal ADC channel for VBackup -// INT_ADC_DUMMY, ///< Internal ADC channel - not used, needed to get even number of channels + INT_ADC_DUMMY, ///< Internal ADC channel - not used, needed to get even number of channels NUM_OF_INT_ADC_CHANNELS ///< Number of used internal ADC channels. } INT_ADC_CHANNEL_T; Index: firmware/App/TDCommon.h =================================================================== diff -u -re2cb992bbeeb9522d1bf6d866e6a81021e05726d -r0afeba28589108c3f742079a87bac313c4983b0c --- firmware/App/TDCommon.h (.../TDCommon.h) (revision e2cb992bbeeb9522d1bf6d866e6a81021e05726d) +++ firmware/App/TDCommon.h (.../TDCommon.h) (revision 0afeba28589108c3f742079a87bac313c4983b0c) @@ -36,7 +36,7 @@ // #define TEST_PINCH_VALVES 1 // Alpha unit pinch valve testing // #define TEST_UI_ONLY 1 // Alpha test with TD and UI only - no DD // #define TEST_NO_PINCH_VALVES 1 // Alpha test with no pinch valve functionality - #define TEST_USE_OFF_AS_STOP_BUTTON 1 // Alpha test re-purposing off button as a stop button +// #define TEST_USE_OFF_AS_STOP_BUTTON 1 // Alpha test re-purposing off button as a stop button #include #include