Choco OS  V.0.16.9.0
Join to the chocolate world
oc_rmaps.h
Go to the documentation of this file.
1 
43 #ifndef SYSTEM_PORTABLE_INC_OC_RMAPS_H_
44 #define SYSTEM_PORTABLE_INC_OC_RMAPS_H_
45 
46 #include <oc_1word.h>
47 #include <oc_rmaps_defs.h>
48 #include <oc_memory.h>
49 
55 #define _________________________________________MACROS_SECTION_____________________________________________________________________________
56 
59 //==========================================================================================================================================
68 //==========================================================================================================================================
69 #define oC_RegisterOffset_(REGISTER_NAME) oC_1WORD_FROM_2(oC_RegisterOffset_ , REGISTER_NAME)
70 //==========================================================================================================================================
80 //==========================================================================================================================================
81 #define oC_RegisterAccess_(REGISTER_NAME) oC_1WORD_FROM_2(oC_RegisterAccess_ , REGISTER_NAME)
82 //==========================================================================================================================================
92 //==========================================================================================================================================
93 #define oC_RegisterMap_(REGISTER_MAP_NAME) oC_1WORD_FROM_2(oC_RegisterMap_ , REGISTER_MAP_NAME)
94 
95 //==========================================================================================================================================
112 //==========================================================================================================================================
113 #define oC_Make_RegisterMapWithRegisters(REGISTER_MAP_NAME) oC_REGISTER_MAP_(REGISTER_MAP_NAME)(MAKE_REGISTER)
114 
115 #undef _________________________________________MACROS_SECTION_____________________________________________________________________________
116 
123 #define _________________________________________TYPES_SECTION______________________________________________________________________________
124 
127 //==========================================================================================================================================
137 //==========================================================================================================================================
138 typedef enum
139 {
140  oC_RegisterOffset_(None) = 0 ,
141 #define MAKE_REGISTER(REGISTER_NAME , OFFSET , ACCESS) oC_RegisterOffset_(REGISTER_NAME) = OFFSET ,
142  oC_REGISTER_MAP_LIST(oC_Make_RegisterMapWithRegisters)
143 #undef MAKE_REGISTER
145 
146 //==========================================================================================================================================
152 //==========================================================================================================================================
153 typedef enum
154 {
155 #define MAKE_REGISTER(REGISTER_NAME , OFFSET , ACCESS) oC_RegisterAccess_(REGISTER_NAME) = oC_Access_(ACCESS) ,
156  oC_REGISTER_MAP_LIST(oC_Make_RegisterMapWithRegisters)
157 #undef MAKE_REGISTER
159 
160 //==========================================================================================================================================
166 //==========================================================================================================================================
167 typedef enum
168 {
169 #define MAKE_REGISTER_MAP(REGISTER_MAP_NAME) oC_RegisterMap_(REGISTER_MAP_NAME) ,
170  oC_REGISTER_MAP_LIST(MAKE_REGISTER_MAP)
171 #undef MAKE_REGISTER_MAP
172  oC_RegisterMap_(NumberOfElements)
174 
175 #undef _________________________________________TYPES_SECTION______________________________________________________________________________
176 
178 
179 
180 #endif /* SYSTEM_PORTABLE_INC_OC_RMAPS_H_ */
Contains macros for creating one word from more words in macros.
The file with interface for the GPIO driver.
oC_RegisterOffset_t
Type for storing offset of registers.
Definition: oc_rmaps.h:138
#define oC_RegisterOffset_(REGISTER_NAME)
Macro for receiving name of register offset type.
Definition: oc_rmaps.h:69
#define oC_RegisterMap_(REGISTER_MAP_NAME)
Macro for receiving name of register map type.
Definition: oc_rmaps.h:93
oC_RegisterMap_t
Type for storing register map ID.
Definition: oc_rmaps.h:167
oC_RegisterAccess_t
Type for storing access of registers.
Definition: oc_rmaps.h:153
#define oC_Make_RegisterMapWithRegisters(REGISTER_MAP_NAME)
Special macro for calling registers list from register map definition file with MAKE_REGISTER macro a...
Definition: oc_rmaps.h:113