aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-11-22 11:28:09 +0200
committerAvi Levkovich <avi@twine-s.com>2020-11-22 11:28:09 +0200
commit58d96d90f9422d390658d328d4f6eb3b86d168fa (patch)
tree7ede929c5f04537a3537fbb0b62e02b1456a394d /Software/Embedded_SW/Embedded/Modules
parent466340a97f8a158570f84fc12238101ca9c124ec (diff)
downloadTango-58d96d90f9422d390658d328d4f6eb3b86d168fa.tar.gz
Tango-58d96d90f9422d390658d328d4f6eb3b86d168fa.zip
Update RFID code + Use new task for RFID and dispensers
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c75
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c4
3 files changed, 69 insertions, 21 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 1057ddbc3..5f6cdf1c6 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -703,14 +703,14 @@ uint32_t MillisecLowLoop(uint32_t tick)
Trigger_InputsReading();
- #ifdef USE_RFID
+ #ifdef USE_RFID_LOGIC
//every 100 m sec
for(readerID = READER_1; readerID < Max_Readers ; readerID++)
{
if(DiscoverRFIDTagEvery100mSec[readerID] == true)
{
RFIDCallEvery100mSec(readerID);
- break;
+ //break;
}
}
#endif
@@ -821,12 +821,13 @@ uint32_t MillisecLowLoop(uint32_t tick)
//call IFS state machine
midTankStateMachine();
- #ifdef USE_RFID
- RFIDCycleEvery1Sec();
- #endif
+
}
if (Tensecond_Tick)
{
+ #ifdef USE_RFID_LOGIC
+ RFIDCycleEvery1Sec();
+ #endif
}
if (OneMinute_Tick)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
index 63c7b6963..f4b1f7463 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c
@@ -9,21 +9,23 @@
#include "include.h"
#include "inc/hw_uart.h"
#include "driverlib/gpio.h"
-
-#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
#include <Drivers/I2C_Communication/RFID_NFC/NFC_MainBaord.h>
+#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
+
+#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
#include "Drivers/I2C_Communication/RFID_NFC/NFC.h"
#include <Utilities/RfidTagHandling.h>
-#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
+
#include <Drivers/I2C_Communication/I2C.h>
#include <Drivers/I2C_Communication/RFID_NFC/I2C_IFS_Mux.h>
+#include <Drivers/I2C_Communication/I2C_RFID_Dispenser_Task/I2C_RFID_Disp_Task.h>
#include "Stub_Status.h"
void Stub_CartridgeReadRequest(MessageContainer* requestContainer)
{
- //uint32_t status = PASSED;
+ uint32_t status = PASSED;
MessageContainer responseContainer;
static bool first_time = true;
@@ -38,26 +40,69 @@ void Stub_CartridgeReadRequest(MessageContainer* requestContainer)
uint8_t readerID = request->cartridgeid >> 8;
- /*if(request->cartridgeid == 0x0100)
+ if(request->cartridgeid == 0x0100)
{
- Init_RFID_Reader(readerID);//0-2
+ Init_RFID_Reader(readerID);//0-2 - done in main.c. by Init_IFS no need to use it
}
else if(request->cartridgeid == 0x0101)
{
- Connect_to_RFID_Reder(readerID);//0-2 - conect the card and get tag id
+ Connect_to_RFID_Reder(readerID);//0-2 - conect the card and get tag id - while(1)
}
else if(request->cartridgeid == 0x0102)
{
+ /*
Active_RFID_Reader = readerID + 1;
- if(first_time == true)
- {
- TagStage = Tag_PrepareForDiscovery;
- first_time = false;
- }
+// if(first_time == true)
+// {
+// TagStage = Tag_PrepareForDiscovery;
+// first_time = false;
+// }
+ TagStage[readerID] = Tag_PrepareForDiscovery;
+
+ RFIDTagComm_StateMachine(readerID, Auto);
+ */
+ Trigger_RFID_TestTask(readerID);
- RFIDTagComm_StateMachine(Auto);
}
- */
+ else if(request->cartridgeid == 0x0103)//first time before 0x0102 - no need done in 102
+ {
+ Active_RFID_Reader = readerID + 1;
+ TagStage[readerID] = Tag_PrepareForDiscovery;
+
+ }
+ else if((request->cartridgeid & 0xFF)== 0xC1)
+ {
+ Trigger_RFID_UpdateInkFill(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xC2)
+ {
+ Trigger_RFID_UpdateInkUsed(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xC3)
+ {
+ Trigger_RFID_UpdateInkEmpty(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xC4)
+ {
+ Trigger_RFID_UpdateInkMachineID(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xE1)
+ {
+ Trigger_RFID_UpdateWasteFill(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xE2)
+ {
+ Trigger_RFID_UpdateWasteFull(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xE3)
+ {
+ Trigger_RFID_UpdateWasteEmpty(readerID);
+ }
+ else if((request->cartridgeid & 0xFF)== 0xE4)
+ {
+ Trigger_RFID_UpdateWasteMachineID(readerID);
+ }
+
response.cartridge = &CartridgeRead;
CartridgeRead.has_index = false;
CartridgeRead.has_slot = true;
@@ -82,7 +127,7 @@ void Stub_CartridgeReadRequest(MessageContainer* requestContainer)
void Stub_CartridgeWriteRequest(MessageContainer* requestContainer)
{
- //uint32_t status = NOT_SUPPORTED;
+ uint32_t status = NOT_SUPPORTED;
MessageContainer responseContainer;
StubCartridgeWriteRequest* request = stub_cartridge_write_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
index c1b54b4d6..490a0c0a5 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_maint.c
@@ -8,8 +8,9 @@
#include "Modules/Waste/Waste_ex.h"
#include "modules/heaters/heaters_ex.h"
#include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h>
-#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
#include <Drivers/I2C_Communication/RFID_NFC/NFC_MainBaord.h>
+#include "Drivers/I2C_Communication/RFID_NFC/logi-tag/LT_RFID.h"
+
#include "Drivers/I2C_Communication/RFID_NFC/NFC.h"
#include <Utilities/RfidTagHandling.h>
#include "PMR/IFS/CartridgeState.pb-c.h"
@@ -27,6 +28,7 @@
#include <Drivers/I2C_Communication/I2C_Task.h>
#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h>
+#include <Drivers/I2C_Communication/RFID_NFC/RFID_Waste.h>
#include <Drivers/I2C_Communication/WHS_Card/D_AD5272_Rheostat/WHS_Rheostat.h>
uint8_t VocPpmAlarmLimit = 10;//PPM