aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/General
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-09 16:46:20 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-10-09 16:46:20 +0300
commit07276289ff121853256bb894bc3040c4f5bfb2b0 (patch)
tree369835914beffe3330a3f16150e8a6ce70f10b46 /Software/Embedded_SW/Embedded/Modules/General
parent67bfd778a15597bb213c94fa5c2f5495fafd7c66 (diff)
downloadTango-07276289ff121853256bb894bc3040c4f5bfb2b0.tar.gz
Tango-07276289ff121853256bb894bc3040c4f5bfb2b0.zip
ifs filling / waste emptying interface
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c51
1 files changed, 48 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 9297d3bb8..b9bcc1624 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -27,7 +27,9 @@
#include "StateMachines/Initialization/InitSequence.h"
#include "Modules/General/MachineStatus.h"
+#include "Modules/AlarmHandling/AlarmHandling.h"
#include "Modules/Control/MillisecTask.h"
+#include "modules/waste/waste_ex.h"
#include "modules/ids/ids_ex.h"
MachineState StoredMachineStatus = MACHINE_STATE__PowerUp;
@@ -78,6 +80,7 @@ int MachineUpdateResponseFunc(void)
int1valid = false;
if((internaltemp2<=MINIMUM_HEATER_READ*100)||(MAXIMUM_HEATER_READ*100<=internaltemp2))
int2valid = false;
+ MachineStatus.has_overalltemperature = true;
if ((int2valid == true)&&(int1valid == true))
{
usetemp = (max(internaltemp1,internaltemp2))/100;
@@ -89,17 +92,19 @@ int MachineUpdateResponseFunc(void)
}
else
{
- AlarmHandlingSetAlarm(EVENT_TYPE__TEMPERATURE_MEASUREMENT_ERROR, true);
+ //AlarmHandlingSetAlarm(EVENT_TYPE__TEMPERATURE_MEASUREMENT_ERROR, true);
temp_measure_alarm = true;
if ((int2valid == false)&&(int1valid == true))
usetemp = internaltemp1/100;
else if ((int2valid == false)&&(int1valid == false))
+ {
+ MachineStatus.has_overalltemperature = FALSE;
usetemp = 0;
+ }
else if ((int1valid == false)&&(int2valid == true))
usetemp = internaltemp2/100;
}
- MachineStatus.has_overalltemperature = true;
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
@@ -133,7 +138,47 @@ int MachineUpdateResponseFunc(void)
}
else
return ERROR;
-
+ MachineStatus.has_middlecartridgestate = true;
+ switch (cartGetState(WasteCartridge_middle))
+ {
+ case CartridgeStateOUT:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ case CartridgeStateIN:
+ case CartridgeStateSELECTED:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartEmpty;
+ break;
+ case CartridgeStateACTIVE:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartFilling;
+ break;
+ case CartridgeStateFULL:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartFull;
+ break;
+ default:
+ MachineStatus.middlecartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ }
+ MachineStatus.has_lowercartridgestate = true;
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ switch (cartGetState(WasteCartridge_lower))
+ {
+ case CartridgeStateOUT:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ case CartridgeStateIN:
+ case CartridgeStateSELECTED:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartEmpty;
+ break;
+ case CartridgeStateACTIVE:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartFilling;
+ break;
+ case CartridgeStateFULL:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartFull;
+ break;
+ default:
+ MachineStatus.lowercartridgestate = WASTE_CARTRIDGE_STATE__CartAbsent;
+ break;
+ }
responseContainer = /*MachineUpdate*/createContainer(MESSAGE_TYPE__StartMachineStatusUpdateResponse, MachineUpdateToken, false, &response, &start_machine_status_update_response__pack, &start_machine_status_update_response__get_packed_size);