Go to the documentation of this file.
41 #define _CHIBIOS_OSLIB_
46 #define CH_OSLIB_STABLE 1
55 #define CH_OSLIB_VERSION "1.2.1"
60 #define CH_OSLIB_MAJOR 1
65 #define CH_OSLIB_MINOR 2
70 #define CH_OSLIB_PATCH 1
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.
void _factory_init(void)
Initializes the objects factory.
Core memory manager macros and structures.
void _core_init(void)
Low level memory manager initialization.
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.
Memory Pools macros and structures.
static void _oslib_init(void)
Initialization of all library modules.
void _heap_init(void)
Initializes the default heap.
Jobs Queues structures and macros.
Objects FIFO structures and macros.