aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/IFS
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/IFS
parent67bfd778a15597bb213c94fa5c2f5495fafd7c66 (diff)
downloadTango-07276289ff121853256bb894bc3040c4f5bfb2b0.tar.gz
Tango-07276289ff121853256bb894bc3040c4f5bfb2b0.zip
ifs filling / waste emptying interface
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/IFS')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c51
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.h1
2 files changed, 52 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 747df1a61..abad051cb 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -11,10 +11,14 @@
#include <DataDef.h>
#include "PMR/Diagnostics/CartridgeSlot.pb-c.h"
#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h"
+#include "PMR/Diagnostics/StartInkFillingRequest.pb-c.h"
+#include "PMR/Diagnostics/StartInkFillingResponse.pb-c.h"
+#include "PMR/Diagnostics/FillingAction.pb-c.h"
#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"//#include "FPGA_GPIO.h" // use for FPGA IO
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
#include "StateMachines/Initialization/PowerOffSequence.h"
+#include <Utilities/RfidTagHandling.h>
#include "include.h"
#include "Modules/IDS/ids_ex.h"
@@ -229,7 +233,54 @@ bool CartridgeValidationResponseFunc(MessageContainer* requestContainer)
}
return OK;
}
+char InkFillingToken[36+1] = {0};
+uint32_t InkFillingUpdate(POWER_OFF_STAGES_ENUM stage)
+{
+ uint32_t status = NOT_SUPPORTED;
+ MessageContainer responseContainer;
+
+ StartInkFillingResponse response = START_INK_FILLING_RESPONSE__INIT;
+ Cartridge Cartridge = CARTRIDGE__INIT;
+ response.action = FILLING_ACTION__None;
+ response.has_action = true;
+ response.cartridge = LoadCartridgeData(CART_1,&Cartridge);
+
+ response.cartridge = NULL;
+ response.has_progresspercentage = true;
+ response.progresspercentage = 0.0;
+ response.message = NULL;
+
+ responseContainer = createContainer(MESSAGE_TYPE__StartInkFillingResponse, InkFillingToken, false, &response, &start_ink_filling_response__pack, &start_ink_filling_response__get_packed_size);
+ responseContainer.has_continuous = true;
+ responseContainer.continuous = true;
+ uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
+ size_t container_size = message_container__pack(&responseContainer, container_buffer);
+ my_free(responseContainer.data.data);
+ //USBCDCD_sendData(container_buffer, container_size,10);
+
+ SendChars((char*)container_buffer, container_size);
+ //MessageContainer responseContainer;
+
+ return status;
+}
+
+uint32_t StartInkFillingRequestFunc(MessageContainer* requestContainer)
+{
+ uint32_t status = NOT_SUPPORTED;
+ //MessageContainer responseContainer;
+// MachineUpdateInitParams InitParams;
+
+ Report("StartInkFillingRequestFunc",__FILE__,__LINE__,(int)0,RpWarning,(int)0,0);
+ StartInkFillingRequest* request = start_ink_filling_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ ustrncpy (InkFillingToken, requestContainer->token,36);
+
+ InkFillingUpdate(POWER_OFF_INIT);
+ start_ink_filling_request__free_unpacked(request,NULL);
+ return status;
+// case MESSAGE_TYPE__StartWasteEmptyingRequest:
+
+}
void ResponseDemo(int MidtankId)
{
inkAuthenticationPass = true;
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
index 0f95fb2e2..dec1544ec 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.h
@@ -28,5 +28,6 @@ bool IFS_MidTankFilling(void);
MidTank_t IFS_MidTankIsActive(void);
bool IFS_CartridgeLowerPresent();
bool CartridgeValidationResponseFunc(MessageContainer* requestContainer);
+uint32_t StartInkFillingRequestFunc(MessageContainer* requestContainer);
#endif /* MODULES_IFS_IFS_H_ */