OSDN Git Service

update libMiMic
[mimic/MiMicSDK.git] / lib / src / include / NyLPC_config.h
1 /*********************************************************************************\r
2  * PROJECT: MiMic\r
3  * --------------------------------------------------------------------------------\r
4  *\r
5  * This file is part of MiMic\r
6  * Copyright (C)2011 Ryo Iizuka\r
7  *\r
8  * MiMic is free software: you can redistribute it and/or modify\r
9  * it under the terms of the GNU Lesser General Public License as published\r
10  * by the Free Software Foundation, either version 3 of the License, or\r
11  * (at your option) any later version.\r
12  *\r
13  * This program is distributed in the hope that it will be useful,\r
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
16  * GNU General Public License for more details.\r
17  *\r
18  * You should have received a copy of the GNU Lesser General Public License\r
19  * along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
20  *\r
21  * For further information please contact.\r
22  *  http://nyatla.jp/\r
23  *  <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp>\r
24  *\r
25  *********************************************************************************/\r
26 /**\r
27  * @file\r
28  * このファイルは、NyLPC全体に関わる、コンフィギュレーション定数を宣言します。\r
29  */\r
30 #ifndef NyLPC_config_h\r
31 #define NyLPC_config_h\r
32 \r
33 #ifdef __cplusplus\r
34 extern "C" {\r
35 #endif /* __cplusplus */\r
36 \r
37 ////////////////////////////////////////////////////////////////////////////////////////////////\r
38 // ENDIAN\r
39 ////////////////////////////////////////////////////////////////////////////////////////////////\r
40 \r
41 \r
42 /**\r
43  * 定義値です。LITTLE ENDIANを表します。\r
44  */\r
45 #define NyLPC_ENDIAN_LITTLE 0\r
46 /**\r
47  * 定義値です。BIG ENDIANを表します。\r
48  */\r
49 #define NyLPC_ENDIAN_BIG    1\r
50 \r
51 /**\r
52  * 定義値です。CPUのエンディアンを定義します。\r
53  * この値は、NyLPClibに影響を及ぼします。\r
54  */\r
55 #define NyLPC_ENDIAN NyLPC_ENDIAN_LITTLE\r
56 ////////////////////////////////////////////////////////////////////////////////////////////////\r
57 // MCU\r
58 ////////////////////////////////////////////////////////////////////////////////////////////////\r
59 #define NyLPC_MCU_UNKNOWN 1\r
60 #define NyLPC_MCU_LPC17xx 2\r
61 #define NyLPC_MCU_LPC4088 3\r
62 #define NyLPC_MCU_K64F    4\r
63 \r
64 #define NyLPC_MCU NyLPC_MCU_LPC17xx\r
65 \r
66 \r
67 ////////////////////////////////////////////////////////////////////////////////////////////////\r
68 // OS\r
69 ////////////////////////////////////////////////////////////////////////////////////////////////\r
70 \r
71 /**\r
72  * 環境定数です。WIN32環境でコンパイルすることを示します。\r
73  */\r
74 #define NyLPC_ARCH_WIN32 1\r
75 /**\r
76  * 環境定数です。FREERTOS環境でコンパイルすることを示します。\r
77  */\r
78 #define NyLPC_ARCH_FREERTOS 2\r
79 /**\r
80  * 環境定数です。MbedRTOR環境でコンパイルすることを示します。\r
81  */\r
82 #define NyLPC_ARCH_MBEDRTOS 3\r
83 \r
84 /**\r
85  * 環境定数です。アーキテクチャを選択します。NyLPC_ARCH_WIN32は、デバック用の定数です。\r
86  * 通常は、NyLPC_ARCH_FREERTOSを使用します。\r
87  */\r
88 #ifdef WIN_DEBUG\r
89     #define NyLPC_ARCH NyLPC_ARCH_WIN32\r
90 #else\r
91     #define NyLPC_ARCH NyLPC_ARCH_FREERTOS\r
92 #endif\r
93 \r
94 \r
95 ////////////////////////////////////////////////////////////////////////////////////////////////\r
96 //予約定義値の修正\r
97 ////////////////////////////////////////////////////////////////////////////////////////////////\r
98 \r
99 #if NyLPC_ARCH==NyLPC_ARCH_WIN32\r
100     //PACKED STRUCTの無効化\r
101     #define PACK_STRUCT_END\r
102     //OSタイプによりMCUを修正\r
103 #   undef NyLPC_MCU\r
104 #   define NyLPC_MCU NyLPC_MCU_UNKNOWN\r
105 #endif\r
106 \r
107 \r
108 \r
109 ////////////////////////////////////////////////////////////////////////////////////////////////\r
110 //デバック情報\r
111 ////////////////////////////////////////////////////////////////////////////////////////////////\r
112 \r
113 /**\r
114  * デバック用の宣言。\r
115  * 定数が1の場合、メモリブロックをソースにして、TCPSocketをエミュレートします。\r
116  * ソケットを使わずにデバックをしたいときに使います。\r
117  */\r
118 #define NyLPC_CONFIG_cHttpStream_DEBUG 0\r
119 \r
120 ////////////////////////////////////////////////////////////////////////////////////////////////\r
121 //Application Configuration\r
122 ////////////////////////////////////////////////////////////////////////////////////////////////\r
123 \r
124 #define NyLPC_cHttpdThread_SIZE_OF_THREAD_STACK (1024+512)\r
125 #define NyLPC_cHttpd_MAX_PERSISTENT_CONNECTION 1\r
126 \r
127 #define NyLPC_cMiMicIpNetIf_config_TCPLISTENER_MAX           2\r
128 #define NyLPC_cMiMicIpNetIf_config_TCPSOCKET_MAX             3\r
129 #define NyLPC_cMiMicIpNetIf_config_UDPSOCKET_MAX             1\r
130 #define NyLPC_cMiMicIpNetIf_config_NB_UDPSOCKET_MAX          2\r
131 \r
132 \r
133 /*固有プラットフォーム設定はここに記述します。*/\r
134 //#undef NyLPC_ARCH\r
135 //#define NyLPC_ARCH NyLPC_ARCH_MBEDRTOS\r
136 \r
137 #ifdef TARGET_LPC4088\r
138 #   undef NyLPC_MCU\r
139 #   define NyLPC_MCU NyLPC_MCU_LPC4088\r
140 #endif\r
141 #ifdef TARGET_K64F\r
142 #   undef NyLPC_MCU\r
143 #   define NyLPC_MCU NyLPC_MCU_K64F\r
144 #   define NyLPC_TTxBufferHeader_ALIGNMENT  16  //EthernetのTXメモリブロックヘッダを16バイトアラインメントにする\r
145 #   define NyLPC_TcEthernetMM_BUF_PADDING   16  //2バイトでいいんだけど16バイトアライメントにするために16\r
146 #endif\r
147 \r
148 #ifdef __cplusplus\r
149 }\r
150 #endif /* __cplusplus */\r
151 \r
152 #endif\r