#ifndef flash_h
#define flash_h
// Flash Structure
typedef struct
{
uint16_t Blank;
uint32_t readings[128];
}flash_t;
extern flash_t Flash;
// Flash States
enum flash_type
{
Flash_blank = 1,
Flash_good_cksum = 2,
Flash_bad_cksum = 3,
Flash_error = 4,
Flash_default_value = 5,
Flash_write = 6
};
typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;
#define PageSize ((uint16_t)0x400)
//#define ENDADDR 0x0801FFFF // Medium density
#define ENDADDR 0x0807FFFF // High density
//------------------------------------------------------------------------------
// Prototypes
//------------------------------------------------------------------------------
void init_FLASH(void);
void flash_load(uint8_t flash_test);
void flash_erase(void);
void flash_read(void);
void flash_write(void);
void flash_checksum(void);
#endif // flash_h