poscfg.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2004-2006, Dennis Kuschel.
00003  *  All rights reserved. 
00004  *
00005  *  Redistribution and use in source and binary forms, with or without
00006  *  modification, are permitted provided that the following conditions
00007  *  are met:
00008  *
00009  *   1. Redistributions of source code must retain the above copyright
00010  *      notice, this list of conditions and the following disclaimer.
00011  *   2. Redistributions in binary form must reproduce the above copyright
00012  *      notice, this list of conditions and the following disclaimer in the
00013  *      documentation and/or other materials provided with the distribution.
00014  *   3. The name of the author may not be used to endorse or promote
00015  *      products derived from this software without specific prior written
00016  *      permission. 
00017  *
00018  *  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
00019  *  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00020  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00021  *  ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
00022  *  INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00023  *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00024  *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00025  *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
00026  *  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00027  *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
00028  *  OF THE POSSIBILITY OF SUCH DAMAGE.
00029  *
00030  */
00031 
00032 
00045 #ifndef _POSCFG_H
00046 #define _POSCFG_H
00047 
00048 
00049 /*---------------------------------------------------------------------------
00050  *  OS CORE SETTINGS
00051  *-------------------------------------------------------------------------*/
00052 
00063 #define POSCFG_MAX_PRIO_LEVEL    8
00064 
00074 #define POSCFG_TASKS_PER_PRIO    8 
00075 
00089 #define POSCFG_MAX_TASKS        16
00090 
00102 #define POSCFG_MAX_EVENTS       16
00103 
00117 #define POSCFG_MAX_MESSAGES      8
00118 
00129 #define POSCFG_MAX_TIMER         4 
00130 
00156 #define POSCFG_ROUNDROBIN        1
00157 
00171 #define POSCFG_SOFT_MTASK        1
00172 
00180 #define POSCFG_CTXSW_COMBINE    10
00181 
00190 #define POSCFG_REALTIME_PRIO     0
00191 
00198 #define POSCFG_TASKCB_USERSPACE  0
00199 
00208 #define POSCFG_MSG_MEMORY        1
00209 
00216 #define POSCFG_MSG_BUFSIZE      80
00217 
00232 #define POSCFG_SOFTINTERRUPTS    8
00233 
00245 #define POSCFG_SOFTINTQUEUELEN  20
00246 
00251 #define HZ                      18  /* timer ticks per second */
00252 
00257 /*---------------------------------------------------------------------------
00258  *  PERFORMANCE / CODE SIZE / DEBUG SETTINGS
00259  *-------------------------------------------------------------------------*/
00260 
00271 #define POSCFG_FASTCODE          1 
00272 
00278 #define POSCFG_SMALLCODE         1
00279 
00298 #ifdef _DBG
00299 #define POSCFG_ARGCHECK          2
00300 #else
00301 #define POSCFG_ARGCHECK          1
00302 #endif
00303 
00308 /*---------------------------------------------------------------------------
00309  *  DEFINE FEATURES TO INCLUDE
00310  *-------------------------------------------------------------------------*/
00311 
00321 #define POSCFG_FEATURE_YIELD         1
00322 
00327 #define POSCFG_FEATURE_SLEEP         1
00328 
00333 #define POSCFG_FEATURE_EXIT          1
00334 
00339 #define POSCFG_FEATURE_GETPRIORITY   1
00340 
00345 #define POSCFG_FEATURE_SETPRIORITY   1
00346 
00351 #define POSCFG_FEATURE_SEMAPHORES    1
00352 
00358 #define POSCFG_FEATURE_SEMADESTROY   1
00359 
00365 #define POSCFG_FEATURE_SEMAWAIT      1
00366 
00371 #define POSCFG_FEATURE_MUTEXES       1
00372 
00378 #define POSCFG_FEATURE_MUTEXDESTROY  1
00379 
00385 #define POSCFG_FEATURE_MUTEXTRYLOCK  1
00386 
00391 #define POSCFG_FEATURE_GETTASK       1
00392 
00397 #define POSCFG_FEATURE_TASKUNUSED    1
00398 
00403 #define POSCFG_FEATURE_MSGBOXES      1
00404 
00410 #define POSCFG_FEATURE_MSGWAIT       1
00411 
00416 #define POSCFG_FEATURE_INHIBITSCHED  1
00417 
00422 #define POSCFG_FEATURE_JIFFIES       1
00423 
00428 #define POSCFG_FEATURE_TIMER         1
00429 
00435 #define POSCFG_FEATURE_TIMERDESTROY  1
00436 
00442 #define POSCFG_FEATURE_TIMERFIRED    1
00443 
00448 #define POSCFG_FEATURE_FLAGS         1
00449 
00455 #define POSCFG_FEATURE_FLAGDESTROY   1
00456 
00462 #define POSCFG_FEATURE_FLAGWAIT      1
00463 
00468 #define POSCFG_FEATURE_SOFTINTS      1
00469 
00475 #define POSCFG_FEATURE_SOFTINTDEL    1
00476 
00481 #define POSCFG_FEATURE_IDLETASKHOOK  1
00482 
00487 #define POSCFG_FEATURE_ATOMICVAR     1
00488 
00492 #define POSCFG_FEATURE_ERRNO         1
00493 
00498 #define POSCFG_FEATURE_LISTS         1
00499 
00505 #define POSCFG_FEATURE_LISTJOIN      1
00506 
00512 #define POSCFG_FEATURE_LISTLEN       1
00513 
00520 #define POSCFG_FEATURE_DEBUGHELP     0
00521 
00525 #endif /* _POSCFG_H */

Generated on Sat Dec 8 14:53:02 2007 for pico]OS by  doxygen 1.5.4