diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-09-09 20:50:28 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-09-09 20:50:28 +0300 |
| commit | b7bd2edc8c009ded74ea1680a2b8de1a80015d35 (patch) | |
| tree | 9c81c74875536c88cb82101997b09e7e68e5107e /Software/Embedded_SW/Embedded/Modules | |
| parent | 2781c05332f0c5cac394f3d1aab928b1dd8cee7c (diff) | |
| parent | e5215c02da35fd2a89db84a80da452ecb4021a4c (diff) | |
| download | Tango-b7bd2edc8c009ded74ea1680a2b8de1a80015d35.tar.gz Tango-b7bd2edc8c009ded74ea1680a2b8de1a80015d35.zip | |
merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
7 files changed, 99 insertions, 80 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index a6075ac09..d0807b20e 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -958,28 +958,31 @@ uint32_t AlarmHandlingLoop(uint32_t tick) break; case ALARM_SOURCE_TYPE__CurrentAlarm: if (CheckCurrentAlarms) - { - value = Get_Heaters_Current_Integer(AlarmItem[Alarm_i].DeviceId); - if (AlarmItem[Alarm_i].AlarmDirection == true) - { - if ((value >= (AlarmItem[Alarm_i].AlarmValue*1.07))||(value <= (AlarmItem[Alarm_i].AlarmValue*0.80))) - { - Status = true; - } - } - else - { - if (value == 0) - { - Status = true; - } - } - } - else - { - value = false; - } - break; + { + if (Get_Heaters_Current_Integer(AlarmItem[Alarm_i].DeviceId, &value) == OK) + { + if (AlarmItem[Alarm_i].AlarmDirection == true) + { + if ((value >= (AlarmItem[Alarm_i].AlarmValue*1.07)) || (value <= (AlarmItem[Alarm_i].AlarmValue*0.80))) + { + Status = true; + } + } + else + { + if (value == 0) + { + Status = true; + } + } + + } + } + else + { + value = false; + } + break; case ALARM_SOURCE_TYPE__MotorAlarm: if (CheckMotorAlarms) { diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index c5f8c4df2..c2e71995e 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -33,6 +33,8 @@ #include "PMR/EmbeddedParameters/MidTankDataSetupRequest.pb-c.h" #include "PMR/EmbeddedParameters/MidTankDataSetupResponse.pb-c.h" #include "PMR/EmbeddedParameters/ConfigurationParameters.pb-c.h" +#include "PMR/EmbeddedParameters/MachineCalibrationDataRequest.pb-c.h" +#include "PMR/EmbeddedParameters/MachineCalibrationDataResponse.pb-c.h" #include "PMR/Hardware/SystemResetRequest.pb-c.h" #include "PMR/Hardware/SystemResetResponse.pb-c.h" @@ -69,8 +71,12 @@ void *HWConfigurationLoadFromFile( uint32_t *NumOfBytes) uint8_t* buffer = NULL; *NumOfBytes = 0; - Fresult = FileRead(HwConfigPath, NumOfBytes, &buffer); - REPORT_IF_ERROR(Fresult, "HW Config File Read error", Fresult, RpError, buffer, 0); + Fresult = f_mkdir(SW_INFO_DIR); + if ((Fresult == FR_OK)||(Fresult == FR_EXIST)) + { + Fresult = FileRead(HwConfigPath, NumOfBytes, &buffer); + REPORT_IF_ERROR(Fresult, "HW Config File Read error", Fresult, RpError, buffer, 0); + } // if (Fresult) // Report("HW Config File Read error", __FILE__,__LINE__, Fresult, RpError, buffer, 0); @@ -306,6 +312,7 @@ uint32_t EmbeddedParametersInit(void) checkTamperAlarms = (EmbeddedParameters->generalparameters[2] < 0.5)?false:true; checkMotorAlarms = (EmbeddedParameters->generalparameters[3] < 0.5)?false:true; AlarmHandlingSetFlags(checkHardLimitAlarms,checkCurrentAlarms,checkTamperAlarms,checkMotorAlarms); + //AlarmHandlingSetCurrentLimits(EmbeddedParameters->currentalarmhighlimit,EmbeddedParameters->currentalarmlowlimit); } if (EmbeddedParameters->n_generalparameters >= 5) SetWinderBackToBaseTime((uint32_t) EmbeddedParameters->generalparameters[4]); @@ -481,6 +488,41 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) STATUS_RED_LED_OFF; return OK; } +char Serial[21]; + +uint32_t MachineCalibrationDataRequestFunc(MessageContainer* requestContainer) +{ +// MachineCalibrationData MachineData =MACHINE_CALIBRATION_DATA__INIT; + MessageContainer responseContainer; + MachineCalibrationDataRequest *request = machine_calibration_data_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); +/* for (i = 0;i<8;i++) + { + float a=0,b=0; + a = MCU_E2PromReadMidtank_A(i); + b = MCU_E2PromReadMidtank_B(i); + Report("MidTankData Read", __FILE__,__LINE__,(int)(a*1000), RpMessage, (int)(b*1000), 0); + } + //debug only + Task_sleep(1000); + MCU_E2PromSerialNumProgram ("Take me to the sky"); + memset (Serial,0,20); + MCU_E2PromSerialNumRead(&Serial); + Report(Serial, __FILE__,__LINE__,22, RpMessage, 21, 0); +*/ + + MachineCalibrationDataResponse response = MACHINE_CALIBRATION_DATA_RESPONSE__INIT; + machine_calibration_data__init(&response.machinecalibrationdata); + + responseContainer = createContainer(MESSAGE_TYPE__MachineCalibrationDataResponse, requestContainer->token, true, &response, &machine_calibration_data_response__pack, &machine_calibration_data_response__get_packed_size); + //------------------------------------------------------------------------------------------- + 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); + SendChars((char*)container_buffer, container_size); + + return OK; + +} uint32_t MidTankDataSetupFunc(MessageContainer* requestContainer) { MessageContainer responseContainer; @@ -491,6 +533,23 @@ uint32_t MidTankDataSetupFunc(MessageContainer* requestContainer) Report("MidTankDataSetupFunc", __FILE__,request->midtankinfo[i]->midtankid,(int)(request->midtankinfo[i]->initialoffseta*1000), RpMessage, (int)(request->midtankinfo[i]->slopeb*1000), 0); MCU_E2PromProgramMidTank(request->midtankinfo[i]->midtankid,request->midtankinfo[i]->initialoffseta,request->midtankinfo[i]->slopeb); } + //debug only + Task_sleep(1000); + for (i = 0;i<8;i++) + { + float a=0,b=0; + a = MCU_E2PromReadMidtank_A(i); + b = MCU_E2PromReadMidtank_B(i); + Report("MidTankData Read", __FILE__,__LINE__,(int)(a*1000), RpMessage, (int)(b*1000), 0); + } + //debug only + Task_sleep(1000); + MCU_E2PromSerialNumProgram ("Take me to the sky"); + memset (Serial,0,20); + MCU_E2PromSerialNumRead(&Serial); + Report(Serial, __FILE__,__LINE__,22, RpMessage, 21, 0); + + MidTankDataSetupResponse response = MID_TANK_DATA_SETUP_RESPONSE__INIT; responseContainer = createContainer(MESSAGE_TYPE__MidTankDataSetupResponse, requestContainer->token, true, &response, &mid_tank_data_setup_response__pack, &mid_tank_data_setup_response__get_packed_size); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h index 68dbf82fa..538204f0b 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h @@ -11,6 +11,7 @@ extern ConfigurationParameters *EmbeddedParameters; extern uint32_t HWConfigurationFunc(MessageContainer* requestContainer); extern uint32_t MidTankDataSetupFunc(MessageContainer* requestContainer); +extern uint32_t MachineCalibrationDataRequestFunc(MessageContainer* requestContainer); extern void HWSystemResetRequest(MessageContainer* requestContainer); uint32_t HWConfigurationInit(void); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 050bb65b8..73b3321df 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -1370,10 +1370,17 @@ uint32_t HeatersControlLoop(uint32_t tick) //Activate HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); //DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary - DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); + //DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); + } + if (HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] == false) + { +#warning trial use both heaters in drier + ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); + //DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary + //DeActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); } } - else if (TimeSliceAllocation[SliceCounter] == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary) + /*else if (TimeSliceAllocation[SliceCounter] == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary) { if (HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] == false) { @@ -1383,7 +1390,7 @@ uint32_t HeatersControlLoop(uint32_t tick) //Activate HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary ActivateHeater (HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); } - } + }*/ else { //DeActivate HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h b/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h deleted file mode 100644 index 57659616e..000000000 --- a/Software/Embedded_SW/Embedded/Modules/IFS/RfidTagContent.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * RfidTagContent.h - * - * Created on: Jul 8, 2019 - * Author: shlomo - */ - -#ifndef MODULES_IFS_RFIDTAGCONTENT_H_ -#define MODULES_IFS_RFIDTAGCONTENT_H_ - -#include "PMR/Diagnostics/CartridgeSlot.pb-c.h" -#include "PMR/Diagnostics/CartridgeTagContent.pb-c.h" - -#include <DataDef.h> -#include "include.h" - - -#define MAX_CARTRIDGES (CARTRIDGE_SLOT__WasteLower+1) -typedef struct -{ - uint32_t UniqueId; - char SerialNumber[16]; - char FactoryId[3]; - int32_t FillingSystemId; - char ColorName[12]; - int32_t ColorCategory; - int32_t ColorTypeRevision; - int32_t CartridgeSize; - int32_t FilledInkVolume; - char InkBatchNum[10]; - char InkMFGDate[6]; - char InkEOLDate[6]; - char CartridgeFillingDate[6]; - char WasteFilledDate[6]; - int32_t PlugInCounter; - bool Inkfill; - bool InkUsed; - bool InkEmpty; - bool WasteEmpty; - bool WasteFilling; - bool WasteFull; - bool Blocked; - bool Fail; - int32_t WasteCounter; - char MachineIdInkUsed[16]; - char MachineIdWasteUsed[16]; -}RfidTagContent; - - - -#endif /* MODULES_IFS_RFIDTAGCONTENT_H_ */ diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c index 0e18ffdad..d51dc6748 100644 --- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c +++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c @@ -10,7 +10,7 @@ #include "PMR/Diagnostics/CartridgeSlot.pb-c.h" #include "PMR/Diagnostics/CartridgeTagContent.pb-c.h" -#include "RfidTagContent.h" +#include "common/utilities/RfidTagContent.h" #include <Drivers/I2C_Communication/RFID_NFC/RFIDTagInfo.h> #include <DataDef.h> diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c index c8084c9ad..3265fb56b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c @@ -7,7 +7,7 @@ #include "drivers/Valves/Valve.h" #include "Common/report/report.h" #include "Modules/Waste/Waste.h" -#include "Modules/IFS/RfidTagContent.h" +#include "common/utilities/RfidTagContent.h" #include <PMR/Diagnostics/EventType.pb-c.h> #include "Modules/AlarmHandling/AlarmHandling.h" |
