From ad93ce8b0f13540aafe55bc3ba9d7d72aa1fc7e2 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 1 Aug 2018 11:00:36 +0300 Subject: dispenser jogging - handle valves --- .../Embedded/Modules/Diagnostics/DiagnosticsHoming.c | 16 +++++++++++----- Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c index 08940899e..b70c5a744 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c @@ -254,15 +254,20 @@ uint32_t DispenserJoggingRequestFunc(MessageContainer* requestContainer) { if (JobIsActive() == false) { - //if ((request->has_direction)&&(request->has_speed)) + if (request->has_direction) { + switch (request->direction) + { + case MOTOR_DIRECTION__Forward: + Control3WayValvesWithCallback ((Valves_t) request->index, Dispenser_Mixer, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer + break; + case MOTOR_DIRECTION__Backward: + Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer + break; + } MotorSetDirection(MotorId,request->direction); MotorSetSpeed(MotorId, /*request->speed*/150); } - /*else - { - status = ERROR; - }*/ } else { @@ -366,6 +371,7 @@ uint32_t DispenserAbortJoggingRequestFunc(MessageContainer* requestContainer) TimerMotors_t MotorId = (request->index)+HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1; MotorStop(MotorId,Hard_Hiz); + Control3WayValvesWithCallback ((Valves_t) request->index, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer responseContainer = createContainer(MESSAGE_TYPE__DispenserAbortJoggingResponse, requestContainer->token, false, &response, &dispenser_abort_jogging_response__pack, &dispenser_abort_jogging_response__get_packed_size); responseContainer.continuous = false; diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index bfdb7b5d7..d1e23b657 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -299,7 +299,7 @@ uint32_t IDSPreSegmentState(void *JobDetails, int SegmentId) //******************************************************************************************************************** uint32_t IDSDistanceToSpoolState(void) { - int Dispenser_i,DispenserId; + int Dispenser_i; TimerMotors_t HW_Motor_Id; for (Dispenser_i = 0;Dispenser_i < MAX_SYSTEM_DISPENSERS;Dispenser_i++) -- cgit v1.3.1