diff options
| author | Avi Levkovich <avi@twine-s.com> | 2020-11-22 11:28:09 +0200 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2020-11-22 11:28:09 +0200 |
| commit | 58d96d90f9422d390658d328d4f6eb3b86d168fa (patch) | |
| tree | 7ede929c5f04537a3537fbb0b62e02b1456a394d /Software/Embedded_SW/Embedded/Modules | |
| parent | 466340a97f8a158570f84fc12238101ca9c124ec (diff) | |
| download | Tango-58d96d90f9422d390658d328d4f6eb3b86d168fa.tar.gz Tango-58d96d90f9422d390658d328d4f6eb3b86d168fa.zip | |
Update RFID code + Use new task for RFID and dispensers
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
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 |
