eeprom.h must be lowercase, as used in source
[DSO138] / eeprom.h
diff --git a/eeprom.h b/eeprom.h
new file mode 100644 (file)
index 0000000..c2a420c
--- /dev/null
+++ b/eeprom.h
@@ -0,0 +1,99 @@
+/**\r
+  ******************************************************************************\r
+  * @file    EEPROM_Emulation/inc/eeprom.h \r
+  * @author  MCD Application Team\r
+  * @version V3.1.0\r
+  * @date    07/27/2009\r
+  * @brief   This file contains all the functions prototypes for the EEPROM \r
+  *          emulation firmware library.\r
+  ******************************************************************************\r
+  * @copy\r
+  *\r
+  * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
+  * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
+  * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
+  * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
+  * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
+  * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
+  *\r
+  * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>\r
+  */\r
+\r
+/* Define to prevent recursive inclusion -------------------------------------*/\r
+#ifndef __EEPROM_H\r
+#define __EEPROM_H\r
+\r
+/* Includes ------------------------------------------------------------------*/\r
+#include "stm32f10x.h"\r
+\r
+/* Exported constants --------------------------------------------------------*/\r
+/* Define the STM32F10Xxx Flash page size depending on the used STM32 device */\r
+#if defined (STM32F10X_LD) || defined (STM32F10X_MD)\r
+  #define PAGE_SIZE  (uint16_t)0x400  /* Page size = 1KByte */\r
+#elif defined (STM32F10X_HD) || defined (STM32F10X_CL)\r
+  #define PAGE_SIZE  (uint16_t)0x800  /* Page size = 2KByte */\r
+#endif\r
+\r
+/* EEPROM start address in Flash */\r
+#define EEPROM_START_ADDRESS    ((uint32_t)0x0800C000) /* EEPROM emulation start address:\r
+                                                  after 64KByte of used Flash memory */\r
+\r
+/* Pages 0 and 1 base and end addresses */\r
+#define PAGE0_BASE_ADDRESS      ((uint32_t)(EEPROM_START_ADDRESS + 0x000))\r
+#define PAGE0_END_ADDRESS       ((uint32_t)(EEPROM_START_ADDRESS + (PAGE_SIZE - 1)))\r
+\r
+#define PAGE1_BASE_ADDRESS      ((uint32_t)(EEPROM_START_ADDRESS + PAGE_SIZE))\r
+#define PAGE1_END_ADDRESS       ((uint32_t)(EEPROM_START_ADDRESS + (2 * PAGE_SIZE - 1)))\r
+\r
+/* Used Flash pages for EEPROM emulation */\r
+#define PAGE0                   ((uint16_t)0x0000)\r
+#define PAGE1                   ((uint16_t)0x0001)\r
+\r
+/* No valid page define */\r
+#define NO_VALID_PAGE           ((uint16_t)0x00AB)\r
+\r
+/* Page status definitions */\r
+#define ERASED                  ((uint16_t)0xFFFF)     /* PAGE is empty */\r
+#define RECEIVE_DATA            ((uint16_t)0xEEEE)     /* PAGE is marked to receive data */\r
+#define VALID_PAGE              ((uint16_t)0x0000)     /* PAGE containing valid data */\r
+\r
+/* Valid pages in read and write defines */\r
+#define READ_FROM_VALID_PAGE    ((uint8_t)0x00)\r
+#define WRITE_IN_VALID_PAGE     ((uint8_t)0x01)\r
+\r
+/* Page full define */\r
+#define PAGE_FULL               ((uint8_t)0x80)\r
+\r
+/* Variables' number */\r
+#define NumbOfVar               ((uint8_t)20)\r
+\r
+/* Virtual address defined by the user: 0xFFFF value is prohibited */\r
+extern uint16_t VirtAddVarTab[NumbOfVar];\r
+\r
+// Define virtual EEPROM addresses to be used here\r
+enum {\r
+       Addr_TimeBase           = 0,\r
+       Addr_HPos,\r
+       Addr_Vsen,\r
+       Addr_Cpl,\r
+       Addr_Vpos,\r
+       Addr_VPosOfs,\r
+       Addr_TrigMode,\r
+       Addr_TrigEdge,\r
+       Addr_TrigLvl,\r
+       Addr_TrigPos,\r
+       Addr_RecLen,\r
+       Addr_SettingStatus,\r
+       \r
+       };\r
+\r
+/* Exported types ------------------------------------------------------------*/\r
+/* Exported macro ------------------------------------------------------------*/\r
+/* Exported functions ------------------------------------------------------- */\r
+uint16_t EE_Init(void);\r
+uint16_t EE_ReadVariable(uint16_t VirtAddress, uint16_t* Data);\r
+uint16_t EE_WriteVariable(uint16_t VirtAddress, uint16_t Data);\r
+\r
+#endif /* __EEPROM_H */\r
+\r
+/******************* (C) COPYRIGHT 2009 STMicroelectronics *****END OF FILE****/\r