pico]OS  1.0.4
poscfg.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2004-2012, Dennis Kuschel.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * 3. The name of the author may not be used to endorse or promote
15  * products derived from this software without specific prior written
16  * permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
19  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
22  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28  * OF THE POSSIBILITY OF SUCH DAMAGE.
29  *
30  */
31 
32 
45 #ifndef _POSCFG_H
46 #define _POSCFG_H
47 
48 
49 /*---------------------------------------------------------------------------
50  * OS CORE SETTINGS
51  *-------------------------------------------------------------------------*/
52 
63 #define POSCFG_MAX_PRIO_LEVEL 8
64 
74 #define POSCFG_TASKS_PER_PRIO 8
75 
89 #define POSCFG_MAX_TASKS 16
90 
102 #define POSCFG_MAX_EVENTS 16
103 
117 #define POSCFG_MAX_MESSAGES 8
118 
129 #define POSCFG_MAX_TIMER 4
130 
156 #define POSCFG_ROUNDROBIN 1
157 
171 #define POSCFG_SOFT_MTASK 1
172 
180 #define POSCFG_CTXSW_COMBINE 10
181 
190 #define POSCFG_REALTIME_PRIO 0
191 
198 #define POSCFG_TASKCB_USERSPACE 0
199 
208 #define POSCFG_MSG_MEMORY 1
209 
216 #define POSCFG_MSG_BUFSIZE 80
217 
232 #define POSCFG_SOFTINTERRUPTS 8
233 
245 #define POSCFG_SOFTINTQUEUELEN 20
246 
251 #define HZ 18 /* timer ticks per second */
252 
257 /*---------------------------------------------------------------------------
258  * PERFORMANCE / CODE SIZE / DEBUG SETTINGS
259  *-------------------------------------------------------------------------*/
260 
271 #define POSCFG_FASTCODE 1
272 
278 #define POSCFG_SMALLCODE 1
279 
298 #ifdef _DBG
299 #define POSCFG_ARGCHECK 2
300 #else
301 #define POSCFG_ARGCHECK 1
302 #endif
303 
308 /*---------------------------------------------------------------------------
309  * DEFINE FEATURES TO INCLUDE
310  *-------------------------------------------------------------------------*/
311 
321 #define POSCFG_FEATURE_YIELD 1
322 
327 #define POSCFG_FEATURE_SLEEP 1
328 
333 #define POSCFG_FEATURE_EXIT 1
334 
339 #define POSCFG_FEATURE_GETPRIORITY 1
340 
345 #define POSCFG_FEATURE_SETPRIORITY 1
346 
351 #define POSCFG_FEATURE_SEMAPHORES 1
352 
358 #define POSCFG_FEATURE_SEMADESTROY 1
359 
365 #define POSCFG_FEATURE_SEMAWAIT 1
366 
371 #define POSCFG_FEATURE_MUTEXES 1
372 
378 #define POSCFG_FEATURE_MUTEXDESTROY 1
379 
385 #define POSCFG_FEATURE_MUTEXTRYLOCK 1
386 
391 #define POSCFG_FEATURE_GETTASK 1
392 
397 #define POSCFG_FEATURE_TASKUNUSED 1
398 
403 #define POSCFG_FEATURE_MSGBOXES 1
404 
410 #define POSCFG_FEATURE_MSGWAIT 1
411 
416 #define POSCFG_FEATURE_INHIBITSCHED 1
417 
422 #define POSCFG_FEATURE_JIFFIES 1
423 
428 #define POSCFG_FEATURE_TIMER 1
429 
435 #define POSCFG_FEATURE_TIMERDESTROY 1
436 
442 #define POSCFG_FEATURE_TIMERFIRED 1
443 
448 #define POSCFG_FEATURE_FLAGS 1
449 
455 #define POSCFG_FEATURE_FLAGDESTROY 1
456 
462 #define POSCFG_FEATURE_FLAGWAIT 1
463 
468 #define POSCFG_FEATURE_SOFTINTS 1
469 
475 #define POSCFG_FEATURE_SOFTINTDEL 1
476 
481 #define POSCFG_FEATURE_IDLETASKHOOK 1
482 
487 #define POSCFG_FEATURE_ATOMICVAR 1
488 
492 #define POSCFG_FEATURE_ERRNO 1
493 
498 #define POSCFG_FEATURE_LISTS 1
499 
505 #define POSCFG_FEATURE_LISTJOIN 1
506 
512 #define POSCFG_FEATURE_LISTLEN 1
513 
520 #define POSCFG_FEATURE_DEBUGHELP 0
521 
525 #endif /* _POSCFG_H */