@@ -76,24 +76,16 @@ bool all_EEPROM_parameters_available( void)
7676
7777void ensure_EEPROM_parameter_integrity ( void )
7878{
79- bool EEPROM_has_been_unlocked = false ;
8079 float dummy;
8180 const persistent_data_t * parameter = PERSISTENT_DATA;
8281 while ( parameter < PERSISTENT_DATA + PERSISTENT_DATA_ENTRIES)
8382 {
8483 if ( true == read_EEPROM_value ( parameter->id , dummy)) // parameter missing
8584 {
86- if ( EEPROM_has_been_unlocked == false )
87- {
88- lock_EEPROM ( false );
89- EEPROM_has_been_unlocked = true ;
90- }
9185 (void ) write_EEPROM_value ( parameter->id , parameter->default_value );
9286 }
9387 ++parameter;
9488 }
95- if ( EEPROM_has_been_unlocked)
96- lock_EEPROM ( true );
9789}
9890
9991const persistent_data_t * find_parameter_from_name ( char * name)
@@ -219,33 +211,19 @@ bool EEPROM_convert( EEPROM_PARAMETER_ID id, EEPROM_data_t & EEPROM_value, float
219211 return false ; // OK
220212}
221213
222- bool lock_EEPROM ( bool lockit)
223- {
224- if ( lockit)
225- return HAL_FLASH_Lock ();
226-
227- HAL_FLASH_Unlock ();
228- return (EE_Init ());
229- }
230-
231214bool write_EEPROM_value ( EEPROM_PARAMETER_ID id, float value)
232215{
233216 EEPROM_data_t EEPROM_value;
234217 if ( EEPROM_convert ( id, EEPROM_value, value , WRITE))
235218 return true ; // error
236219
237- EEPROM_data_t read_value;
238- if ( (HAL_OK != EE_ReadVariable ( id, &read_value.u16 ))
239- ||
240- (read_value.u16 != EEPROM_value.u16 ) )
241- return EE_WriteVariable ( id, EEPROM_value.u16 );
242- return HAL_OK;
220+ return EE_WriteVariableBuffered ( id, EEPROM_value.u16 );
243221}
244222
245223bool read_EEPROM_value ( EEPROM_PARAMETER_ID id, float &value)
246224{
247225 uint16_t data;
248- if ( HAL_OK != EE_ReadVariable ( id, (uint16_t *)&data))
226+ if ( HAL_OK != EE_ReadVariableBuffered ( id, (uint16_t *)&data))
249227 return true ;
250228 return ( EEPROM_convert ( id, (EEPROM_data_t &)data, value , READ));
251229}
@@ -258,17 +236,4 @@ float configuration( EEPROM_PARAMETER_ID id)
258236 return value;
259237}
260238
261- bool EEPROM_initialize ( void )
262- {
263- unsigned status;
264-
265- status = HAL_FLASH_Unlock ();
266- ASSERT (status == HAL_OK);
267-
268- status = EE_Init ();
269- ASSERT (status == HAL_OK);
270-
271- return HAL_OK;
272- }
273-
274239#endif
0 commit comments