Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / NUCLEO-F103RB / halconf.h @ 3e8094a0

History | View | Annotate | Download (16.929 KB)

1
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2016..2020  Thomas Schöpping et al.
4

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

    
19
/**
20
 * @file
21
 * @brief   HAL configuration header for the NUCLEO-F103RB module.
22
 * @details HAL configuration file, this file allows to enable or disable the
23
 *          various device drivers from your application. You may also use
24
 *          this file in order to override the device drivers default settings.
25
 *
26
 * @addtogroup NUCLEO-F103RB_HAL_CONF
27
 * @{
28
 */
29

    
30
#ifndef HALCONF_H
31
#define HALCONF_H
32

    
33
#define _CHIBIOS_HAL_CONF_
34
#define _CHIBIOS_HAL_CONF_VER_7_0_
35

    
36
#include <mcuconf.h>
37

    
38
/**
39
 * @brief   Enables the PAL subsystem.
40
 */
41
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__)
42
#define HAL_USE_PAL                         TRUE
43
#endif
44

    
45
/**
46
 * @brief   Enables the ADC subsystem.
47
 */
48
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__)
49
#define HAL_USE_ADC                         FALSE
50
#endif
51

    
52
/**
53
 * @brief   Enables the CAN subsystem.
54
 */
55
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__)
56
#define HAL_USE_CAN                         FALSE
57
#endif
58

    
59
/**
60
 * @brief   Enables the cryptographic subsystem.
61
 */
62
#if !defined(HAL_USE_CRY) || defined(__DOXYGEN__)
63
#define HAL_USE_CRY                         FALSE
64
#endif
65

    
66
/**
67
 * @brief   Enables the DAC subsystem.
68
 */
69
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__)
70
#define HAL_USE_DAC                         FALSE
71
#endif
72

    
73
/**
74
 * @brief   Enables the GPT subsystem.
75
 */
76
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__)
77
#define HAL_USE_GPT                         FALSE
78
#endif
79

    
80
/**
81
 * @brief   Enables the I2C subsystem.
82
 */
83
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__)
84
#define HAL_USE_I2C                         FALSE
85
#endif
86

    
87
/**
88
 * @brief   Enables the I2S subsystem.
89
 */
90
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__)
91
#define HAL_USE_I2S                         FALSE
92
#endif
93

    
94
/**
95
 * @brief   Enables the ICU subsystem.
96
 */
97
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__)
98
#define HAL_USE_ICU                         FALSE
99
#endif
100

    
101
/**
102
 * @brief   Enables the MAC subsystem.
103
 */
104
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__)
105
#define HAL_USE_MAC                         FALSE
106
#endif
107

    
108
/**
109
 * @brief   Enables the MMC_SPI subsystem.
110
 */
111
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__)
112
#define HAL_USE_MMC_SPI                     FALSE
113
#endif
114

    
115
/**
116
 * @brief   Enables the PWM subsystem.
117
 */
118
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__)
119
#define HAL_USE_PWM                         FALSE
120
#endif
121

    
122
/**
123
 * @brief   Enables the QEI subsystem.
124
 */
125
#if !defined(HAL_USE_QEI) || defined(__DOXYGEN__)
126
#define HAL_USE_QEI                         FALSE
127
#endif
128

    
129
/**
130
 * @brief   Enables the RTC subsystem.
131
 */
132
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__)
133
#define HAL_USE_RTC                         TRUE
134
#endif
135

    
136
/**
137
 * @brief   Enables the SDC subsystem.
138
 */
139
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__)
140
#define HAL_USE_SDC                         FALSE
141
#endif
142

    
143
/**
144
 * @brief   Enables the SERIAL subsystem.
145
 */
146
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
147
#define HAL_USE_SERIAL                      TRUE
148
#endif
149

    
150
/**
151
 * @brief   Enables the SERIAL over USB subsystem.
152
 */
153
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
154
#define HAL_USE_SERIAL_USB                  FALSE
155
#endif
156

    
157
/**
158
 * @brief   Enables the SIO subsystem.
159
 */
