Mood_lamp
Macros | Functions

Consists EEPROM control functions. More...

Macros

#define HAL_EEPROM_UNBLOCK_CODE_1   ((uint8_t) 0xAE)
 
#define HAL_EEPROM_UNBLOCK_CODE_2   ((uint8_t) 0x56)
 
#define HAL_EEPROM_BLOCK_CODE   ((uint8_t) 0x08)
 
#define HAL_EEPROM_START_ADDRESS   ((uint16_t) 0x4000)
 
#define HAL_EEPROM_END_ADDRESS   ((uint16_t) 0x427F)
 
#define HAL_EEPROM_READ_BYTE(ADDRESS)   (*(PointerAttr uint8_t *) ((MemoryAddressCast) (ADDRESS)))
 
#define HAL_EEPROM_WRITE_BYTE(ADDRESS, DATA)   do{*(PointerAttr uint8_t*) ((MemoryAddressCast) (ADDRESS)) = (uint8_t)(DATA);}while(0)
 
#define HAL_EEPROM_READ_WORD(ADDRESS)   ((((uint16_t) HAL_EEPROM_READ_BYTE(ADDRESS)) << 8) + HAL_EEPROM_READ_BYTE((ADDRESS) + 1))
 
#define HAL_EEPROM_WRITE_WORD(ADDRESS, DATA)   do{HAL_EEPROM_WRITE_BYTE((ADDRESS), (DATA) >> 8);HAL_EEPROM_WRITE_BYTE((ADDRESS) + 1, (DATA));}while(0)
 

Functions

void eeprom_init ()
 EEPROM memory initialization. More...
 
uint16_t get_saved_xorshift_value ()
 Extracts random number generator initialization value from EEPROM memory. More...
 
void save_xorshift_value (uint16_t value)
 Saves random number generator initialization value into EEPROM memory. More...
 
void eeprom_deinit ()
 EEPROM memory deinitialization. More...
 

Detailed Description

Consists EEPROM control functions.

Function Documentation

◆ eeprom_deinit()

void eeprom_deinit ( )

EEPROM memory deinitialization.

Blocks EEPROM memory for write protection

◆ eeprom_init()

void eeprom_init ( )

EEPROM memory initialization.

EEPROM memory contains random number generator initialization value. First 2 bytes of EEPROM contain addres of random number generator initialization value relative to the beginning of the EEPROM memory. If memory cells contained random number generator initialization value, became damaged (can not be written correctly), random number generator initialization value will be written to the next memory cells. After that first 2 bytes of EEPROM will contain new addres of number generator initialization value relative to the beginning of the EEPROM memory.

◆ get_saved_xorshift_value()

uint16_t get_saved_xorshift_value ( )

Extracts random number generator initialization value from EEPROM memory.

Returns
Random number generator initialization value

◆ save_xorshift_value()

void save_xorshift_value ( uint16_t  value)

Saves random number generator initialization value into EEPROM memory.

Parameters
[in]valueNew random number generator initialization value