diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 16:28:56 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-26 16:28:56 +0200 |
| commit | 6d0d04a9f1d3ebbc679190ff49df69406eabe24a (patch) | |
| tree | 697ec870789091d0b26075696915120713270388 /Software/Embedded_SW/Embedded/Modules/General | |
| parent | 494d0f61b0800d96b1694930388397d9d9318d58 (diff) | |
| download | Tango-6d0d04a9f1d3ebbc679190ff49df69406eabe24a.tar.gz Tango-6d0d04a9f1d3ebbc679190ff49df69406eabe24a.zip | |
updating : special dispensers handling (for Moti), new process parameters, bugs and features. merged with Shai
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c | 26 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/General/process.c | 69 |
2 files changed, 91 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 92ed70b1e..500f03c25 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -103,7 +103,7 @@ uint32_t HWConfigurationInit(void) Report("HWConfigurationInit from flash", __FILE__,__LINE__,Bytes, RpMessage, UploadRequest->hardwareconfiguration->n_dancers, 0); } } - else + if (UploadRequest = NULL) { buffer = HWConfigurationLoadFromFile(&Bytes); //load hardware config if (buffer) @@ -274,6 +274,7 @@ uint32_t EmbeddedParametersInit(void) { FRESULT Fresult = FR_OK; uint32_t Bytes = 0; + uint8_t* buffer = NULL; ConfigurationParameters *Params; @@ -281,9 +282,21 @@ uint32_t EmbeddedParametersInit(void) if ((Bytes)&&(Bytes < 1000)) { - Params = configuration_parameters__unpack(NULL, Bytes, (void *)(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4)); - LoadConfigurationParameters(Params); - Report("LoadConfigurationParameters from flash", __FILE__,__LINE__,Bytes, RpMessage, Fresult, 0); + buffer = my_malloc (Bytes); + if (buffer) + { + memcpy(buffer, (void *)(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4),Bytes); + + Params = configuration_parameters__unpack(NULL, Bytes, buffer); + LoadConfigurationParameters(Params); + Report("LoadConfigurationParameters from flash", __FILE__,__LINE__,Bytes, RpMessage, Fresult, 0); + free(buffer); + } + else + { + LoadConfigurationParameters(0); + Report("LoadConfigurationParameters default", __FILE__,__LINE__,0, RpMessage, Fresult, 0); + } } else { @@ -634,6 +647,10 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer) responseContainer.error = ERROR_CODE__INVALID_PARAMETER; responseContainer.errormessage = "JOb Active or incorrect parameters"; } + else + { + AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_NO_CFG_FILE,OFF); + } 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); @@ -698,6 +715,7 @@ uint32_t LoadConfigurationParamsFromFile(void) EraseFlashSection(EMBEDDED_PARAMETERS_MAP_IN_FLASH,Bytes+4); ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH, 4,&Bytes); ReadAppAndProgram(EMBEDDED_PARAMETERS_MAP_IN_FLASH+4, Bytes, buffer); + EmbeddedParametersInit(); } return Fresult; } diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c index e376a99fe..cadfb3707 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/process.c +++ b/Software/Embedded_SW/Embedded/Modules/General/process.c @@ -112,21 +112,25 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData) { status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1, true,ProcessParams->headzone1temp); status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, true,ProcessParams->headzone1temp); + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, true,ProcessParams->headzone1temp); } else { status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1, false,ProcessParams->headzone1temp); status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, false,ProcessParams->headzone1temp); + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, false,ProcessParams->headzone1temp); } if (ProcessParams->headzone2temp>1) { status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2, true,ProcessParams->headzone2temp); status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, true,ProcessParams->headzone2temp); + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, true,ProcessParams->headzone2temp); } else { status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2, false,ProcessParams->headzone2temp); status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, false,ProcessParams->headzone2temp); + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, false,ProcessParams->headzone2temp); } if (ProcessParams->headzone3temp>1) { @@ -193,6 +197,71 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData) HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary, false, ProcessParams->dryerzone3temp); */ + /* if (ProcessParams->headzone7temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, true,ProcessParams->headzone7temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, false,ProcessParams->headzone7temp); + } + if (ProcessParams->headzone8temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, true,ProcessParams->headzone8temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, false,ProcessParams->headzone8temp); + } + if (ProcessParams->headzone9temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ9, true,ProcessParams->headzone9temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ9, false,ProcessParams->headzone9temp); + } + if (ProcessParams->headzone10temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ10, true,ProcessParams->headzone10temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ10, false,ProcessParams->headzone10temp); + } + if (ProcessParams->headzone11temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ11, true,ProcessParams->headzone11temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ11, false,ProcessParams->headzone11temp); + } + if (ProcessParams->headzone12temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ12, true,ProcessParams->headzone12temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ12, false,ProcessParams->headzone12temp); + } + if (ProcessParams->stspzone1temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, true,ProcessParams->stspzone1temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, false,ProcessParams->stspzone1temp); + } + if (ProcessParams->stspzone2temp>1) + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, true,ProcessParams->stspzone2temp); + } + else + { + status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, false,ProcessParams->stspzone2temp); + } +*/ HeatersStopControlOnHeatersOff(ProcessParams); dyeingspeed = ProcessParams->dyeingspeed; dryerbufferlength = ProcessParams->dryerbufferlength; |
