diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c index c8f435cb9..4ee94dae4 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_dispenser.c @@ -17,7 +17,8 @@ #include "Common/SWUpdate/FileSystem.h" #include "drivers/Flash_Memory/fatfs/ff.h" -#include "drivers/Flash_ram/FlashProgram.h" +//#include "drivers/Flash_ram/FlashProgram.h" +#include "drivers/Flash_ram/MCU_E2Prom.h" #include "StateMachines/Printing/PrintingSTM.h" @@ -249,7 +250,10 @@ void IDS_Dispenser_Content_Init (void) } //================================== - memcpy(&Bytes,(void *)DISPENSERS_MAP_IN_FLASH,sizeof(Bytes)); + //MCU_E2PromProgramChunk(DISPENSERS_MAP_IN_EEPROM,4,&Bytes); + + MCU_E2PromReadChunk(DISPENSERS_MAP_IN_EEPROM,4,&Bytes); + //memcpy(&Bytes,(void *)DISPENSERS_MAP_IN_FLASH,sizeof(Bytes)); bool havedata = false; DispenserData* StoredDispenserData; if ((Bytes)&&(Bytes < 500)) @@ -257,9 +261,11 @@ void IDS_Dispenser_Content_Init (void) buffer = my_malloc (Bytes); if (buffer) { - memcpy(buffer, (void *)(DISPENSERS_MAP_IN_FLASH+4),Bytes); + MCU_E2PromReadChunk(DISPENSERS_MAP_IN_EEPROM+4,Bytes,buffer); + //memcpy(buffer, (void *)(DISPENSERS_MAP_IN_FLASH+4),Bytes); StoredDispenserData = dispenser_data__unpack(NULL,Bytes,buffer); - havedata = true; + if (StoredDispenserData) + havedata = true; free(buffer); } } @@ -323,11 +329,14 @@ uint32_t IDS_Dispenser_Store_Data (void) if (JobIsActive()==false) { response_size = dispenser_data__pack(&StoreDispenserData, dispensers_container_buffer); - EraseFlashSection(DISPENSERS_SECTION_FLASH); + + MCU_E2PromProgramChunk(DISPENSERS_MAP_IN_EEPROM,4,&response_size); + MCU_E2PromProgramChunk(DISPENSERS_MAP_IN_EEPROM+4, response_size, dispensers_container_buffer); + /*EraseFlashSection(DISPENSERS_SECTION_FLASH); ReadAppAndProgram(DISPENSERS_MAP_IN_FLASH, 4,&response_size); ReadAppAndProgram(DISPENSERS_MAP_IN_FLASH+4, response_size, dispensers_container_buffer); //ReportWithPackageFilter(IDSFilter,"IDS_Dispenser_Store ",__FILE__,__LINE__,(int)response_size,RpWarning,(int)StoreDispenserData.dispenserinfo[4]->nanolitterperpulse *100,0); - + */ /*Status = FileWrite(IDS_Dispenser_Data,response_size,DispenserStorePath,BIOS_NO_WAIT); if (Status == FR_OK) { |