160
#if !defined(HAL_USE_SIO) || defined(__DOXYGEN__)
161
#define HAL_USE_SIO                         FALSE
162
#endif
163

    
164
/**
165
 * @brief   Enables the SPI subsystem.
166
 */
167
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__)
168
#define HAL_USE_SPI                         TRUE
169
#endif
170

    
171
/**
172
 * @brief   Enables the TRNG subsystem.
173
 */
174
#if !defined(HAL_USE_TRNG) || defined(__DOXYGEN__)
175
#define HAL_USE_TRNG                        FALSE
176
#endif
177

    
178
/**
179
 * @brief   Enables the UART subsystem.
180
 */
181
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__)
182
#define HAL_USE_UART                        FALSE
183
#endif
184

    
185
/**
186
 * @brief   Enables the USB subsystem.
187
 */
188
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__)
189
#define HAL_USE_USB                         FALSE
190
#endif
191

    
192
/**
193
 * @brief   Enables the WDG subsystem.
194
 */
195
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__)
196
#define HAL_USE_WDG                         FALSE
197
#endif
198

    
199
/**
200
 * @brief   Enables the WSPI subsystem.
201
 */
202
#if !defined(HAL_USE_WSPI) || defined(__DOXYGEN__)
203
#define HAL_USE_WSPI                        FALSE
204
#endif
205

    
206
/*===========================================================================*/
207
/* PAL driver related settings.                                              */
208
/*===========================================================================*/
209

    
210
/**
211
 * @brief   Enables synchronous APIs.
212
 * @note    Disabling this option saves both code and data space.
213
 */
214
#if !defined(PAL_USE_CALLBACKS) || defined(__DOXYGEN__)
215
#define PAL_USE_CALLBACKS                   TRUE
216
#endif
217

    
218
/**
219
 * @brief   Enables synchronous APIs.
220
 * @note    Disabling this option saves both code and data space.
221
 */
222
#if !defined(PAL_USE_WAIT) || defined(__DOXYGEN__)
223
#define PAL_USE_WAIT                        FALSE
224
#endif
225

    
226
/*===========================================================================*/
227
/* ADC driver related settings.                                              */
228
/*===========================================================================*/
229

    
230
/**
231
 * @brief   Enables synchronous APIs.
232
 * @note    Disabling this option saves both code and data space.
233
 */
234
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
235
#define ADC_USE_WAIT                        TRUE
236
#endif
237

    
238
/**
239
 * @brief   Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
240
 * @note    Disabling this option saves both code and data space.
241
 */
242
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
243
#define ADC_USE_MUTUAL_EXCLUSION            TRUE
244
#endif
245

    
246
/*===========================================================================*/
247
/* CAN driver related settings.                                              */
248
/*===========================================================================*/
249

    
250
/**
251
 * @brief   Sleep mode related APIs inclusion switch.
252
 */
253
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
254
#define CAN_USE_SLEEP_MODE                  TRUE
255
#endif
256

    
257
/**
258
 * @brief   Enforces the driver to use direct callbacks rather than OSAL events.
259
 */
260
#if !defined(CAN_ENFORCE_USE_CALLBACKS) || defined(__DOXYGEN__)
261
#define CAN_ENFORCE_USE_CALLBACKS           FALSE
262
#endif
263

    
264
/*===========================================================================*/
265
/* CRY driver related settings.                                              */
266
/*===========================================================================*/
267

    
268
/**
269
 * @brief   Enables the SW fall-back of the cryptographic driver.
270
 * @details When enabled, this option, activates a fall-back software
271
 *          implementation for algorithms not supported by the underlying
272
 *          hardware.
273
 * @note    Fall-back implementations may not be present for all algorithms.
274
 */
275
#if !defined(HAL_CRY_USE_FALLBACK) || defined(__DOXYGEN__)
276
#define HAL_CRY_USE_FALLBACK                FALSE
277
#endif
278

    
279
/**
280
 * @brief   Makes the driver forcibly use the fall-back implementations.
281
 */
