Prusa MINI Firmware overview
eeprom_emul.h File Reference
#include "../../inc/MarlinConfig.h"
#include "HAL.h"

Go to the source code of this file.

Macros

#define EE_OK   uint32_t(HAL_OK)
 
#define EE_ERROR   uint32_t(HAL_ERROR)
 
#define EE_BUSY   uint32_t(HAL_BUSY)
 
#define EE_TIMEOUT   uint32_t(HAL_TIMEOUT)
 
#define PAGE_SIZE   uint32_t(0x4000) /* Page size = 16KByte */
 
#define VOLTAGE_RANGE   uint8_t(VOLTAGE_RANGE_3)
 
#define EEPROM_START_ADDRESS
 
#define PAGE0_BASE_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 0x0000)
 
#define PAGE0_END_ADDRESS   uint32_t(EEPROM_START_ADDRESS + PAGE_SIZE - 1)
 
#define PAGE0_ID   FLASH_SECTOR_1
 
#define PAGE1_BASE_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 0x4000)
 
#define PAGE1_END_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 2 * (PAGE_SIZE) - 1)
 
#define PAGE1_ID   FLASH_SECTOR_2
 
#define PAGE0   uint16_t(0x0000)
 
#define PAGE1   uint16_t(0x0001) /* Page nb between PAGE0_BASE_ADDRESS & PAGE1_BASE_ADDRESS*/
 
#define NO_VALID_PAGE   uint16_t(0x00AB)
 
#define ERASED   uint16_t(0xFFFF) /* Page is empty */
 
#define RECEIVE_DATA   uint16_t(0xEEEE) /* Page is marked to receive data */
 
#define VALID_PAGE   uint16_t(0x0000) /* Page containing valid data */
 
#define READ_FROM_VALID_PAGE   uint8_t(0x00)
 
#define WRITE_IN_VALID_PAGE   uint8_t(0x01)
 
#define PAGE_FULL   uint8_t(0x80)
 
#define NB_OF_VAR   uint16_t(4096)
 

Functions

uint16_t EE_Initialize ()
 
uint16_t EE_ReadVariable (uint16_t VirtAddress, uint16_t *Data)
 
uint16_t EE_WriteVariable (uint16_t VirtAddress, uint16_t Data)
 

Macro Definition Documentation

◆ EE_OK

#define EE_OK   uint32_t(HAL_OK)

◆ EE_ERROR

#define EE_ERROR   uint32_t(HAL_ERROR)

◆ EE_BUSY

#define EE_BUSY   uint32_t(HAL_BUSY)

◆ EE_TIMEOUT

#define EE_TIMEOUT   uint32_t(HAL_TIMEOUT)

◆ PAGE_SIZE

#define PAGE_SIZE   uint32_t(0x4000) /* Page size = 16KByte */

◆ VOLTAGE_RANGE

#define VOLTAGE_RANGE   uint8_t(VOLTAGE_RANGE_3)

◆ EEPROM_START_ADDRESS

#define EEPROM_START_ADDRESS
Value:
uint32_t(0x08078000) /* EEPROM emulation start address:
after 480KByte of used Flash memory */

◆ PAGE0_BASE_ADDRESS

#define PAGE0_BASE_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 0x0000)

◆ PAGE0_END_ADDRESS

#define PAGE0_END_ADDRESS   uint32_t(EEPROM_START_ADDRESS + PAGE_SIZE - 1)

◆ PAGE0_ID

#define PAGE0_ID   FLASH_SECTOR_1

◆ PAGE1_BASE_ADDRESS

#define PAGE1_BASE_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 0x4000)

◆ PAGE1_END_ADDRESS

#define PAGE1_END_ADDRESS   uint32_t(EEPROM_START_ADDRESS + 2 * (PAGE_SIZE) - 1)

◆ PAGE1_ID

#define PAGE1_ID   FLASH_SECTOR_2

◆ PAGE0

#define PAGE0   uint16_t(0x0000)

◆ PAGE1

#define PAGE1   uint16_t(0x0001) /* Page nb between PAGE0_BASE_ADDRESS & PAGE1_BASE_ADDRESS*/

◆ NO_VALID_PAGE

#define NO_VALID_PAGE   uint16_t(0x00AB)

◆ ERASED

#define ERASED   uint16_t(0xFFFF) /* Page is empty */

◆ RECEIVE_DATA

#define RECEIVE_DATA   uint16_t(0xEEEE) /* Page is marked to receive data */

◆ VALID_PAGE

#define VALID_PAGE   uint16_t(0x0000) /* Page containing valid data */

◆ READ_FROM_VALID_PAGE

#define READ_FROM_VALID_PAGE   uint8_t(0x00)

◆ WRITE_IN_VALID_PAGE

#define WRITE_IN_VALID_PAGE   uint8_t(0x01)

◆ PAGE_FULL

#define PAGE_FULL   uint8_t(0x80)

◆ NB_OF_VAR

#define NB_OF_VAR   uint16_t(4096)

Function Documentation

◆ EE_Initialize()

uint16_t EE_Initialize ( )

◆ EE_ReadVariable()

uint16_t EE_ReadVariable ( uint16_t  VirtAddress,
uint16_t *  Data 
)

◆ EE_WriteVariable()

uint16_t EE_WriteVariable ( uint16_t  VirtAddress,
uint16_t  Data 
)