40#define CH_FEATURES_BASIC 0
41#define CH_FEATURES_INTERMEDIATE 1
42#define CH_FEATURES_FULL 2
49#define CH_DEPLOY_UNLIMITED -1
50#define CH_DEPLOY_NONE 0
57#define CH_LICENSE_GPL 0
58#define CH_LICENSE_GPL_EXCEPTION 1
59#define CH_LICENSE_COMMERCIAL_FREE 2
60#define CH_LICENSE_COMMERCIAL_DEV_1000 3
61#define CH_LICENSE_COMMERCIAL_DEV_5000 4
62#define CH_LICENSE_COMMERCIAL_FULL 5
63#define CH_LICENSE_COMMERCIAL_RUNTIME 6
64#define CH_LICENSE_PARTNER 7
69#if CH_LICENSE == CH_LICENSE_PARTNER
72#if CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME
85#if !defined(__CHIBIOS__)
86 #error "__CHIBIOS__ not defined in chversion.h"
89#if !defined(CH_VERSION_STABLE)
90 #error "CH_VERSION_STABLE not defined in chversion.h"
93#if !defined(CH_VERSION_YEAR)
94 #error "CH_VERSION_YEAR not defined in chversion.h"
97#if !defined(CH_VERSION_MONTH)
98 #error "CH_VERSION_MONTH not defined in chversion.h"
101#if !defined(CH_VERSION_PATCH)
102 #error "CH_VERSION_PATCH not defined in chversion.h"
105#if !defined(CH_VERSION_NICKNAME)
106 #error "CH_VERSION_NICKNAME not defined in chversion.h"
109#if !defined(CH_VERSION_DATE)
110 #error "CH_VERSION_DATE not defined in chversion.h"
113#if (CH_VERSION_STABLE < 0) || (CH_VERSION_STABLE > 1)
114 #error "invalid CH_VERSION_STABLE value in chversion.h"
117#if (CH_VERSION_YEAR < 12) || (CH_VERSION_YEAR > 99)
118 #error "invalid CH_VERSION_YEAR value in chversion.h"
121#if (CH_VERSION_MONTH < 1) || (CH_VERSION_MONTH > 12)
122 #error "invalid CH_VERSION_MONTH value in chversion.h"
125#if (CH_VERSION_DATE < 201201) || (CH_VERSION_DATE > 209912)
126 #error "invalid CH_VERSION_DATE value in chversion.h"
130#if !defined(CH_CUSTOMER_ID_STRING)
131#error "CH_CUSTOMER_ID_STRING not defined in chcustomer.h"
134#if !defined(CH_CUSTOMER_ID_CODE)
135#error "CH_CUSTOMER_ID_CODE not defined in chcustomer.h"
138#if !defined(CH_CUSTOMER_LICENSE_EOS_DATE)
139#error "CH_CUSTOMER_LICENSE_EOS_DATE not defined in chcustomer.h"
142#if !defined(CH_CUSTOMER_LICENSE_VERSION_YEAR)
143#error "CH_CUSTOMER_LICENSE_VERSION_YEAR not defined in chcustomer.h"
146#if !defined(CH_CUSTOMER_LICENSE_VERSION_MONTH)
147#error "CH_CUSTOMER_LICENSE_VERSION_MONTH not defined in chcustomer.h"
150#if !defined(CH_CUSTOMER_LICENSE_VERSION_DATE)
151#error "CH_CUSTOMER_LICENSE_VERSION_DATE not defined in chcustomer.h"
154#if !defined(CH_LICENSE)
155#error "CH_LICENSE not defined in chcustomer.h"
158#if (CH_CUSTOMER_LICENSE_EOS_DATE < 201201) || \
159 (CH_CUSTOMER_LICENSE_EOS_DATE > 209912)
160#error "invalid CH_CUSTOMER_LICENSE_EOS_DATE value in chcustomer.h"
163#if (CH_CUSTOMER_LICENSE_VERSION_YEAR < 12) || \
164 (CH_CUSTOMER_LICENSE_VERSION_YEAR > 99)
165#error "invalid CH_CUSTOMER_LICENSE_VERSION_YEAR value in chcustomer.h"
168#if (CH_CUSTOMER_LICENSE_VERSION_MONTH < 1) || \
169 (CH_CUSTOMER_LICENSE_VERSION_MONTH > 12)
170#error "invalid CH_CUSTOMER_LICENSE_VERSION_MONTH value in chcustomer.h"
173#if (CH_CUSTOMER_LICENSE_VERSION_DATE < 201201) || \
174 (CH_CUSTOMER_LICENSE_VERSION_DATE > 209912)
175 #error "invalid CH_CUSTOMER_LICENSE_VERSION_DATE value in chcustomer.h"
179#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_VERSION_DATE
180#error "this ChibiOS version is newer than your license, see chcustomer.h"
184#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_EOS_DATE
185#error "this ChibiOS version is beyond your End-Of-Support date, see chcustomer.h"
189#if (CH_LICENSE == CH_LICENSE_GPL) || defined(__DOXYGEN__)
195#define CH_LICENSE_TYPE_STRING "GNU General Public License 3 (GPL3)"
201#define CH_LICENSE_ID_STRING "N/A"
207#define CH_LICENSE_ID_CODE "N/A"
213#define CH_LICENSE_MODIFIABLE_CODE TRUE
218#define CH_LICENSE_FEATURES CH_FEATURES_FULL
225#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
227#elif CH_LICENSE == CH_LICENSE_GPL_EXCEPTION
228#define CH_LICENSE_TYPE_STRING "GNU General Public License 3 (GPL3) + Exception"
229#define CH_LICENSE_ID_STRING "N/A"
230#define CH_LICENSE_ID_CODE "N/A"
231#define CH_LICENSE_MODIFIABLE_CODE FALSE
232#define CH_LICENSE_FEATURES CH_FEATURES_BASIC
233#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
235#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FREE
236#define CH_LICENSE_TYPE_STRING "Zero Cost Registered License for 500 Cores"
237#define CH_LICENSE_ID_STRING "N/A"
238#define CH_LICENSE_ID_CODE "2017-0000"
239#define CH_LICENSE_MODIFIABLE_CODE FALSE
240#define CH_LICENSE_FEATURES CH_FEATURES_INTERMEDIATE
241#define CH_LICENSE_MAX_DEPLOY 500
243#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_1000
244#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 1000 Cores"
245#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
246#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
247#define CH_LICENSE_MODIFIABLE_CODE TRUE
248#define CH_LICENSE_FEATURES CH_FEATURES_FULL
249#define CH_LICENSE_MAX_DEPLOY 1000
251#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_5000
252#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 5000 Cores"
253#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
254#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
255#define CH_LICENSE_MODIFIABLE_CODE TRUE
256#define CH_LICENSE_FEATURES CH_FEATURES_FULL
257#define CH_LICENSE_MAX_DEPLOY 5000
259#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FULL
260#define CH_LICENSE_TYPE_STRING "Full Commercial License for Unlimited Deployment"
261#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
262#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
263#define CH_LICENSE_MODIFIABLE_CODE TRUE
264#define CH_LICENSE_FEATURES CH_FEATURES_FULL
265#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
267#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME
268#define CH_LICENSE_TYPE_STRING "Runtime Commercial License"
269#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
270#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
271#define CH_LICENSE_MODIFIABLE_CODE TRUE
272#define CH_LICENSE_FEATURES CH_FEATURES_FULL
273#define CH_LICENSE_MAX_DEPLOY CH_RUNTIME_MAX_DEPLOY
275#elif CH_LICENSE == CH_LICENSE_PARTNER
276#define CH_LICENSE_TYPE_STRING "Partners Special Commercial License"
277#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
278#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
279#define CH_LICENSE_MODIFIABLE_CODE CH_PARTNER_MODIFIABLE_CODE
280#define CH_LICENSE_FEATURES CH_PARTNER_FEATURES
281#define CH_LICENSE_MAX_DEPLOY CH_PARTNER_MAX_DEPLOY
284#error "invalid licensing option"
Version Module macros and structures.