282
#if !defined(HAL_CRY_ENFORCE_FALLBACK) || defined(__DOXYGEN__)
283
#define HAL_CRY_ENFORCE_FALLBACK            FALSE
284
#endif
285

    
286
/*===========================================================================*/
287
/* DAC driver related settings.                                              */
288
/*===========================================================================*/
289

    
290
/**
291
 * @brief   Enables synchronous APIs.
292
 * @note    Disabling this option saves both code and data space.
293
 */
294
#if !defined(DAC_USE_WAIT) || defined(__DOXYGEN__)
295
#define DAC_USE_WAIT                        TRUE
296
#endif
297

    
298
/**
299
 * @brief   Enables the @p dacAcquireBus() and @p dacReleaseBus() APIs.
300
 * @note    Disabling this option saves both code and data space.
301
 */
302
#if !defined(DAC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
303
#define DAC_USE_MUTUAL_EXCLUSION            TRUE
304
#endif
305

    
306
/*===========================================================================*/
307
/* I2C driver related settings.                                              */
308
/*===========================================================================*/
309

    
310
/**
311
 * @brief   Enables the mutual exclusion APIs on the I2C bus.
312
 */
313
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
314
#define I2C_USE_MUTUAL_EXCLUSION            TRUE
315
#endif
316

    
317
/*===========================================================================*/
318
/* MAC driver related settings.                                              */
319
/*===========================================================================*/
320

    
321
/**
322
 * @brief   Enables the zero-copy API.
323
 */
324
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
325
#define MAC_USE_ZERO_COPY                   FALSE
326
#endif
327

    
328
/**
329
 * @brief   Enables an event sources for incoming packets.
330
 */
331
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
332
#define MAC_USE_EVENTS                      TRUE
333
#endif
334

    
335
/*===========================================================================*/
336
/* MMC_SPI driver related settings.                                          */
337
/*===========================================================================*/
338

    
339
/**
340
 * @brief   Delays insertions.
341
 * @details If enabled this options inserts delays into the MMC waiting
342
 *          routines releasing some extra CPU time for the threads with
343
 *          lower priority, this may slow down the driver a bit however.
344
 *          This option is recommended also if the SPI driver does not
345
 *          use a DMA channel and heavily loads the CPU.
346
 */
347
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
348
#define MMC_NICE_WAITING                    TRUE
349
#endif
350

    
351
/*===========================================================================*/
352
/* SDC driver related settings.                                              */
353
/*===========================================================================*/
354

    
355
/**
356
 * @brief   Number of initialization attempts before rejecting the card.
357
 * @note    Attempts are performed at 10mS intervals.
358
 */
359
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
360
#define SDC_INIT_RETRY                      100
361
#endif
362

    
363
/**
364
 * @brief   Include support for MMC cards.
365
 * @note    MMC support is not yet implemented so this option must be kept
366
 *          at @p FALSE.
367
 */
368
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
369
#define SDC_MMC_SUPPORT                     FALSE
370
#endif
371

    
372
/**
373
 * @brief   Delays insertions.
374
 * @details If enabled this options inserts delays into the MMC waiting
375
 *          routines releasing some extra CPU time for the threads with
376
 *          lower priority, this may slow down the driver a bit however.
377
 */
378
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
379
#define SDC_NICE_WAITING                    TRUE
380
#endif
381

    
382
/**
383
 * @brief   OCR initialization constant for V20 cards.
384
 */
385
#if !defined(SDC_INIT_OCR_V20) || defined(__DOXYGEN__)
386
#define SDC_INIT_OCR_V20                    0x50FF8000U
387
#endif
388

    
389
/**
390
 * @brief   OCR initialization constant for non-V20 cards.
391
 */
392
#if !defined(SDC_INIT_OCR) || defined(__DOXYGEN__)
393
#define SDC_INIT_OCR                        0x80100000U
394
#endif
395

    
396
/*===========================================================================*/
397
/* SERIAL driver related settings.                                           */
398
/*===========================================================================*/
399

    
400
/**
401
 * @brief   Default bit rate.
402
 * @details Configuration parameter, this is the baud rate selected for the
403
 *          default configuration.
404
 */
