aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-06-17 13:53:39 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-06-17 13:53:39 +0300
commit55387f5654403fff0ca3173f5bfcd69a12825ed8 (patch)
treec44a89f97a7fb1495eb20ef383f74fc064864c9b /Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
parent401131666124c2df283fb66db80a24843b8115fa (diff)
downloadTango-55387f5654403fff0ca3173f5bfcd69a12825ed8.tar.gz
Tango-55387f5654403fff0ca3173f5bfcd69a12825ed8.zip
preparation for sample winding, preparation for work with FLASH instead of FFS
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
index b741f33f3..529e4d260 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
@@ -17,6 +17,7 @@
#include "Common/SWUpdate/FileSystem.h"
#include "drivers/Flash_Memory/fatfs/ff.h"
#include "drivers/SSI_Comm/Dancer/Dancer.h"
+#include "drivers/Flash_ram/FlashProgram.h"
#include "thread.h"
MotorDriverConfigStruc MotorsCfg[NUM_OF_MOTORS]={0};
@@ -151,6 +152,12 @@ uint32_t StoreDancerConfigMessage()
response_size = hardware_configuration__pack(&DancerConfig, response_buffer);
}
Fresult = FileWrite(response_buffer,response_size,DancerConfigPath);
+ EraseFlashSection(DANCERS_MAP_IN_FLASH,1024);
+ for (Dancer_i = 0; Dancer_i < MAX_SYSTEM_DANCERS; Dancer_i++)
+ {
+ ReadAppAndProgram(DANCERS_MAP_IN_FLASH, sizeof(Dancers), Dancers);
+ }
+
my_free(response_buffer);
return Fresult;
@@ -163,6 +170,9 @@ uint32_t LoadDancerConfigMessage()
HardwareConfiguration *DancerConfig;
int Dancer_i;
+ HardwareDancer DancersCfg1[MAX_SYSTEM_DANCERS] = {0};
+
+ memcpy(DancersCfg1,(void *)DANCERS_MAP_IN_FLASH,sizeof(DancersCfg1));
Fresult = FileRead(DancerConfigPath, &Bytes, &buffer);
if (Fresult == FR_OK)
@@ -175,6 +185,12 @@ uint32_t LoadDancerConfigMessage()
hardware_configuration__free_unpacked(DancerConfig,NULL);
free (buffer);
}
+
+ if (DancersCfg[0].zeropoint != DancersCfg1[0].zeropoint) LOG_ERROR(DancersCfg[0].zeropoint,"DancersMismatch");
+ else if (DancersCfg[1].zeropoint != DancersCfg1[1].zeropoint) LOG_ERROR(DancersCfg[1].zeropoint,"DancersMismatch");
+ else if (DancersCfg[2].zeropoint != DancersCfg1[2].zeropoint) LOG_ERROR(DancersCfg[2].zeropoint,"DancersMismatch");
+ else LOG_ERROR(DancersCfg[0].zeropoint,"Dancers Match!!");
+
return Fresult;
}