00001 00006 /* 00007 * The contents of this file are subject to the Mozilla Public License 00008 * Version 1.0 (the "License"); you may not use this file except in 00009 * compliance with the License. You may obtain a copy of the License at 00010 * http://www.mozilla.org/MPL/ 00011 * 00012 * Software distributed under the License is distributed on an "AS IS" 00013 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 00014 * License for the specific language governing rights and limitations 00015 * under the License. 00016 * 00017 * The Original Code is legOS code, released October 17, 1999. 00018 * 00019 * The Initial Developer of the Original Code is Markus L. Noga. 00020 * Portions created by Markus L. Noga are Copyright (C) 1999 00021 * Markus L. Noga. All Rights Reserved. 00022 * 00023 * Contributor(s): Markus L. Noga <markus@noga.de> 00024 */ 00025 00026 #ifndef __config_h__ 00027 #define __config_h__ 00028 00029 // compilation environment 00030 // 00031 // #define CONF_RCX_COMPILER //!< a special RCX compiler is used. 00032 00033 // core system services 00034 // 00035 #define CONF_TIME 00036 #define CONF_MM 00037 #define CONF_TM 00038 #define CONF_AUTOSHUTOFF 00039 //#define CONF_TM_DEBUG 00040 #define CONF_SEMAPHORES 00041 #define CONF_CRITICAL_SECTIONS 00042 #define CONF_PROGRAM 00043 #define CONF_VIS 00044 //#define CONF_ROM_MEMCPY 00045 00046 // networking services 00047 // 00048 #define CONF_LNP 00049 // #define CONF_LNP_FAST 00050 // Can override with compile-time option 00051 #if !defined(CONF_LNP_HOSTADDR) 00052 #define CONF_LNP_HOSTADDR 0 00053 #endif 00054 00055 // 16 nodes x 16 ports (affects size of lnp_addressing_handler[] table) 00056 #define CONF_LNP_HOSTMASK 0xf0 00057 00058 // remote control services 00059 // 00060 #define CONF_RCX_PROTOCOL 00061 #define CONF_LR_HANDLER 00062 #define CONF_RCX_MESSAGE 00063 00064 // drivers 00065 // 00066 #define CONF_DKEY 00067 #define CONF_BATTERY_INDICATOR 00068 #define CONF_LCD_REFRESH 00069 #define CONF_CONIO 00070 #define CONF_ASCII 00071 #define CONF_DSOUND 00072 #define CONF_DMOTOR 00073 // #define CONF_DMOTOR_HOLD 00074 #define CONF_DSENSOR 00075 #define CONF_DSENSOR_ROTATION 00076 //#define CONF_DSENSOR_VELOCITY 00077 //#define CONF_DSENSOR_MUX 00078 //#define CONF_DSENSOR_SWMUX 00079 00080 // dependencies 00081 // 00082 #if defined(CONF_ASCII) && !defined(CONF_CONIO) 00083 #error "Ascii needs console IO" 00084 #endif 00085 00086 #if defined(CONF_DKEY) && !defined(CONF_TIME) 00087 #error "Key debouncing needs system time." 00088 #endif 00089 00090 #if defined(CONF_TM) && !defined(CONF_TIME) 00091 #error "Task management needs system time." 00092 #endif 00093 00094 #if defined(CONF_TM) && !defined(CONF_MM) 00095 #error "Task management needs memory management." 00096 #endif 00097 00098 #if defined(CONF_MM) && defined(CONF_TM) && !defined(CONF_SEMAPHORES) 00099 #error "Tasksafe memory management needs semaphores." 00100 #endif 00101 00102 #if defined(CONF_LNP) && defined(CONF_TM) && !defined(CONF_SEMAPHORES) 00103 #error "Tasksafe networking needs semaphores." 00104 #endif 00105 00106 #if defined(CONF_RCX_PROTOCOL) && !defined(CONF_LNP) 00107 #error "RCX protocol needs networking." 00108 #endif 00109 00110 #if defined(CONF_LR_HANDLER) && !defined(CONF_RCX_PROTOCOL) 00111 #error "Remote control handler needs remote control protocol." 00112 #endif 00113 00114 #if defined(CONF_RCX_MESSAGE) && !defined(CONF_LNP) 00115 #error "Standard firmware message needs networking." 00116 #endif 00117 00118 #if defined(CONF_LR_HANDLER) && !defined(CONF_TM) 00119 #error "Remote support needs task managment" 00120 #endif 00121 00122 #if defined(CONF_PROGRAM) && (!defined(CONF_TM) || !defined(CONF_LNP) || !defined(CONF_DKEY) || !defined(CONF_ASCII)) 00123 #error "Program support needs task management, networking, key 00124 debouncing, and ASCII." 00125 #endif 00126 00127 #if defined(CONF_DSENSOR_ROTATION) && !defined(CONF_DSENSOR) 00128 #error "Rotation sensor needs general sensor code." 00129 #endif 00130 00131 #if defined(CONF_DSENSOR_VELOCITY) && !defined(CONF_DSENSOR_ROTATION) 00132 #error "Velocity sensor needs rotation sensor code." 00133 #endif 00134 00135 #endif // __config_h__
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2002 by the authors. |