405
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
406
#define SERIAL_DEFAULT_BITRATE              115200
407
#endif
408

    
409
/**
410
 * @brief   Serial buffers size.
411
 * @details Configuration parameter, you can change the depth of the queue
412
 *          buffers depending on the requirements of your application.
413
 * @note    The default is 16 bytes for both the transmission and receive
414
 *          buffers.
415
 */
416
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
417
#define SERIAL_BUFFERS_SIZE                 16
418
#endif
419

    
420
/*===========================================================================*/
421
/* SERIAL_USB driver related setting.                                        */
422
/*===========================================================================*/
423

    
424
/**
425
 * @brief   Serial over USB buffers size.
426
 * @details Configuration parameter, the buffer size must be a multiple of
427
 *          the USB data endpoint maximum packet size.
428
 * @note    The default is 256 bytes for both the transmission and receive
429
 *          buffers.
430
 */
431
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
432
#define SERIAL_USB_BUFFERS_SIZE             256
433
#endif
434

    
435
/**
436
 * @brief   Serial over USB number of buffers.
437
 * @note    The default is 2 buffers.
438
 */
439
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__)
440
#define SERIAL_USB_BUFFERS_NUMBER           2
441
#endif
442

    
443
/*===========================================================================*/
444
/* SPI driver related settings.                                              */
445
/*===========================================================================*/
446

    
447
/**
448
 * @brief   Enables synchronous APIs.
449
 * @note    Disabling this option saves both code and data space.
450
 */
451
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
452
#define SPI_USE_WAIT                        TRUE
453
#endif
454

    
455
/**
456
 * @brief   Enables circular transfers APIs.
457
 * @note    Disabling this option saves both code and data space.
458
 */
459
#if !defined(SPI_USE_CIRCULAR) || defined(__DOXYGEN__)
460
#define SPI_USE_CIRCULAR                    FALSE
461
#endif
462

    
463

    
464
/**
465
 * @brief   Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
466
 * @note    Disabling this option saves both code and data space.
467
 */
468
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
469
#define SPI_USE_MUTUAL_EXCLUSION            TRUE
470
#endif
471

    
472
/**
473
 * @brief   Handling method for SPI CS line.
474
 * @note    Disabling this option saves both code and data space.
475
 */
476
#if !defined(SPI_SELECT_MODE) || defined(__DOXYGEN__)
477
#define SPI_SELECT_MODE                     SPI_SELECT_MODE_PAD
478
#endif
479

    
480
/*===========================================================================*/
481
/* UART driver related settings.                                             */
482
/*===========================================================================*/
483

    
484
/**
485
 * @brief   Enables synchronous APIs.
486
 * @note    Disabling this option saves both code and data space.
487
 */
488
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__)
489
#define UART_USE_WAIT                       FALSE
490
#endif
491

    
492
/**
493
 * @brief   Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs.
494
 * @note    Disabling this option saves both code and data space.
495
 */
496
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
497
#define UART_USE_MUTUAL_EXCLUSION           FALSE
498
#endif
499

    
500
/*===========================================================================*/
501
/* USB driver related settings.                                              */
502
/*===========================================================================*/
503

    
504
/**
505
 * @brief   Enables synchronous APIs.
506
 * @note    Disabling this option saves both code and data space.
507
 */
508
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__)
509
#define USB_USE_WAIT                        FALSE
510
#endif
511

    
512
/*===========================================================================*/
513
/* WSPI driver related settings.                                             */
514
/*===========================================================================*/
515

    
516
/**
517
 * @brief   Enables synchronous APIs.
518
 * @note    Disabling this option saves both code and data space.
519
 */
520
#if !defined(WSPI_USE_WAIT) || defined(__DOXYGEN__)
521
#define WSPI_USE_WAIT                       TRUE
522
#endif
523

    
524
/**
525
 * @brief   Enables the @p wspiAcquireBus() and @p wspiReleaseBus() APIs.
526
 * @note    Disabling this option saves both code and data space.
527
 */
528
#if !defined(WSPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
529
#define WSPI_USE_MUTUAL_EXCLUSION           TRUE
530
#endif
531

    
532
#endif /* HALCONF_H */
533

    
534
/** @} */