diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c index 91d04872e..20c6d5a00 100644 --- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c +++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c @@ -365,20 +365,26 @@ void MainCardEEpromWriteRequestFunc(MessageContainer* requestContainer) uint32_t BtsrSaveParamsToEeprom(void *Data) { BTSRParameters* BtsrPrameters = Data; + BTSRParameters ExistingBtsrPrameters ; uint32_t status = 0; float data; - data = BtsrPrameters->feedingtension; - status |= MCU_E2PromProgram(EEPROM_BTSR_FEEDING_TENSION, data); - status |= MCU_E2PromProgram(EEPROM_BTSR_TYPE, BtsrPrameters->btsryarntype); - status |= MCU_E2PromProgram(EEPROM_BTSR_APPLICATION, BtsrPrameters->btsrapplicationtype); - data = BtsrPrameters->threadlengthfactor; - status |= MCU_E2PromProgram(EEPROM_BTSR_LENGTH_OFFSET, data); - data = BtsrPrameters->tensionerror; - status |= MCU_E2PromProgram(EEPROM_BTSR_TENSION_ERROR, data); - data = BtsrPrameters->spooltension; - status |= MCU_E2PromProgram(EEPROM_BTSR_SPOOL_TENSION, data); - data = BtsrPrameters->exittension; - status |= MCU_E2PromProgram(EEPROM_BTSR_EXIT_TENSION, data); + + BtsrReadParamsFromEeprom(&ExistingBtsrPrameters); + if (memcmp(BtsrPrameters,&ExistingBtsrPrameters,sizeof(ExistingBtsrPrameters))) + { + data = BtsrPrameters->feedingtension; + status |= MCU_E2PromProgram(EEPROM_BTSR_FEEDING_TENSION, data); + status |= MCU_E2PromProgram(EEPROM_BTSR_TYPE, BtsrPrameters->btsryarntype); + status |= MCU_E2PromProgram(EEPROM_BTSR_APPLICATION, BtsrPrameters->btsrapplicationtype); + data = BtsrPrameters->threadlengthfactor; + status |= MCU_E2PromProgram(EEPROM_BTSR_LENGTH_OFFSET, data); + data = BtsrPrameters->tensionerror; + status |= MCU_E2PromProgram(EEPROM_BTSR_TENSION_ERROR, data); + data = BtsrPrameters->spooltension; + status |= MCU_E2PromProgram(EEPROM_BTSR_SPOOL_TENSION, data); + data = BtsrPrameters->exittension; + status |= MCU_E2PromProgram(EEPROM_BTSR_EXIT_TENSION, data); + } return status; } |
