Go to the documentation of this file.
41 #define __CHIBIOS_OSLIB__
46 #define CH_OSLIB_STABLE 0
55 #define CH_OSLIB_VERSION "1.3.0"
60 #define CH_OSLIB_MAJOR 1
65 #define CH_OSLIB_MINOR 3
70 #define CH_OSLIB_PATCH 0
82 #if !defined(__CHIBIOS_RT__) && !defined(__CHIBIOS_NIL__)
83 #error "OS check failed, must be included after ch.h"
87 #if !defined(CH_CFG_USE_MAILBOXES)
88 #error "CH_CFG_USE_MAILBOXES not defined in chconf.h"
91 #if !defined(CH_CFG_USE_MEMCORE)
92 #error "CH_CFG_USE_MEMCORE not defined in chconf.h"
95 #if !defined(CH_CFG_USE_HEAP)
96 #error "CH_CFG_USE_HEAP not defined in chconf.h"
99 #if !defined(CH_CFG_USE_MEMPOOLS)
100 #error "CH_CFG_USE_MEMPOOLS not defined in chconf.h"
103 #if !defined(CH_CFG_USE_OBJ_FIFOS)
104 #error "CH_CFG_USE_OBJ_FIFOS not defined in chconf.h"
107 #if !defined(CH_CFG_USE_PIPES)
108 #error "CH_CFG_USE_PIPES not defined in chconf.h"
111 #if !defined(CH_CFG_USE_OBJ_CACHES)
112 #error "CH_CFG_USE_OBJ_CACHES not defined in chconf.h"
115 #if !defined(CH_CFG_USE_DELEGATES)
116 #error "CH_CFG_USE_DELEGATES not defined in chconf.h"
119 #if !defined(CH_CFG_USE_JOBS)
120 #error "CH_CFG_USE_JOBS not defined in chconf.h"
124 #if !defined(CH_CFG_USE_FACTORY)
125 #error "CH_CFG_USE_FACTORY not defined in chconf.h"
128 #if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
129 #error "CH_CFG_FACTORY_MAX_NAMES_LENGTH not defined in chconf.h"
132 #if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
133 #error "CH_CFG_FACTORY_OBJECTS_REGISTRY not defined in chconf.h"
136 #if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
137 #error "CH_CFG_FACTORY_GENERIC_BUFFERS not defined in chconf.h"
140 #if !defined(CH_CFG_FACTORY_SEMAPHORES)
141 #error "CH_CFG_FACTORY_SEMAPHORES not defined in chconf.h"
144 #if !defined(CH_CFG_FACTORY_MAILBOXES)
145 #error "CH_CFG_FACTORY_MAILBOXES not defined in chconf.h"
148 #if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
149 #error "CH_CFG_FACTORY_OBJ_FIFOS not defined in chconf.h"
153 #if !defined(CH_CUSTOMER_LIC_OSLIB) || !defined(CH_LICENSE_FEATURES)
154 #error "malformed chlicense.h"
157 #if (CH_LICENSE_FEATURES != CH_FEATURES_FULL) && \
158 (CH_LICENSE_FEATURES != CH_FEATURES_INTERMEDIATE) && \
159 (CH_LICENSE_FEATURES != CH_FEATURES_BASIC)
160 #error "invalid CH_LICENSE_FEATURES setting"
164 #if (CH_CUSTOMER_LIC_OSLIB == FALSE) || \
165 (CH_LICENSE_FEATURES == CH_FEATURES_INTERMEDIATE) || \
166 (CH_LICENSE_FEATURES == CH_FEATURES_BASIC)
169 #undef CH_CFG_USE_FACTORY
171 #define CH_CFG_USE_FACTORY FALSE
178 #if (CH_CUSTOMER_LIC_OSLIB == FALSE) || \
179 (CH_LICENSE_FEATURES == CH_FEATURES_BASIC)
182 #undef CH_CFG_USE_HEAP
183 #undef CH_CFG_USE_MEMPOOLS
184 #undef CH_CFG_USE_OBJ_FIFOS
185 #undef CH_CFG_USE_PIPES
186 #undef CH_CFG_USE_OBJ_CACHES
187 #undef CH_CFG_USE_DELEGATES
188 #undef CH_CFG_USE_JOBS
190 #define CH_CFG_USE_HEAP FALSE
191 #define CH_CFG_USE_MEMPOOLS FALSE
192 #define CH_CFG_USE_OBJ_FIFOS FALSE
193 #define CH_CFG_USE_PIPES FALSE
194 #define CH_CFG_USE_OBJ_CACHES FALSE
195 #define CH_CFG_USE_DELEGATES FALSE
196 #define CH_CFG_USE_JOBS FALSE
202 #if (CH_CUSTOMER_LIC_OSLIB == FALSE)
205 #undef CH_CFG_USE_MAILBOXES
207 #define CH_CFG_USE_MAILBOXES FALSE
251 #if CH_CFG_USE_MEMCORE == TRUE
254 #if CH_CFG_USE_HEAP == TRUE
257 #if CH_CFG_USE_FACTORY == TRUE
Delegate threads macros and structures.
Core memory manager macros and structures.
ChibiOS objects factory structures and macros.
Binary semaphores structures and macros.
Objects Caches macros and structures.
Memory heaps macros and structures.
Pipes macros and structures.
Mailboxes macros and structures.
void __core_init(void)
Low level memory manager initialization.
Memory Pools macros and structures.
void __factory_init(void)
Initializes the objects factory.
Jobs Queues structures and macros.
static void __oslib_init(void)
Initialization of all library modules.
Objects FIFO structures and macros.
void __heap_init(void)
Initializes the default heap.