diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-02-21 14:16:10 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-02-21 14:16:10 +0200 |
| commit | 21a6b045581db87278253428839bde3fcc9db563 (patch) | |
| tree | fe2aa0d2826cea3206439638a0a8ace43838cdc8 /Software/Embedded_SW/Embedded | |
| parent | 36a32949d1b6299b93c0e8250977e6c147edf388 (diff) | |
| download | Tango-21a6b045581db87278253428839bde3fcc9db563.tar.gz Tango-21a6b045581db87278253428839bde3fcc9db563.zip | |
Version 1.3.7.4: update embedded parameters from a stub. load correctly. bug fix in heaters. logs for parameter initialization
Diffstat (limited to 'Software/Embedded_SW/Embedded')
9 files changed, 44 insertions, 24 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 67e678790..77011b073 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,3,7,3}; +TangoVersion_t _gTangoVersion = {1,3,7,4}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg index 45ed20a54..b88b47cf0 100644 --- a/Software/Embedded_SW/Embedded/Embedded.cfg +++ b/Software/Embedded_SW/Embedded/Embedded.cfg @@ -52,6 +52,7 @@ Program.global.timer2 = Hwi.create(39, "&EightMilliSecondHeatersInterrupt", hwi1 /*var hwi5Params = new Hwi.Params(); hwi5Params.instance.name = "usb0"; Program.global.usb0 = Hwi.create(58, "&USBCDCD_hwiHandler", hwi5Params);*/ + var hwi6Params = new Hwi.Params(); hwi6Params.instance.name = "timer1"; Program.global.timer1 = Hwi.create(37, "&OneMilliSecondMillisecInterrupt", hwi6Params); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c index 9a167b26e..e3f593924 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c @@ -245,6 +245,9 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) else DeActivateHeadMagnet(); break; +/* case INTERFACE_IOS__GPO_LED4: + DataUpdated = request->value; + break;*/ case INTERFACE_IOS__VALVE_WASTE_TANK: if (request->value == true) Valve_Set(VALVE_MIXCHIP_WASTECH,1); diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 603de30d4..fe060874f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -99,7 +99,7 @@ DoubleArray DiagnosticsDispenserPressure[MAX_SYSTEM_DISPENSERS]; HeaterState **heatersstates; HeaterState HeaterInfo[HEATER_TYPE__MixerHeater+1]; DigitalInterfaceState **digitalinterfacestates; -DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM/*+1*/]; +DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM+2]; /*double dispenser1motorfrequency[DIAGNOSTICS_LIMIT]; double dispenser2motorfrequency[DIAGNOSTICS_LIMIT]; double dispenser3motorfrequency[DIAGNOSTICS_LIMIT]; @@ -237,8 +237,12 @@ void DiagnosticsLoadDigitalValues(void) DigitalOutputState[9].interfaceio = INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL; DigitalOutputState[9].value = GetHeaterState(9); - //DigitalOutputState[9].interfaceio = INTERFACE_IOS__GPO_SPARE_SSR13_CTRL; - //DigitalOutputState[9].value = GetHeaterState(9); + DigitalOutputState[9].interfaceio = INTERFACE_IOS__GPO_SPARE_SSR13_CTRL; + DigitalOutputState[9].value = 0; +#warning get the magnet state + + DigitalOutputState[9].interfaceio = INTERFACE_IOS__GPO_LED4; + DigitalOutputState[9].value = DataUpdated; } void DiagnosticLoadTemperature(int HeaterId, int temperature) diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index d3d57ddb6..847396441 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -49,7 +49,6 @@ bool GeneralHwReady = false; HardwareBlower BlowerCfg; char *SW_INFO_DIR = "0://SysInfo"; -char *OLD_SW_INFO_DIR = "0://SWInfo"; char HwConfigPath[50] = "0://SysInfo//GenHwCfg.cfg"; uint32_t HWConfigurationInit(void) @@ -65,18 +64,6 @@ uint32_t HWConfigurationInit(void) Fresult = f_mkdir(SW_INFO_DIR); if ((Fresult == FR_OK)||(Fresult == FR_EXIST)) { -/************************************************************************* - Fresult = f_mkdir(OLD_SW_INFO_DIR); - - Fresult = f_rename ("//SWINFO//GENHWCFG.MSG", "//SYSINFO//GENHWCFG.CFG"); - Fresult |= f_rename ("//SWINFO//ALARMPRM.MSG", "//SYSINFO//ALARMPRM.CFG"); - Fresult |= f_rename ("//SWINFO//EMBPARAM.MSG", "//SYSINFO//EMBPARAM.CFG"); - Fresult |= f_rename ("//SWINFO//PROCESSP.MSG", "//SYSINFO//PROCESSP.CFG"); - Fresult |= f_rename ("//SWINFO//DISPSTOR.MSG", "/SYSINFO//DISPSTOR.CFG"); - Fresult |= f_rename ("//SWINFO//DANCCFG.MSG", "//SYSINFO//DANCCFG.CFG"); - Fresult |= f_rename ("//SWINFO//LOADARM.MSG", "//SYSINFO//LOADARM.CFG"); - - *************************************************************************/ FileHandle = my_malloc(sizeof(FIL)); Fresult = FileOpen(HwConfigPath, &Bytes, FileHandle); @@ -108,7 +95,7 @@ uint32_t HWConfigurationInit(void) } f_close(FileHandle); } - EmbeddedParametersInit(); + //EmbeddedParametersInit(); IDS_Dispenser_Content_Init(); //ProcessParamsInit(); return Fresult; @@ -116,10 +103,12 @@ uint32_t HWConfigurationInit(void) char EmbeddedParametersPath[50] = "0://SysInfo//EmbParam.cfg"; ConfigurationParameters EmbeddedParameters; +bool DataUpdated = false; void LoadConfigurationParameters(ConfigurationParameters *Params) { if (Params == 0) { + configuration_parameters__init(&EmbeddedParameters); EmbeddedParameters.has_breaksensorlimit = true; EmbeddedParameters.breaksensorlimit = 10; EmbeddedParameters.has_diagnosticcollectionlimit = true; @@ -156,8 +145,14 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters.dcheatersupperoperationlimit = 1002; EmbeddedParameters.has_midtankpressurecorrection = true; EmbeddedParameters.midtankpressurecorrection = 0.5; - - FileWrite(&EmbeddedParameters,sizeof(EmbeddedParameters),EmbeddedParametersPath); + uint8_t* response_buffer = my_malloc(configuration_parameters__get_packed_size(&EmbeddedParameters)); + size_t response_size = 0; + if (response_buffer) + { + response_size = configuration_parameters__pack(&EmbeddedParameters, response_buffer); + } + FileWrite(response_buffer,response_size,EmbeddedParametersPath); + my_free(response_buffer); } else memcpy (&EmbeddedParameters,Params,sizeof(EmbeddedParameters)); } @@ -168,14 +163,19 @@ uint32_t EmbeddedParametersInit(void) uint32_t Bytes = 0; ConfigurationParameters *Params; - LoadConfigurationParameters(0); Fresult = FileRead(EmbeddedParametersPath, &Bytes, &buffer); if (Fresult == FR_OK) { - Params = (ConfigurationParameters *)buffer; + Params = configuration_parameters__unpack(NULL, Bytes, buffer)/*(ConfigurationParameters *)buffer*/; LoadConfigurationParameters(Params); - free (buffer); + DataUpdated=true; + free (buffer); + configuration_parameters__free_unpacked(NULL,Params); + } + else + { + LoadConfigurationParameters(0); } IDS_Dispenser_SetTimeOutValues(EmbeddedParameters.closevalvetimeout, EmbeddedParameters.openvalvetimeout); IDS_Dispenser_SetBackLashValues(EmbeddedParameters.initialdispenserpressure, EmbeddedParameters.initialdispensertimeout, EmbeddedParameters.initialdispensertimelag); @@ -220,6 +220,9 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) { return ERROR; } + + EmbeddedParametersInit(); + PrintingHWConfiguration(request); if (request->n_winders == 1) status += InternalWinderConfigMessage(request->winders); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h index 9aa5201dc..8fdbad42e 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h @@ -14,6 +14,9 @@ extern void HWSystemResetRequest(MessageContainer* requestContainer); uint32_t HWConfigurationInit(void); extern HardwareBlower BlowerCfg; + +extern bool DataUpdated; + extern bool GeneralHwReady; #endif diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index e83be8633..2647970c9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -706,7 +706,8 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) //Heaters OFF until coming into the proportional band return OK; } - if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) +// if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) + if (readValue < (HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000)) { ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index ede6b0674..42f990fda 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -44,11 +44,14 @@ void IDS_Dispenser_SetPrepareValues( uint32_t DispenserBuildPressureSpeed, DispenserPreparePressure = DispenserBuildPressureLimit; DispenserPrepareTimeout = DispenserBuildPressureTimeout; DispenserPrepareTimeLag = DispenserBuildPressureLag; + Report("IDS_Dispenser_SetPrepareValues ",__FILE__,__LINE__,DispenserPrepareSpeed,RpWarning,(int)DispenserPreparePressure,0); + Report("IDS_Dispenser_SetPrepareValues ",__FILE__,__LINE__,DispenserPrepareTimeout,RpWarning,(int)DispenserPrepareTimeLag,0); } void IDS_Dispenser_SetTimeOutValues(uint32_t CloseTimeout, uint32_t OpenTimeout) { CloseValveTimeout = CloseTimeout; OpenValveTimeout = OpenTimeout; + Report("IDS_Dispenser_SetTimeOutValues ",__FILE__,__LINE__,OpenValveTimeout,RpWarning,(int)CloseValveTimeout,0); } //******************************************************************************************************************** diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c index 8028a60ee..7d851936c 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c @@ -75,6 +75,8 @@ void IDS_Dispenser_SetBackLashValues(double initialdispenserpressure, uint32 InitialDispenserPressure = initialdispenserpressure; InitialDispenserTimeout = initialdispensertimeout; InitialDispenserTimeLag = initialdispensertimelag; + + Report("IDS_Dispenser_SetBackLashValues ",__FILE__,InitialDispenserPressure,InitialDispenserTimeout,RpWarning,(int)InitialDispenserTimeLag,0); } uint32_t IDS_HomeDispenserBackMoveCallback(uint32_t deviceID, uint32_t ReadValue) { |
