aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-02-21 14:16:10 +0200
committerShlomo Hecht <shlomo@twine-s.com>2019-02-21 14:16:10 +0200
commit21a6b045581db87278253428839bde3fcc9db563 (patch)
treefe2aa0d2826cea3206439638a0a8ace43838cdc8 /Software/Embedded_SW
parent36a32949d1b6299b93c0e8250977e6c147edf388 (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c41
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.h3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c2
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)
{