diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 580648842..97bb2e245 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -60,7 +60,9 @@ uint32_t HWConfigurationInit(void) uint32_t status = OK; UploadHardwareConfigurationRequest* UploadRequest; + GeneralHwReady = false; Control_WD(ENABLE,250); + Fresult = f_mkdir(SW_INFO_DIR); if ((Fresult == FR_OK)||(Fresult == FR_EXIST)) { @@ -85,6 +87,7 @@ uint32_t HWConfigurationInit(void) if (status ==OK) { upload_hardware_configuration_request__free_unpacked(UploadRequest,NULL); + EraseFlashSection(GENHWCFG_MAP_IN_FLASH,Bytes); ReadAppAndProgram(GENHWCFG_MAP_IN_FLASH, Bytes, buffer); } else @@ -232,9 +235,11 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) if (request->n_winders == 1) status += InternalWinderConfigMessage(request->winders); status += MotorsInit(); - + if (request->n_motors < NUM_OF_MOTORS) { + //EraseFlashSection(GENHWCFG_MAP_IN_FLASH + 0x2000,sizeof(HardwareMotor)*request->n_motors); + for (Motor_i = 0; Motor_i < request->n_motors ; Motor_i++) status += MotorsConfigMessage(request->motors[Motor_i]); } @@ -259,6 +264,8 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) //StoreDancerConfigMessage(); if (request->n_pidcontrols <= HARDWARE_PID_CONTROL_TYPE__Dispenser8) { + IDS_DispenserControlInit(); + for (PID_i = 0; PID_i < request->n_pidcontrols ; PID_i++) { if (request->pidcontrols[PID_i]->hardwarepidcontroltype <= HARDWARE_PID_CONTROL_TYPE__MixerHeater) @@ -338,6 +345,9 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer) UploadHardwareConfigurationRequest* UploadRequest = upload_hardware_configuration_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); + GeneralHwReady = false; + Control_WD(ENABLE,250); + status = HWConfiguration(UploadRequest); responseContainer = createContainer(MESSAGE_TYPE__UploadHardwareConfigurationResponse, requestContainer->token, true, &response, &upload_hardware_configuration_response__pack, &upload_hardware_configuration_response__get_packed_size); |
