41#define CH_FEATURES_BASIC 0
42#define CH_FEATURES_INTERMEDIATE 1
43#define CH_FEATURES_FULL 2
50#define CH_DEPLOY_UNLIMITED -1
51#define CH_DEPLOY_NONE 0
58#define CH_LICENSE_GPL 0
59#define CH_LICENSE_GPL_EXCEPTION 1
60#define CH_LICENSE_COMMERCIAL_FREE 2
61#define CH_LICENSE_COMMERCIAL_DEV_1000 3
62#define CH_LICENSE_COMMERCIAL_DEV_5000 4
63#define CH_LICENSE_COMMERCIAL_FULL 5
64#define CH_LICENSE_COMMERCIAL_RUNTIME 6
65#define CH_LICENSE_PARTNER 7
70#if CH_LICENSE == CH_LICENSE_PARTNER
73#if CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME
86#if !defined(__CHIBIOS__)
87 #error "__CHIBIOS__ not defined in chversion.h"
90#if !defined(CH_VERSION_STABLE)
91 #error "CH_VERSION_STABLE not defined in chversion.h"
94#if !defined(CH_VERSION_YEAR)
95 #error "CH_VERSION_YEAR not defined in chversion.h"
98#if !defined(CH_VERSION_MONTH)
99 #error "CH_VERSION_MONTH not defined in chversion.h"
102#if !defined(CH_VERSION_PATCH)
103 #error "CH_VERSION_PATCH not defined in chversion.h"
106#if !defined(CH_VERSION_NICKNAME)
107 #error "CH_VERSION_NICKNAME not defined in chversion.h"
110#if !defined(CH_VERSION_DATE)
111 #error "CH_VERSION_DATE not defined in chversion.h"
114#if (CH_VERSION_STABLE < 0) || (CH_VERSION_STABLE > 1)
115 #error "invalid CH_VERSION_STABLE value in chversion.h"
118#if (CH_VERSION_YEAR < 12) || (CH_VERSION_YEAR > 99)
119 #error "invalid CH_VERSION_YEAR value in chversion.h"
122#if (CH_VERSION_MONTH < 1) || (CH_VERSION_MONTH > 12)
123 #error "invalid CH_VERSION_MONTH value in chversion.h"
126#if (CH_VERSION_DATE < 201201) || (CH_VERSION_DATE > 209912)
127 #error "invalid CH_VERSION_DATE value in chversion.h"
131#if !defined(CH_CUSTOMER_ID_STRING)
132#error "CH_CUSTOMER_ID_STRING not defined in chcustomer.h"
135#if !defined(CH_CUSTOMER_ID_CODE)
136#error "CH_CUSTOMER_ID_CODE not defined in chcustomer.h"
139#if !defined(CH_CUSTOMER_LICENSE_EOS_DATE)
140#error "CH_CUSTOMER_LICENSE_EOS_DATE not defined in chcustomer.h"
143#if !defined(CH_CUSTOMER_LICENSE_VERSION_YEAR)
144#error "CH_CUSTOMER_LICENSE_VERSION_YEAR not defined in chcustomer.h"
147#if !defined(CH_CUSTOMER_LICENSE_VERSION_MONTH)
148#error "CH_CUSTOMER_LICENSE_VERSION_MONTH not defined in chcustomer.h"
151#if !defined(CH_CUSTOMER_LICENSE_VERSION_DATE)
152#error "CH_CUSTOMER_LICENSE_VERSION_DATE not defined in chcustomer.h"
155#if !defined(CH_LICENSE)
156#error "CH_LICENSE not defined in chcustomer.h"
159#if (CH_CUSTOMER_LICENSE_EOS_DATE < 201201) || \
160 (CH_CUSTOMER_LICENSE_EOS_DATE > 209912)
161#error "invalid CH_CUSTOMER_LICENSE_EOS_DATE value in chcustomer.h"
164#if (CH_CUSTOMER_LICENSE_VERSION_YEAR < 12) || \
165 (CH_CUSTOMER_LICENSE_VERSION_YEAR > 99)
166#error "invalid CH_CUSTOMER_LICENSE_VERSION_YEAR value in chcustomer.h"
169#if (CH_CUSTOMER_LICENSE_VERSION_MONTH < 1) || \
170 (CH_CUSTOMER_LICENSE_VERSION_MONTH > 12)
171#error "invalid CH_CUSTOMER_LICENSE_VERSION_MONTH value in chcustomer.h"
174#if (CH_CUSTOMER_LICENSE_VERSION_DATE < 201201) || \
175 (CH_CUSTOMER_LICENSE_VERSION_DATE > 209912)
176 #error "invalid CH_CUSTOMER_LICENSE_VERSION_DATE value in chversion.h"
180#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_VERSION_DATE
181#error "this ChibiOS version is newer than your license, see chcustomer.h"
185#if CH_VERSION_DATE > CH_CUSTOMER_LICENSE_EOS_DATE
186#error "this ChibiOS version is beyond your End-Of-Support date, see chcustomer.h"
190#if (CH_LICENSE == CH_LICENSE_GPL) || defined(__DOXYGEN__)
196#define CH_LICENSE_TYPE_STRING "GNU General Public License 3 (GPL3)"
202#define CH_LICENSE_ID_STRING "N/A"
208#define CH_LICENSE_ID_CODE "N/A"
214#define CH_LICENSE_MODIFIABLE_CODE TRUE
219#define CH_LICENSE_FEATURES CH_FEATURES_FULL
226#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
228#elif CH_LICENSE == CH_LICENSE_GPL_EXCEPTION
229#define CH_LICENSE_TYPE_STRING "GNU General Public License 3 (GPL3) + Exception"
230#define CH_LICENSE_ID_STRING "N/A"
231#define CH_LICENSE_ID_CODE "N/A"
232#define CH_LICENSE_MODIFIABLE_CODE FALSE
233#define CH_LICENSE_FEATURES CH_FEATURES_BASIC
234#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
236#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FREE
237#define CH_LICENSE_TYPE_STRING "Zero Cost Registered License for 500 Cores"
238#define CH_LICENSE_ID_STRING "N/A"
239#define CH_LICENSE_ID_CODE "2017-0000"
240#define CH_LICENSE_MODIFIABLE_CODE FALSE
241#define CH_LICENSE_FEATURES CH_FEATURES_INTERMEDIATE
242#define CH_LICENSE_MAX_DEPLOY 500
244#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_1000
245#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 1000 Cores"
246#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
247#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
248#define CH_LICENSE_MODIFIABLE_CODE TRUE
249#define CH_LICENSE_FEATURES CH_FEATURES_FULL
250#define CH_LICENSE_DEPLOY_LIMIT 1000
252#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_DEV_5000
253#define CH_LICENSE_TYPE_STRING "Developer Commercial License for 5000 Cores"
254#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
255#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
256#define CH_LICENSE_MODIFIABLE_CODE TRUE
257#define CH_LICENSE_FEATURES CH_FEATURES_FULL
258#define CH_LICENSE_DEPLOY_LIMIT 5000
260#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_FULL
261#define CH_LICENSE_TYPE_STRING "Full Commercial License for Unlimited Deployment"
262#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
263#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
264#define CH_LICENSE_MODIFIABLE_CODE TRUE
265#define CH_LICENSE_FEATURES CH_FEATURES_FULL
266#define CH_LICENSE_MAX_DEPLOY CH_DEPLOY_UNLIMITED
268#elif CH_LICENSE == CH_LICENSE_COMMERCIAL_RUNTIME
269#define CH_LICENSE_TYPE_STRING "Runtime Commercial License"
270#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
271#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
272#define CH_LICENSE_MODIFIABLE_CODE TRUE
273#define CH_LICENSE_FEATURES CH_FEATURES_FULL
274#define CH_LICENSE_MAX_DEPLOY CH_RUNTIME_MAX_DEPLOY
276#elif CH_LICENSE == CH_LICENSE_PARTNER
277#define CH_LICENSE_TYPE_STRING "Partners Special Commercial License"
278#define CH_LICENSE_ID_STRING CH_CUSTOMER_ID_STRING
279#define CH_LICENSE_ID_CODE CH_CUSTOMER_ID_CODE
280#define CH_LICENSE_MODIFIABLE_CODE CH_PARTNER_MODIFIABLE_CODE
281#define CH_LICENSE_FEATURES CH_PARTNER_FEATURES
282#define CH_LICENSE_MAX_DEPLOY CH_PARTNER_MAX_DEPLOY
285#error "invalid licensing option"
Version Module macros and structures.