/*
 * Plumbing Controller. Sensor board.
 *
 * External EEPROM storage driver.
 *
 * (C)2026 St(u)dio of Computer Games
 * Alexander Ozumenko <scg@stdio.ru>
 */

#ifndef EEPROM_H_INCLUDED
#define EEPROM_H_INCLUDED

#include <stdint.h>


#define EEPROM_SIZE         256
#define EEPROM_BLOCK_SIZE   16
#define EEPROM_BLOCKS_NUM   ((EEPROM_SIZE)/(EEPROM_BLOCK_SIZE))
#define EEPROM_BLOCK_SIGN   0xA500



typedef struct eeprom_block_s {
    uint16_t sign;
    uint16_t cnt;
    uint32_t val_fs1;
    uint32_t val_fs2;
    uint8_t rsvd0;
    uint8_t rsvd1;
    uint8_t rsvd2;
    uint8_t rsvd3;
} eeprom_block_t;



void eeprom_init();
uint32_t eeprom_get_fs1();
uint32_t eeprom_get_fs2();
void eeprom_set_fs1(uint32_t val);
void eeprom_set_fs2(uint32_t val);



#endif // EEPROM_H_INCLUDED
