[Keyboard] DZTECH: CODE CLEANUP (#5828)
* Delete board.c * Delete board.h * Delete board.mk * Delete bootloader_defs.h * Delete chconf.h * Delete halconf.h * Delete mcuconf.h * Update rules.mk * Update config.h * Update config.h * Update config.h * Update config.h * Update config.h * Update rules.mk * Delete bootloader_defs.h * Delete halconf.h * Delete chconf.h * Delete mcuconf.h * Update rules.mk * Update config.h * Update dz40rgb.c * Update dz65rgb.cplanck_thk^2
parent
2835a70749
commit
bce391a663
@ -1,126 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
#include "hal.h" |
|
||||||
|
|
||||||
#if HAL_USE_PAL || defined(__DOXYGEN__) |
|
||||||
/**
|
|
||||||
* @brief PAL setup. |
|
||||||
* @details Digital I/O ports static configuration as defined in @p board.h. |
|
||||||
* This variable is used by the HAL when initializing the PAL driver. |
|
||||||
*/ |
|
||||||
const PALConfig pal_default_config = { |
|
||||||
#if STM32_HAS_GPIOA |
|
||||||
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, |
|
||||||
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOB |
|
||||||
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, |
|
||||||
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOC |
|
||||||
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, |
|
||||||
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOD |
|
||||||
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, |
|
||||||
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOE |
|
||||||
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, |
|
||||||
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOF |
|
||||||
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, |
|
||||||
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOG |
|
||||||
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, |
|
||||||
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOH |
|
||||||
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, |
|
||||||
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, |
|
||||||
#endif |
|
||||||
#if STM32_HAS_GPIOI |
|
||||||
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, |
|
||||||
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH} |
|
||||||
#endif |
|
||||||
}; |
|
||||||
#endif |
|
||||||
|
|
||||||
void enter_bootloader_mode_if_requested(void); |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Early initialization code. |
|
||||||
* @details This initialization must be performed just after stack setup |
|
||||||
* and before any other initialization. |
|
||||||
*/ |
|
||||||
void __early_init(void) { |
|
||||||
enter_bootloader_mode_if_requested(); |
|
||||||
stm32_clock_init(); |
|
||||||
} |
|
||||||
|
|
||||||
#if HAL_USE_SDC || defined(__DOXYGEN__) |
|
||||||
/**
|
|
||||||
* @brief SDC card detection. |
|
||||||
*/ |
|
||||||
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) { |
|
||||||
|
|
||||||
(void)sdcp; |
|
||||||
/* TODO: Fill the implementation.*/ |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief SDC card write protection detection. |
|
||||||
*/ |
|
||||||
bool sdc_lld_is_write_protected(SDCDriver *sdcp) { |
|
||||||
|
|
||||||
(void)sdcp; |
|
||||||
/* TODO: Fill the implementation.*/ |
|
||||||
return false; |
|
||||||
} |
|
||||||
#endif /* HAL_USE_SDC */ |
|
||||||
|
|
||||||
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) |
|
||||||
/**
|
|
||||||
* @brief MMC_SPI card detection. |
|
||||||
*/ |
|
||||||
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) { |
|
||||||
|
|
||||||
(void)mmcp; |
|
||||||
/* TODO: Fill the implementation.*/ |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief MMC_SPI card write protection detection. |
|
||||||
*/ |
|
||||||
bool mmc_lld_is_write_protected(MMCDriver *mmcp) { |
|
||||||
|
|
||||||
(void)mmcp; |
|
||||||
/* TODO: Fill the implementation.*/ |
|
||||||
return false; |
|
||||||
} |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Board-specific initialization code. |
|
||||||
* @todo Add your board-specific code, if any. |
|
||||||
*/ |
|
||||||
void boardInit(void) { |
|
||||||
} |
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +0,0 @@ |
|||||||
# List of all the board related files.
|
|
||||||
BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC/board.c
|
|
||||||
|
|
||||||
# Required include directories
|
|
||||||
BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC
|
|
@ -1,7 +0,0 @@ |
|||||||
/* Address for jumping to bootloader on STM32 chips. */ |
|
||||||
/* It is chip dependent, the correct number can be looked up here:
|
|
||||||
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
|
|
||||||
* This also requires a patch to chibios: |
|
||||||
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch |
|
||||||
*/ |
|
||||||
#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 |
|
@ -1,520 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @file templates/chconf.h |
|
||||||
* @brief Configuration file template. |
|
||||||
* @details A copy of this file must be placed in each project directory, it |
|
||||||
* contains the application specific kernel settings. |
|
||||||
* |
|
||||||
* @addtogroup config |
|
||||||
* @details Kernel related settings and hooks. |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef CHCONF_H |
|
||||||
#define CHCONF_H |
|
||||||
|
|
||||||
#define _CHIBIOS_RT_CONF_ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name System timers settings |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System time counter resolution. |
|
||||||
* @note Allowed values are 16 or 32 bits. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_RESOLUTION 32 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System tick frequency. |
|
||||||
* @details Frequency of the system timer that drives the system ticks. This |
|
||||||
* setting also defines the system tick time unit. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_FREQUENCY 100000 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Time delta constant for the tick-less mode. |
|
||||||
* @note If this value is zero then the system uses the classic |
|
||||||
* periodic tick. This value represents the minimum number |
|
||||||
* of ticks that is safe to specify in a timeout directive. |
|
||||||
* The value one is not valid, timeouts are rounded up to |
|
||||||
* this value. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_TIMEDELTA 2 |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Kernel parameters and options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Round robin interval. |
|
||||||
* @details This constant is the number of system ticks allowed for the |
|
||||||
* threads before preemption occurs. Setting this value to zero |
|
||||||
* disables the preemption for threads with equal priority and the |
|
||||||
* round robin becomes cooperative. Note that higher priority |
|
||||||
* threads can still preempt, the kernel is always preemptive. |
|
||||||
* @note Disabling the round robin preemption makes the kernel more compact |
|
||||||
* and generally faster. |
|
||||||
* @note The round robin preemption is not supported in tickless mode and |
|
||||||
* must be set to zero in that case. |
|
||||||
*/ |
|
||||||
#define CH_CFG_TIME_QUANTUM 0 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Managed RAM size. |
|
||||||
* @details Size of the RAM area to be managed by the OS. If set to zero |
|
||||||
* then the whole available RAM is used. The core memory is made |
|
||||||
* available to the heap allocator and/or can be used directly through |
|
||||||
* the simplified core memory allocator. |
|
||||||
* |
|
||||||
* @note In order to let the OS manage the whole RAM the linker script must |
|
||||||
* provide the @p __heap_base__ and @p __heap_end__ symbols. |
|
||||||
* @note Requires @p CH_CFG_USE_MEMCORE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_MEMCORE_SIZE 0 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread automatic spawn suppression. |
|
||||||
* @details When this option is activated the function @p chSysInit() |
|
||||||
* does not spawn the idle thread. The application @p main() |
|
||||||
* function becomes the idle thread and must implement an |
|
||||||
* infinite loop. |
|
||||||
*/ |
|
||||||
#define CH_CFG_NO_IDLE_THREAD FALSE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Performance options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief OS optimization. |
|
||||||
* @details If enabled then time efficient rather than space efficient code |
|
||||||
* is used when two possible implementations exist. |
|
||||||
* |
|
||||||
* @note This is not related to the compiler optimization options. |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_OPTIMIZE_SPEED TRUE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Subsystem options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Time Measurement APIs. |
|
||||||
* @details If enabled then the time measurement APIs are included in |
|
||||||
* the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_TM TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads registry APIs. |
|
||||||
* @details If enabled then the registry APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_REGISTRY TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads synchronization APIs. |
|
||||||
* @details If enabled then the @p chThdWait() function is included in |
|
||||||
* the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_WAITEXIT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Semaphores APIs. |
|
||||||
* @details If enabled then the Semaphores APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_SEMAPHORES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Semaphores queuing mode. |
|
||||||
* @details If enabled then the threads are enqueued on semaphores by |
|
||||||
* priority rather than in FIFO order. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. Enable this if you have special |
|
||||||
* requirements. |
|
||||||
* @note Requires @p CH_CFG_USE_SEMAPHORES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Mutexes APIs. |
|
||||||
* @details If enabled then the mutexes APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MUTEXES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables recursive behavior on mutexes. |
|
||||||
* @note Recursive mutexes are heavier and have an increased |
|
||||||
* memory footprint. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note Requires @p CH_CFG_USE_MUTEXES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Conditional Variables APIs. |
|
||||||
* @details If enabled then the conditional variables APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_MUTEXES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_CONDVARS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Conditional Variables APIs with timeout. |
|
||||||
* @details If enabled then the conditional variables APIs with timeout |
|
||||||
* specification are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_CONDVARS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Events Flags APIs. |
|
||||||
* @details If enabled then the event flags APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_EVENTS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Events Flags APIs with timeout. |
|
||||||
* @details If enabled then the events APIs with timeout specification |
|
||||||
* are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_EVENTS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_EVENTS_TIMEOUT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Synchronous Messages APIs. |
|
||||||
* @details If enabled then the synchronous messages APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MESSAGES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Synchronous Messages queuing mode. |
|
||||||
* @details If enabled then messages are served by priority rather than in |
|
||||||
* FIFO order. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. Enable this if you have special |
|
||||||
* requirements. |
|
||||||
* @note Requires @p CH_CFG_USE_MESSAGES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MESSAGES_PRIORITY TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Mailboxes APIs. |
|
||||||
* @details If enabled then the asynchronous messages (mailboxes) APIs are |
|
||||||
* included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_SEMAPHORES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MAILBOXES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Core Memory Manager APIs. |
|
||||||
* @details If enabled then the core memory manager APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MEMCORE TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Heap Allocator APIs. |
|
||||||
* @details If enabled then the memory heap allocator APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or |
|
||||||
* @p CH_CFG_USE_SEMAPHORES. |
|
||||||
* @note Mutexes are recommended. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_HEAP TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Memory Pools Allocator APIs. |
|
||||||
* @details If enabled then the memory pools allocator APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MEMPOOLS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Dynamic Threads APIs. |
|
||||||
* @details If enabled then the dynamic threads creation APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_WAITEXIT. |
|
||||||
* @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_DYNAMIC TRUE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Debug options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, kernel statistics. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_STATISTICS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, system state check. |
|
||||||
* @details If enabled the correct call protocol for system APIs is checked |
|
||||||
* at runtime. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_SYSTEM_STATE_CHECK FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, parameters checks. |
|
||||||
* @details If enabled then the checks on the API functions input |
|
||||||
* parameters are activated. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_CHECKS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, consistency checks. |
|
||||||
* @details If enabled then all the assertions in the kernel code are |
|
||||||
* activated. This includes consistency checks inside the kernel, |
|
||||||
* runtime anomalies and port-defined checks. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_ASSERTS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, trace buffer. |
|
||||||
* @details If enabled then the trace buffer is activated. |
|
||||||
* |
|
||||||
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED. |
|
||||||
*/ |
|
||||||
#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Trace buffer entries. |
|
||||||
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is |
|
||||||
* different from @p CH_DBG_TRACE_MASK_DISABLED. |
|
||||||
*/ |
|
||||||
#define CH_DBG_TRACE_BUFFER_SIZE 128 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, stack checks. |
|
||||||
* @details If enabled then a runtime stack check is performed. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note The stack check is performed in a architecture/port dependent way. |
|
||||||
* It may not be implemented or some ports. |
|
||||||
* @note The default failure mode is to halt the system with the global |
|
||||||
* @p panic_msg variable set to @p NULL. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_STACK_CHECK TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, stacks initialization. |
|
||||||
* @details If enabled then the threads working area is filled with a byte |
|
||||||
* value when a thread is created. This can be useful for the |
|
||||||
* runtime measurement of the used stack. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_FILL_THREADS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, threads profiling. |
|
||||||
* @details If enabled then a field is added to the @p thread_t structure that |
|
||||||
* counts the system ticks occurred while executing the thread. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note This debug option is not currently compatible with the |
|
||||||
* tickless mode. |
|
||||||
*/ |
|
||||||
#define CH_DBG_THREADS_PROFILING FALSE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Kernel hooks |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads descriptor structure extension. |
|
||||||
* @details User fields added to the end of the @p thread_t structure. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_EXTRA_FIELDS \ |
|
||||||
/* Add threads custom fields here.*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads initialization hook. |
|
||||||
* @details User initialization code added to the @p chThdInit() API. |
|
||||||
* |
|
||||||
* @note It is invoked from within @p chThdInit() and implicitly from all |
|
||||||
* the threads creation APIs. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_INIT_HOOK(tp) { \ |
|
||||||
/* Add threads initialization code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads finalization hook. |
|
||||||
* @details User finalization code added to the @p chThdExit() API. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_EXIT_HOOK(tp) { \ |
|
||||||
/* Add threads finalization code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Context switch hook. |
|
||||||
* @details This hook is invoked just before switching between threads. |
|
||||||
*/ |
|
||||||
#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \ |
|
||||||
/* Context switch code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ISR enter hook. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IRQ_PROLOGUE_HOOK() { \ |
|
||||||
/* IRQ prologue code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ISR exit hook. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IRQ_EPILOGUE_HOOK() { \ |
|
||||||
/* IRQ epilogue code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread enter hook. |
|
||||||
* @note This hook is invoked within a critical zone, no OS functions |
|
||||||
* should be invoked from here. |
|
||||||
* @note This macro can be used to activate a power saving mode. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_ENTER_HOOK() { \ |
|
||||||
/* Idle-enter code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread leave hook. |
|
||||||
* @note This hook is invoked within a critical zone, no OS functions |
|
||||||
* should be invoked from here. |
|
||||||
* @note This macro can be used to deactivate a power saving mode. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_LEAVE_HOOK() { \ |
|
||||||
/* Idle-leave code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle Loop hook. |
|
||||||
* @details This hook is continuously invoked by the idle thread loop. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_LOOP_HOOK() { \ |
|
||||||
/* Idle loop code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System tick event hook. |
|
||||||
* @details This hook is invoked in the system tick handler immediately |
|
||||||
* after processing the virtual timers queue. |
|
||||||
*/ |
|
||||||
#define CH_CFG_SYSTEM_TICK_HOOK() { \ |
|
||||||
/* System tick event code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System halt hook. |
|
||||||
* @details This hook is invoked in case to a system halting error before |
|
||||||
* the system is halted. |
|
||||||
*/ |
|
||||||
#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \ |
|
||||||
/* System halt code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Trace hook. |
|
||||||
* @details This hook is invoked each time a new record is written in the |
|
||||||
* trace buffer. |
|
||||||
*/ |
|
||||||
#define CH_CFG_TRACE_HOOK(tep) { \ |
|
||||||
/* Trace code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* Port-specific settings (override port settings defaulted in chcore.h). */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
#endif /* CHCONF_H */ |
|
||||||
|
|
||||||
/** @} */ |
|
@ -1,388 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @file templates/halconf.h |
|
||||||
* @brief HAL configuration header. |
|
||||||
* @details HAL configuration file, this file allows to enable or disable the |
|
||||||
* various device drivers from your application. You may also use |
|
||||||
* this file in order to override the device drivers default settings. |
|
||||||
* |
|
||||||
* @addtogroup HAL_CONF |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef HALCONF_H |
|
||||||
#define HALCONF_H |
|
||||||
|
|
||||||
#include "mcuconf.h" |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the PAL subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_PAL TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the ADC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_ADC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the CAN subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_CAN FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the DAC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_DAC TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the EXT subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_EXT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the GPT subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_GPT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the I2C subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_I2C TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the I2S subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_I2S FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the ICU subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_ICU FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the MAC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_MAC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the MMC_SPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_MMC_SPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the PWM subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_PWM FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the QSPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_QSPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_QSPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the RTC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_RTC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SDC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SDC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SERIAL subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SERIAL FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SERIAL over USB subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SERIAL_USB FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the UART subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_UART FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the USB subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_USB TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the WDG subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_WDG FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* ADC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define ADC_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* CAN driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sleep mode related APIs inclusion switch. |
|
||||||
*/ |
|
||||||
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__) |
|
||||||
#define CAN_USE_SLEEP_MODE TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* I2C driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the mutual exclusion APIs on the I2C bus. |
|
||||||
*/ |
|
||||||
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define I2C_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* MAC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets. |
|
||||||
*/ |
|
||||||
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__) |
|
||||||
#define MAC_USE_ZERO_COPY FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets. |
|
||||||
*/ |
|
||||||
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__) |
|
||||||
#define MAC_USE_EVENTS TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* MMC_SPI driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions. |
|
||||||
* @details If enabled this options inserts delays into the MMC waiting |
|
||||||
* routines releasing some extra CPU time for the threads with |
|
||||||
* lower priority, this may slow down the driver a bit however. |
|
||||||
* This option is recommended also if the SPI driver does not |
|
||||||
* use a DMA channel and heavily loads the CPU. |
|
||||||
*/ |
|
||||||
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__) |
|
||||||
#define MMC_NICE_WAITING TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SDC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Number of initialization attempts before rejecting the card. |
|
||||||
* @note Attempts are performed at 10mS intervals. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__) |
|
||||||
#define SDC_INIT_RETRY 100 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Include support for MMC cards. |
|
||||||
* @note MMC support is not yet implemented so this option must be kept |
|
||||||
* at @p FALSE. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__) |
|
||||||
#define SDC_MMC_SUPPORT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions. |
|
||||||
* @details If enabled this options inserts delays into the MMC waiting |
|
||||||
* routines releasing some extra CPU time for the threads with |
|
||||||
* lower priority, this may slow down the driver a bit however. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__) |
|
||||||
#define SDC_NICE_WAITING TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SERIAL driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Default bit rate. |
|
||||||
* @details Configuration parameter, this is the baud rate selected for the |
|
||||||
* default configuration. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_DEFAULT_BITRATE 38400 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial buffers size. |
|
||||||
* @details Configuration parameter, you can change the depth of the queue |
|
||||||
* buffers depending on the requirements of your application. |
|
||||||
* @note The default is 16 bytes for both the transmission and receive |
|
||||||
* buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_BUFFERS_SIZE 16 |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SERIAL_USB driver related setting. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial over USB buffers size. |
|
||||||
* @details Configuration parameter, the buffer size must be a multiple of |
|
||||||
* the USB data endpoint maximum packet size. |
|
||||||
* @note The default is 256 bytes for both the transmission and receive |
|
||||||
* buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial over USB number of buffers. |
|
||||||
* @note The default is 2 buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_USB_BUFFERS_NUMBER 2 |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SPI driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define SPI_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define SPI_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* UART driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define UART_USE_WAIT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define UART_USE_MUTUAL_EXCLUSION FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* USB driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define USB_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
#endif /* HALCONF_H */ |
|
||||||
|
|
||||||
/** @} */ |
|
@ -1,257 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef MCUCONF_H |
|
||||||
#define MCUCONF_H |
|
||||||
|
|
||||||
/*
|
|
||||||
* STM32F3xx drivers configuration. |
|
||||||
* The following settings override the default settings present in |
|
||||||
* the various device driver implementation headers. |
|
||||||
* Note that the settings for each driver only have effect if the whole |
|
||||||
* driver is enabled in halconf.h. |
|
||||||
* |
|
||||||
* IRQ priorities: |
|
||||||
* 15...0 Lowest...Highest. |
|
||||||
* |
|
||||||
* DMA priorities: |
|
||||||
* 0...3 Lowest...Highest. |
|
||||||
*/ |
|
||||||
|
|
||||||
#define STM32F3xx_MCUCONF |
|
||||||
|
|
||||||
/*
|
|
||||||
* HAL driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_NO_INIT FALSE |
|
||||||
#define STM32_PVD_ENABLE FALSE |
|
||||||
#define STM32_PLS STM32_PLS_LEV0 |
|
||||||
#define STM32_HSI_ENABLED TRUE |
|
||||||
#define STM32_LSI_ENABLED TRUE |
|
||||||
#define STM32_HSE_ENABLED TRUE |
|
||||||
#define STM32_LSE_ENABLED FALSE |
|
||||||
#define STM32_SW STM32_SW_PLL |
|
||||||
#define STM32_PLLSRC STM32_PLLSRC_HSE |
|
||||||
#define STM32_PREDIV_VALUE 1 |
|
||||||
#define STM32_PLLMUL_VALUE 9 |
|
||||||
#define STM32_HPRE STM32_HPRE_DIV1 |
|
||||||
#define STM32_PPRE1 STM32_PPRE1_DIV2 |
|
||||||
#define STM32_PPRE2 STM32_PPRE2_DIV2 |
|
||||||
#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK |
|
||||||
#define STM32_ADC12PRES STM32_ADC12PRES_DIV1 |
|
||||||
#define STM32_ADC34PRES STM32_ADC34PRES_DIV1 |
|
||||||
#define STM32_USART1SW STM32_USART1SW_PCLK |
|
||||||
#define STM32_USART2SW STM32_USART2SW_PCLK |
|
||||||
#define STM32_USART3SW STM32_USART3SW_PCLK |
|
||||||
#define STM32_UART4SW STM32_UART4SW_PCLK |
|
||||||
#define STM32_UART5SW STM32_UART5SW_PCLK |
|
||||||
#define STM32_I2C1SW STM32_I2C1SW_SYSCLK |
|
||||||
#define STM32_I2C2SW STM32_I2C2SW_SYSCLK |
|
||||||
#define STM32_TIM1SW STM32_TIM1SW_PCLK2 |
|
||||||
#define STM32_TIM8SW STM32_TIM8SW_PCLK2 |
|
||||||
#define STM32_RTCSEL STM32_RTCSEL_LSI |
|
||||||
#define STM32_USB_CLOCK_REQUIRED TRUE |
|
||||||
#define STM32_USBPRE STM32_USBPRE_DIV1P5 |
|
||||||
|
|
||||||
#undef STM32_HSE_BYPASS |
|
||||||
// #error "oh no"
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ADC driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ADC_DUAL_MODE FALSE |
|
||||||
#define STM32_ADC_COMPACT_SAMPLES FALSE |
|
||||||
#define STM32_ADC_USE_ADC1 FALSE |
|
||||||
#define STM32_ADC_USE_ADC2 FALSE |
|
||||||
#define STM32_ADC_USE_ADC3 FALSE |
|
||||||
#define STM32_ADC_USE_ADC4 FALSE |
|
||||||
#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) |
|
||||||
#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) |
|
||||||
#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) |
|
||||||
#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) |
|
||||||
#define STM32_ADC_ADC1_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC2_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC3_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC4_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC12_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC3_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC4_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 |
|
||||||
#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 |
|
||||||
|
|
||||||
/*
|
|
||||||
* CAN driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_CAN_USE_CAN1 FALSE |
|
||||||
#define STM32_CAN_CAN1_IRQ_PRIORITY 11 |
|
||||||
|
|
||||||
/*
|
|
||||||
* DAC driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_DAC_DUAL_MODE FALSE |
|
||||||
#define STM32_DAC_USE_DAC1_CH1 TRUE |
|
||||||
#define STM32_DAC_USE_DAC1_CH2 TRUE |
|
||||||
#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 |
|
||||||
#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 |
|
||||||
|
|
||||||
/*
|
|
||||||
* EXT driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_EXT_EXTI0_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI1_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI2_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI3_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI4_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI16_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI17_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI18_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI19_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI20_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI33_IRQ_PRIORITY 6 |
|
||||||
|
|
||||||
/*
|
|
||||||
* GPT driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_GPT_USE_TIM1 FALSE |
|
||||||
#define STM32_GPT_USE_TIM2 FALSE |
|
||||||
#define STM32_GPT_USE_TIM3 FALSE |
|
||||||
#define STM32_GPT_USE_TIM4 FALSE |
|
||||||
#define STM32_GPT_USE_TIM6 TRUE |
|
||||||
#define STM32_GPT_USE_TIM7 TRUE |
|
||||||
#define STM32_GPT_USE_TIM8 TRUE |
|
||||||
#define STM32_GPT_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM6_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM7_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* I2C driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_I2C_USE_I2C1 TRUE |
|
||||||
#define STM32_I2C_USE_I2C2 FALSE |
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50 |
|
||||||
#define STM32_I2C_I2C1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_I2C_I2C2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_I2C_USE_DMA TRUE |
|
||||||
#define STM32_I2C_I2C1_DMA_PRIORITY 1 |
|
||||||
#define STM32_I2C_I2C2_DMA_PRIORITY 1 |
|
||||||
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* ICU driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ICU_USE_TIM1 FALSE |
|
||||||
#define STM32_ICU_USE_TIM2 FALSE |
|
||||||
#define STM32_ICU_USE_TIM3 FALSE |
|
||||||
#define STM32_ICU_USE_TIM4 FALSE |
|
||||||
#define STM32_ICU_USE_TIM8 FALSE |
|
||||||
#define STM32_ICU_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* PWM driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_PWM_USE_ADVANCED FALSE |
|
||||||
#define STM32_PWM_USE_TIM1 FALSE |
|
||||||
#define STM32_PWM_USE_TIM2 FALSE |
|
||||||
#define STM32_PWM_USE_TIM3 FALSE |
|
||||||
#define STM32_PWM_USE_TIM4 FALSE |
|
||||||
#define STM32_PWM_USE_TIM8 FALSE |
|
||||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* SERIAL driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_SERIAL_USE_USART1 FALSE |
|
||||||
#define STM32_SERIAL_USE_USART2 FALSE |
|
||||||
#define STM32_SERIAL_USE_USART3 FALSE |
|
||||||
#define STM32_SERIAL_USE_UART4 FALSE |
|
||||||
#define STM32_SERIAL_USE_UART5 FALSE |
|
||||||
#define STM32_SERIAL_USART1_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_USART2_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_USART3_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_UART4_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_UART5_PRIORITY 12 |
|
||||||
|
|
||||||
/*
|
|
||||||
* SPI driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_SPI_USE_SPI1 FALSE |
|
||||||
#define STM32_SPI_USE_SPI2 FALSE |
|
||||||
#define STM32_SPI_USE_SPI3 FALSE |
|
||||||
#define STM32_SPI_SPI1_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI2_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI3_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_SPI2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_SPI3_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* ST driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ST_IRQ_PRIORITY 8 |
|
||||||
#define STM32_ST_USE_TIMER 2 |
|
||||||
|
|
||||||
/*
|
|
||||||
* UART driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_UART_USE_USART1 FALSE |
|
||||||
#define STM32_UART_USE_USART2 FALSE |
|
||||||
#define STM32_UART_USE_USART3 FALSE |
|
||||||
#define STM32_UART_USART1_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART2_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART3_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART1_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_USART2_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_USART3_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* USB driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_USB_USE_USB1 TRUE |
|
||||||
#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE |
|
||||||
#define STM32_USB_USB1_HP_IRQ_PRIORITY 13 |
|
||||||
#define STM32_USB_USB1_LP_IRQ_PRIORITY 14 |
|
||||||
|
|
||||||
/*
|
|
||||||
* WDG driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_WDG_USE_IWDG FALSE |
|
||||||
|
|
||||||
#endif /* MCUCONF_H */ |
|
@ -1,7 +0,0 @@ |
|||||||
/* Address for jumping to bootloader on STM32 chips. */ |
|
||||||
/* It is chip dependent, the correct number can be looked up here:
|
|
||||||
* http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
|
|
||||||
* This also requires a patch to chibios: |
|
||||||
* <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch |
|
||||||
*/ |
|
||||||
#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 |
|
@ -1,520 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @file templates/chconf.h |
|
||||||
* @brief Configuration file template. |
|
||||||
* @details A copy of this file must be placed in each project directory, it |
|
||||||
* contains the application specific kernel settings. |
|
||||||
* |
|
||||||
* @addtogroup config |
|
||||||
* @details Kernel related settings and hooks. |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef CHCONF_H |
|
||||||
#define CHCONF_H |
|
||||||
|
|
||||||
#define _CHIBIOS_RT_CONF_ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name System timers settings |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System time counter resolution. |
|
||||||
* @note Allowed values are 16 or 32 bits. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_RESOLUTION 32 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System tick frequency. |
|
||||||
* @details Frequency of the system timer that drives the system ticks. This |
|
||||||
* setting also defines the system tick time unit. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_FREQUENCY 100000 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Time delta constant for the tick-less mode. |
|
||||||
* @note If this value is zero then the system uses the classic |
|
||||||
* periodic tick. This value represents the minimum number |
|
||||||
* of ticks that is safe to specify in a timeout directive. |
|
||||||
* The value one is not valid, timeouts are rounded up to |
|
||||||
* this value. |
|
||||||
*/ |
|
||||||
#define CH_CFG_ST_TIMEDELTA 2 |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Kernel parameters and options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Round robin interval. |
|
||||||
* @details This constant is the number of system ticks allowed for the |
|
||||||
* threads before preemption occurs. Setting this value to zero |
|
||||||
* disables the preemption for threads with equal priority and the |
|
||||||
* round robin becomes cooperative. Note that higher priority |
|
||||||
* threads can still preempt, the kernel is always preemptive. |
|
||||||
* @note Disabling the round robin preemption makes the kernel more compact |
|
||||||
* and generally faster. |
|
||||||
* @note The round robin preemption is not supported in tickless mode and |
|
||||||
* must be set to zero in that case. |
|
||||||
*/ |
|
||||||
#define CH_CFG_TIME_QUANTUM 0 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Managed RAM size. |
|
||||||
* @details Size of the RAM area to be managed by the OS. If set to zero |
|
||||||
* then the whole available RAM is used. The core memory is made |
|
||||||
* available to the heap allocator and/or can be used directly through |
|
||||||
* the simplified core memory allocator. |
|
||||||
* |
|
||||||
* @note In order to let the OS manage the whole RAM the linker script must |
|
||||||
* provide the @p __heap_base__ and @p __heap_end__ symbols. |
|
||||||
* @note Requires @p CH_CFG_USE_MEMCORE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_MEMCORE_SIZE 0 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread automatic spawn suppression. |
|
||||||
* @details When this option is activated the function @p chSysInit() |
|
||||||
* does not spawn the idle thread. The application @p main() |
|
||||||
* function becomes the idle thread and must implement an |
|
||||||
* infinite loop. |
|
||||||
*/ |
|
||||||
#define CH_CFG_NO_IDLE_THREAD FALSE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Performance options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief OS optimization. |
|
||||||
* @details If enabled then time efficient rather than space efficient code |
|
||||||
* is used when two possible implementations exist. |
|
||||||
* |
|
||||||
* @note This is not related to the compiler optimization options. |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_OPTIMIZE_SPEED TRUE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Subsystem options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Time Measurement APIs. |
|
||||||
* @details If enabled then the time measurement APIs are included in |
|
||||||
* the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_TM TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads registry APIs. |
|
||||||
* @details If enabled then the registry APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_REGISTRY TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads synchronization APIs. |
|
||||||
* @details If enabled then the @p chThdWait() function is included in |
|
||||||
* the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_WAITEXIT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Semaphores APIs. |
|
||||||
* @details If enabled then the Semaphores APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_SEMAPHORES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Semaphores queuing mode. |
|
||||||
* @details If enabled then the threads are enqueued on semaphores by |
|
||||||
* priority rather than in FIFO order. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. Enable this if you have special |
|
||||||
* requirements. |
|
||||||
* @note Requires @p CH_CFG_USE_SEMAPHORES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Mutexes APIs. |
|
||||||
* @details If enabled then the mutexes APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MUTEXES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables recursive behavior on mutexes. |
|
||||||
* @note Recursive mutexes are heavier and have an increased |
|
||||||
* memory footprint. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note Requires @p CH_CFG_USE_MUTEXES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Conditional Variables APIs. |
|
||||||
* @details If enabled then the conditional variables APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_MUTEXES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_CONDVARS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Conditional Variables APIs with timeout. |
|
||||||
* @details If enabled then the conditional variables APIs with timeout |
|
||||||
* specification are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_CONDVARS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Events Flags APIs. |
|
||||||
* @details If enabled then the event flags APIs are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_EVENTS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Events Flags APIs with timeout. |
|
||||||
* @details If enabled then the events APIs with timeout specification |
|
||||||
* are included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_EVENTS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_EVENTS_TIMEOUT TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Synchronous Messages APIs. |
|
||||||
* @details If enabled then the synchronous messages APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MESSAGES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Synchronous Messages queuing mode. |
|
||||||
* @details If enabled then messages are served by priority rather than in |
|
||||||
* FIFO order. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. Enable this if you have special |
|
||||||
* requirements. |
|
||||||
* @note Requires @p CH_CFG_USE_MESSAGES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MESSAGES_PRIORITY TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Mailboxes APIs. |
|
||||||
* @details If enabled then the asynchronous messages (mailboxes) APIs are |
|
||||||
* included in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_SEMAPHORES. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MAILBOXES TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Core Memory Manager APIs. |
|
||||||
* @details If enabled then the core memory manager APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MEMCORE TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Heap Allocator APIs. |
|
||||||
* @details If enabled then the memory heap allocator APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_MEMCORE and either @p CH_CFG_USE_MUTEXES or |
|
||||||
* @p CH_CFG_USE_SEMAPHORES. |
|
||||||
* @note Mutexes are recommended. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_HEAP TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Memory Pools Allocator APIs. |
|
||||||
* @details If enabled then the memory pools allocator APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_MEMPOOLS TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Dynamic Threads APIs. |
|
||||||
* @details If enabled then the dynamic threads creation APIs are included |
|
||||||
* in the kernel. |
|
||||||
* |
|
||||||
* @note The default is @p TRUE. |
|
||||||
* @note Requires @p CH_CFG_USE_WAITEXIT. |
|
||||||
* @note Requires @p CH_CFG_USE_HEAP and/or @p CH_CFG_USE_MEMPOOLS. |
|
||||||
*/ |
|
||||||
#define CH_CFG_USE_DYNAMIC TRUE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Debug options |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, kernel statistics. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_STATISTICS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, system state check. |
|
||||||
* @details If enabled the correct call protocol for system APIs is checked |
|
||||||
* at runtime. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_SYSTEM_STATE_CHECK FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, parameters checks. |
|
||||||
* @details If enabled then the checks on the API functions input |
|
||||||
* parameters are activated. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_CHECKS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, consistency checks. |
|
||||||
* @details If enabled then all the assertions in the kernel code are |
|
||||||
* activated. This includes consistency checks inside the kernel, |
|
||||||
* runtime anomalies and port-defined checks. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_ASSERTS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, trace buffer. |
|
||||||
* @details If enabled then the trace buffer is activated. |
|
||||||
* |
|
||||||
* @note The default is @p CH_DBG_TRACE_MASK_DISABLED. |
|
||||||
*/ |
|
||||||
#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_DISABLED |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Trace buffer entries. |
|
||||||
* @note The trace buffer is only allocated if @p CH_DBG_TRACE_MASK is |
|
||||||
* different from @p CH_DBG_TRACE_MASK_DISABLED. |
|
||||||
*/ |
|
||||||
#define CH_DBG_TRACE_BUFFER_SIZE 128 |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, stack checks. |
|
||||||
* @details If enabled then a runtime stack check is performed. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note The stack check is performed in a architecture/port dependent way. |
|
||||||
* It may not be implemented or some ports. |
|
||||||
* @note The default failure mode is to halt the system with the global |
|
||||||
* @p panic_msg variable set to @p NULL. |
|
||||||
*/ |
|
||||||
#define CH_DBG_ENABLE_STACK_CHECK TRUE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, stacks initialization. |
|
||||||
* @details If enabled then the threads working area is filled with a byte |
|
||||||
* value when a thread is created. This can be useful for the |
|
||||||
* runtime measurement of the used stack. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
*/ |
|
||||||
#define CH_DBG_FILL_THREADS FALSE |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Debug option, threads profiling. |
|
||||||
* @details If enabled then a field is added to the @p thread_t structure that |
|
||||||
* counts the system ticks occurred while executing the thread. |
|
||||||
* |
|
||||||
* @note The default is @p FALSE. |
|
||||||
* @note This debug option is not currently compatible with the |
|
||||||
* tickless mode. |
|
||||||
*/ |
|
||||||
#define CH_DBG_THREADS_PROFILING FALSE |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/**
|
|
||||||
* @name Kernel hooks |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads descriptor structure extension. |
|
||||||
* @details User fields added to the end of the @p thread_t structure. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_EXTRA_FIELDS \ |
|
||||||
/* Add threads custom fields here.*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads initialization hook. |
|
||||||
* @details User initialization code added to the @p chThdInit() API. |
|
||||||
* |
|
||||||
* @note It is invoked from within @p chThdInit() and implicitly from all |
|
||||||
* the threads creation APIs. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_INIT_HOOK(tp) { \ |
|
||||||
/* Add threads initialization code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Threads finalization hook. |
|
||||||
* @details User finalization code added to the @p chThdExit() API. |
|
||||||
*/ |
|
||||||
#define CH_CFG_THREAD_EXIT_HOOK(tp) { \ |
|
||||||
/* Add threads finalization code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Context switch hook. |
|
||||||
* @details This hook is invoked just before switching between threads. |
|
||||||
*/ |
|
||||||
#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \ |
|
||||||
/* Context switch code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ISR enter hook. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IRQ_PROLOGUE_HOOK() { \ |
|
||||||
/* IRQ prologue code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief ISR exit hook. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IRQ_EPILOGUE_HOOK() { \ |
|
||||||
/* IRQ epilogue code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread enter hook. |
|
||||||
* @note This hook is invoked within a critical zone, no OS functions |
|
||||||
* should be invoked from here. |
|
||||||
* @note This macro can be used to activate a power saving mode. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_ENTER_HOOK() { \ |
|
||||||
/* Idle-enter code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle thread leave hook. |
|
||||||
* @note This hook is invoked within a critical zone, no OS functions |
|
||||||
* should be invoked from here. |
|
||||||
* @note This macro can be used to deactivate a power saving mode. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_LEAVE_HOOK() { \ |
|
||||||
/* Idle-leave code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Idle Loop hook. |
|
||||||
* @details This hook is continuously invoked by the idle thread loop. |
|
||||||
*/ |
|
||||||
#define CH_CFG_IDLE_LOOP_HOOK() { \ |
|
||||||
/* Idle loop code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System tick event hook. |
|
||||||
* @details This hook is invoked in the system tick handler immediately |
|
||||||
* after processing the virtual timers queue. |
|
||||||
*/ |
|
||||||
#define CH_CFG_SYSTEM_TICK_HOOK() { \ |
|
||||||
/* System tick event code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief System halt hook. |
|
||||||
* @details This hook is invoked in case to a system halting error before |
|
||||||
* the system is halted. |
|
||||||
*/ |
|
||||||
#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \ |
|
||||||
/* System halt code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Trace hook. |
|
||||||
* @details This hook is invoked each time a new record is written in the |
|
||||||
* trace buffer. |
|
||||||
*/ |
|
||||||
#define CH_CFG_TRACE_HOOK(tep) { \ |
|
||||||
/* Trace code here.*/ \
|
|
||||||
} |
|
||||||
|
|
||||||
/** @} */ |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* Port-specific settings (override port settings defaulted in chcore.h). */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
#endif /* CHCONF_H */ |
|
||||||
|
|
||||||
/** @} */ |
|
@ -1,388 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @file templates/halconf.h |
|
||||||
* @brief HAL configuration header. |
|
||||||
* @details HAL configuration file, this file allows to enable or disable the |
|
||||||
* various device drivers from your application. You may also use |
|
||||||
* this file in order to override the device drivers default settings. |
|
||||||
* |
|
||||||
* @addtogroup HAL_CONF |
|
||||||
* @{ |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef HALCONF_H |
|
||||||
#define HALCONF_H |
|
||||||
|
|
||||||
#include "mcuconf.h" |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the PAL subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_PAL) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_PAL TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the ADC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_ADC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_ADC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the CAN subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_CAN) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_CAN FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the DAC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_DAC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_DAC TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the EXT subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_EXT) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_EXT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the GPT subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_GPT) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_GPT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the I2C subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_I2C) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_I2C TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the I2S subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_I2S) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_I2S FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the ICU subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_ICU) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_ICU FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the MAC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_MAC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_MAC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the MMC_SPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_MMC_SPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_MMC_SPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the PWM subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_PWM) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_PWM FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the QSPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_QSPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_QSPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the RTC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_RTC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_RTC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SDC subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SDC) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SDC FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SERIAL subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SERIAL FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SERIAL over USB subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SERIAL_USB FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the SPI subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_SPI) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_SPI FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the UART subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_UART) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_UART FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the USB subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_USB) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_USB TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the WDG subsystem. |
|
||||||
*/ |
|
||||||
#if !defined(HAL_USE_WDG) || defined(__DOXYGEN__) |
|
||||||
#define HAL_USE_WDG FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* ADC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define ADC_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* CAN driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sleep mode related APIs inclusion switch. |
|
||||||
*/ |
|
||||||
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__) |
|
||||||
#define CAN_USE_SLEEP_MODE TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* I2C driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the mutual exclusion APIs on the I2C bus. |
|
||||||
*/ |
|
||||||
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define I2C_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* MAC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets. |
|
||||||
*/ |
|
||||||
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__) |
|
||||||
#define MAC_USE_ZERO_COPY FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets. |
|
||||||
*/ |
|
||||||
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__) |
|
||||||
#define MAC_USE_EVENTS TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* MMC_SPI driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions. |
|
||||||
* @details If enabled this options inserts delays into the MMC waiting |
|
||||||
* routines releasing some extra CPU time for the threads with |
|
||||||
* lower priority, this may slow down the driver a bit however. |
|
||||||
* This option is recommended also if the SPI driver does not |
|
||||||
* use a DMA channel and heavily loads the CPU. |
|
||||||
*/ |
|
||||||
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__) |
|
||||||
#define MMC_NICE_WAITING TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SDC driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Number of initialization attempts before rejecting the card. |
|
||||||
* @note Attempts are performed at 10mS intervals. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__) |
|
||||||
#define SDC_INIT_RETRY 100 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Include support for MMC cards. |
|
||||||
* @note MMC support is not yet implemented so this option must be kept |
|
||||||
* at @p FALSE. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__) |
|
||||||
#define SDC_MMC_SUPPORT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions. |
|
||||||
* @details If enabled this options inserts delays into the MMC waiting |
|
||||||
* routines releasing some extra CPU time for the threads with |
|
||||||
* lower priority, this may slow down the driver a bit however. |
|
||||||
*/ |
|
||||||
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__) |
|
||||||
#define SDC_NICE_WAITING TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SERIAL driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Default bit rate. |
|
||||||
* @details Configuration parameter, this is the baud rate selected for the |
|
||||||
* default configuration. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_DEFAULT_BITRATE 38400 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial buffers size. |
|
||||||
* @details Configuration parameter, you can change the depth of the queue |
|
||||||
* buffers depending on the requirements of your application. |
|
||||||
* @note The default is 16 bytes for both the transmission and receive |
|
||||||
* buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_BUFFERS_SIZE 16 |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SERIAL_USB driver related setting. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial over USB buffers size. |
|
||||||
* @details Configuration parameter, the buffer size must be a multiple of |
|
||||||
* the USB data endpoint maximum packet size. |
|
||||||
* @note The default is 256 bytes for both the transmission and receive |
|
||||||
* buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1 |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial over USB number of buffers. |
|
||||||
* @note The default is 2 buffers. |
|
||||||
*/ |
|
||||||
#if !defined(SERIAL_USB_BUFFERS_NUMBER) || defined(__DOXYGEN__) |
|
||||||
#define SERIAL_USB_BUFFERS_NUMBER 2 |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* SPI driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define SPI_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define SPI_USE_MUTUAL_EXCLUSION TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* UART driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(UART_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define UART_USE_WAIT FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p uartAcquireBus() and @p uartReleaseBus() APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(UART_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__) |
|
||||||
#define UART_USE_MUTUAL_EXCLUSION FALSE |
|
||||||
#endif |
|
||||||
|
|
||||||
/*===========================================================================*/ |
|
||||||
/* USB driver related settings. */ |
|
||||||
/*===========================================================================*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs. |
|
||||||
* @note Disabling this option saves both code and data space. |
|
||||||
*/ |
|
||||||
#if !defined(USB_USE_WAIT) || defined(__DOXYGEN__) |
|
||||||
#define USB_USE_WAIT TRUE |
|
||||||
#endif |
|
||||||
|
|
||||||
#endif /* HALCONF_H */ |
|
||||||
|
|
||||||
/** @} */ |
|
@ -1,257 +0,0 @@ |
|||||||
/*
|
|
||||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio |
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License"); |
|
||||||
you may not use this file except in compliance with the License. |
|
||||||
You may obtain a copy of the License at |
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software |
|
||||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||||
See the License for the specific language governing permissions and |
|
||||||
limitations under the License. |
|
||||||
*/ |
|
||||||
|
|
||||||
#ifndef MCUCONF_H |
|
||||||
#define MCUCONF_H |
|
||||||
|
|
||||||
/*
|
|
||||||
* STM32F3xx drivers configuration. |
|
||||||
* The following settings override the default settings present in |
|
||||||
* the various device driver implementation headers. |
|
||||||
* Note that the settings for each driver only have effect if the whole |
|
||||||
* driver is enabled in halconf.h. |
|
||||||
* |
|
||||||
* IRQ priorities: |
|
||||||
* 15...0 Lowest...Highest. |
|
||||||
* |
|
||||||
* DMA priorities: |
|
||||||
* 0...3 Lowest...Highest. |
|
||||||
*/ |
|
||||||
|
|
||||||
#define STM32F3xx_MCUCONF |
|
||||||
|
|
||||||
/*
|
|
||||||
* HAL driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_NO_INIT FALSE |
|
||||||
#define STM32_PVD_ENABLE FALSE |
|
||||||
#define STM32_PLS STM32_PLS_LEV0 |
|
||||||
#define STM32_HSI_ENABLED TRUE |
|
||||||
#define STM32_LSI_ENABLED TRUE |
|
||||||
#define STM32_HSE_ENABLED TRUE |
|
||||||
#define STM32_LSE_ENABLED FALSE |
|
||||||
#define STM32_SW STM32_SW_PLL |
|
||||||
#define STM32_PLLSRC STM32_PLLSRC_HSE |
|
||||||
#define STM32_PREDIV_VALUE 1 |
|
||||||
#define STM32_PLLMUL_VALUE 9 |
|
||||||
#define STM32_HPRE STM32_HPRE_DIV1 |
|
||||||
#define STM32_PPRE1 STM32_PPRE1_DIV2 |
|
||||||
#define STM32_PPRE2 STM32_PPRE2_DIV2 |
|
||||||
#define STM32_MCOSEL STM32_MCOSEL_NOCLOCK |
|
||||||
#define STM32_ADC12PRES STM32_ADC12PRES_DIV1 |
|
||||||
#define STM32_ADC34PRES STM32_ADC34PRES_DIV1 |
|
||||||
#define STM32_USART1SW STM32_USART1SW_PCLK |
|
||||||
#define STM32_USART2SW STM32_USART2SW_PCLK |
|
||||||
#define STM32_USART3SW STM32_USART3SW_PCLK |
|
||||||
#define STM32_UART4SW STM32_UART4SW_PCLK |
|
||||||
#define STM32_UART5SW STM32_UART5SW_PCLK |
|
||||||
#define STM32_I2C1SW STM32_I2C1SW_SYSCLK |
|
||||||
#define STM32_I2C2SW STM32_I2C2SW_SYSCLK |
|
||||||
#define STM32_TIM1SW STM32_TIM1SW_PCLK2 |
|
||||||
#define STM32_TIM8SW STM32_TIM8SW_PCLK2 |
|
||||||
#define STM32_RTCSEL STM32_RTCSEL_LSI |
|
||||||
#define STM32_USB_CLOCK_REQUIRED TRUE |
|
||||||
#define STM32_USBPRE STM32_USBPRE_DIV1P5 |
|
||||||
|
|
||||||
#undef STM32_HSE_BYPASS |
|
||||||
// #error "oh no"
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ADC driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ADC_DUAL_MODE FALSE |
|
||||||
#define STM32_ADC_COMPACT_SAMPLES FALSE |
|
||||||
#define STM32_ADC_USE_ADC1 FALSE |
|
||||||
#define STM32_ADC_USE_ADC2 FALSE |
|
||||||
#define STM32_ADC_USE_ADC3 FALSE |
|
||||||
#define STM32_ADC_USE_ADC4 FALSE |
|
||||||
#define STM32_ADC_ADC1_DMA_STREAM STM32_DMA_STREAM_ID(1, 1) |
|
||||||
#define STM32_ADC_ADC2_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) |
|
||||||
#define STM32_ADC_ADC3_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) |
|
||||||
#define STM32_ADC_ADC4_DMA_STREAM STM32_DMA_STREAM_ID(2, 2) |
|
||||||
#define STM32_ADC_ADC1_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC2_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC3_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC4_DMA_PRIORITY 2 |
|
||||||
#define STM32_ADC_ADC12_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC3_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC4_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC1_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC2_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC3_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC4_DMA_IRQ_PRIORITY 5 |
|
||||||
#define STM32_ADC_ADC12_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 |
|
||||||
#define STM32_ADC_ADC34_CLOCK_MODE ADC_CCR_CKMODE_AHB_DIV1 |
|
||||||
|
|
||||||
/*
|
|
||||||
* CAN driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_CAN_USE_CAN1 FALSE |
|
||||||
#define STM32_CAN_CAN1_IRQ_PRIORITY 11 |
|
||||||
|
|
||||||
/*
|
|
||||||
* DAC driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_DAC_DUAL_MODE FALSE |
|
||||||
#define STM32_DAC_USE_DAC1_CH1 TRUE |
|
||||||
#define STM32_DAC_USE_DAC1_CH2 TRUE |
|
||||||
#define STM32_DAC_DAC1_CH1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_DAC_DAC1_CH2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_DAC_DAC1_CH1_DMA_PRIORITY 2 |
|
||||||
#define STM32_DAC_DAC1_CH2_DMA_PRIORITY 2 |
|
||||||
|
|
||||||
/*
|
|
||||||
* EXT driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_EXT_EXTI0_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI1_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI2_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI3_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI4_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI5_9_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI10_15_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI16_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI17_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI18_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI19_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI20_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI21_22_29_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI30_32_IRQ_PRIORITY 6 |
|
||||||
#define STM32_EXT_EXTI33_IRQ_PRIORITY 6 |
|
||||||
|
|
||||||
/*
|
|
||||||
* GPT driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_GPT_USE_TIM1 FALSE |
|
||||||
#define STM32_GPT_USE_TIM2 FALSE |
|
||||||
#define STM32_GPT_USE_TIM3 FALSE |
|
||||||
#define STM32_GPT_USE_TIM4 FALSE |
|
||||||
#define STM32_GPT_USE_TIM6 TRUE |
|
||||||
#define STM32_GPT_USE_TIM7 TRUE |
|
||||||
#define STM32_GPT_USE_TIM8 TRUE |
|
||||||
#define STM32_GPT_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM6_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM7_IRQ_PRIORITY 7 |
|
||||||
#define STM32_GPT_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* I2C driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_I2C_USE_I2C1 TRUE |
|
||||||
#define STM32_I2C_USE_I2C2 FALSE |
|
||||||
#define STM32_I2C_BUSY_TIMEOUT 50 |
|
||||||
#define STM32_I2C_I2C1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_I2C_I2C2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_I2C_USE_DMA TRUE |
|
||||||
#define STM32_I2C_I2C1_DMA_PRIORITY 1 |
|
||||||
#define STM32_I2C_I2C2_DMA_PRIORITY 1 |
|
||||||
#define STM32_I2C_DMA_ERROR_HOOK(i2cp) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* ICU driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ICU_USE_TIM1 FALSE |
|
||||||
#define STM32_ICU_USE_TIM2 FALSE |
|
||||||
#define STM32_ICU_USE_TIM3 FALSE |
|
||||||
#define STM32_ICU_USE_TIM4 FALSE |
|
||||||
#define STM32_ICU_USE_TIM8 FALSE |
|
||||||
#define STM32_ICU_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_ICU_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* PWM driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_PWM_USE_ADVANCED FALSE |
|
||||||
#define STM32_PWM_USE_TIM1 FALSE |
|
||||||
#define STM32_PWM_USE_TIM2 FALSE |
|
||||||
#define STM32_PWM_USE_TIM3 FALSE |
|
||||||
#define STM32_PWM_USE_TIM4 FALSE |
|
||||||
#define STM32_PWM_USE_TIM8 FALSE |
|
||||||
#define STM32_PWM_TIM1_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM2_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM3_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM4_IRQ_PRIORITY 7 |
|
||||||
#define STM32_PWM_TIM8_IRQ_PRIORITY 7 |
|
||||||
|
|
||||||
/*
|
|
||||||
* SERIAL driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_SERIAL_USE_USART1 FALSE |
|
||||||
#define STM32_SERIAL_USE_USART2 FALSE |
|
||||||
#define STM32_SERIAL_USE_USART3 FALSE |
|
||||||
#define STM32_SERIAL_USE_UART4 FALSE |
|
||||||
#define STM32_SERIAL_USE_UART5 FALSE |
|
||||||
#define STM32_SERIAL_USART1_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_USART2_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_USART3_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_UART4_PRIORITY 12 |
|
||||||
#define STM32_SERIAL_UART5_PRIORITY 12 |
|
||||||
|
|
||||||
/*
|
|
||||||
* SPI driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_SPI_USE_SPI1 FALSE |
|
||||||
#define STM32_SPI_USE_SPI2 FALSE |
|
||||||
#define STM32_SPI_USE_SPI3 FALSE |
|
||||||
#define STM32_SPI_SPI1_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI2_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI3_DMA_PRIORITY 1 |
|
||||||
#define STM32_SPI_SPI1_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_SPI2_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_SPI3_IRQ_PRIORITY 10 |
|
||||||
#define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* ST driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_ST_IRQ_PRIORITY 8 |
|
||||||
#define STM32_ST_USE_TIMER 2 |
|
||||||
|
|
||||||
/*
|
|
||||||
* UART driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_UART_USE_USART1 FALSE |
|
||||||
#define STM32_UART_USE_USART2 FALSE |
|
||||||
#define STM32_UART_USE_USART3 FALSE |
|
||||||
#define STM32_UART_USART1_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART2_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART3_IRQ_PRIORITY 12 |
|
||||||
#define STM32_UART_USART1_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_USART2_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_USART3_DMA_PRIORITY 0 |
|
||||||
#define STM32_UART_DMA_ERROR_HOOK(uartp) osalSysHalt("DMA failure") |
|
||||||
|
|
||||||
/*
|
|
||||||
* USB driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_USB_USE_USB1 TRUE |
|
||||||
#define STM32_USB_LOW_POWER_ON_SUSPEND FALSE |
|
||||||
#define STM32_USB_USB1_HP_IRQ_PRIORITY 13 |
|
||||||
#define STM32_USB_USB1_LP_IRQ_PRIORITY 14 |
|
||||||
|
|
||||||
/*
|
|
||||||
* WDG driver system settings. |
|
||||||
*/ |
|
||||||
#define STM32_WDG_USE_IWDG FALSE |
|
||||||
|
|
||||||
#endif /* MCUCONF_H */ |
|
Loading…
Reference in new issue