diff options
Diffstat (limited to 'keyboards/xelus/kangaroo/chconf.h')
| -rw-r--r-- | keyboards/xelus/kangaroo/chconf.h | 721 | 
1 files changed, 26 insertions, 695 deletions
| diff --git a/keyboards/xelus/kangaroo/chconf.h b/keyboards/xelus/kangaroo/chconf.h index 03f63da36a..3457d3bb61 100644 --- a/keyboards/xelus/kangaroo/chconf.h +++ b/keyboards/xelus/kangaroo/chconf.h @@ -1,714 +1,45 @@ -/* -    ChibiOS - Copyright (C) 2006..2018 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    rt/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_ -#define _CHIBIOS_RT_CONF_VER_6_0_ - -/*===========================================================================*/ -/** - * @name System timers settings - * @{ - */ -/*===========================================================================*/ - -/** - * @brief   System time counter resolution. - * @note    Allowed values are 16 or 32 bits. - */ -#if !defined(CH_CFG_ST_RESOLUTION) -#define CH_CFG_ST_RESOLUTION                32 -#endif - -/** - * @brief   System tick frequency. - * @details Frequency of the system timer that drives the system ticks. This - *          setting also defines the system tick time unit. - */ -#if !defined(CH_CFG_ST_FREQUENCY) -#define CH_CFG_ST_FREQUENCY                 10000 -#endif - -/** - * @brief   Time intervals data size. - * @note    Allowed values are 16, 32 or 64 bits. - */ -#if !defined(CH_CFG_INTERVALS_SIZE) -#define CH_CFG_INTERVALS_SIZE               32 -#endif - -/** - * @brief   Time types data size. - * @note    Allowed values are 16 or 32 bits. - */ -#if !defined(CH_CFG_TIME_TYPES_SIZE) -#define CH_CFG_TIME_TYPES_SIZE              32 -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_ST_TIMEDELTA) -#define CH_CFG_ST_TIMEDELTA                 2 -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @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. - */ -#if !defined(CH_CFG_TIME_QUANTUM) -#define CH_CFG_TIME_QUANTUM                 0 -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_MEMCORE_SIZE) -#define CH_CFG_MEMCORE_SIZE                 0 -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_NO_IDLE_THREAD) -#define CH_CFG_NO_IDLE_THREAD               FALSE -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @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. - */ -#if !defined(CH_CFG_OPTIMIZE_SPEED) -#define CH_CFG_OPTIMIZE_SPEED               FALSE -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @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. - */ -#if !defined(CH_CFG_USE_TM) -#define CH_CFG_USE_TM                       FALSE -#endif - -/** - * @brief   Threads registry APIs. - * @details If enabled then the registry APIs are included in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_REGISTRY) -#define CH_CFG_USE_REGISTRY                 TRUE -#endif - -/** - * @brief   Threads synchronization APIs. - * @details If enabled then the @p chThdWait() function is included in - *          the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_WAITEXIT) -#define CH_CFG_USE_WAITEXIT                 TRUE -#endif - -/** - * @brief   Semaphores APIs. - * @details If enabled then the Semaphores APIs are included in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_SEMAPHORES) -#define CH_CFG_USE_SEMAPHORES               TRUE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY) -#define CH_CFG_USE_SEMAPHORES_PRIORITY      FALSE -#endif - -/** - * @brief   Mutexes APIs. - * @details If enabled then the mutexes APIs are included in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_MUTEXES) -#define CH_CFG_USE_MUTEXES                  TRUE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE) -#define CH_CFG_USE_MUTEXES_RECURSIVE        FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_CONDVARS) -#define CH_CFG_USE_CONDVARS                 TRUE -#endif - -/** - * @brief   Conditional Variables APIs with timeout. - * @details If enabled then the conditional variables APIs with timeout - *          specification are included in the kernel. +/* Copyright 2020 QMK   * - * @note    The default is @p TRUE. - * @note    Requires @p CH_CFG_USE_CONDVARS. - */ -#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT) -#define CH_CFG_USE_CONDVARS_TIMEOUT         FALSE -#endif - -/** - * @brief   Events Flags APIs. - * @details If enabled then the event flags APIs are included in the kernel. + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version.   * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_EVENTS) -#define CH_CFG_USE_EVENTS                   TRUE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_EVENTS_TIMEOUT) -#define CH_CFG_USE_EVENTS_TIMEOUT           TRUE -#endif - -/** - * @brief   Synchronous Messages APIs. - * @details If enabled then the synchronous messages APIs are included - *          in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_MESSAGES) -#define CH_CFG_USE_MESSAGES                 TRUE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_MESSAGES_PRIORITY) -#define CH_CFG_USE_MESSAGES_PRIORITY        FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_MAILBOXES) -#define CH_CFG_USE_MAILBOXES                TRUE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_MEMCORE) -#define CH_CFG_USE_MEMCORE                  TRUE -#endif - -/** - * @brief   Heap Allocator APIs. - * @details If enabled then the memory heap allocator APIs are included - *          in the kernel. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details.   * - * @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. + * You should have received a copy of the GNU General Public License + * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ -#if !defined(CH_CFG_USE_HEAP) -#define CH_CFG_USE_HEAP                     FALSE -#endif -/** - * @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. - */ -#if !defined(CH_CFG_USE_MEMPOOLS) -#define CH_CFG_USE_MEMPOOLS                 FALSE -#endif - -/** - * @brief   Objects FIFOs APIs. - * @details If enabled then the objects FIFOs APIs are included - *          in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_OBJ_FIFOS) -#define CH_CFG_USE_OBJ_FIFOS                FALSE -#endif - -/** - * @brief   Pipes APIs. - * @details If enabled then the pipes APIs are included - *          in the kernel. - * - * @note    The default is @p TRUE. - */ -#if !defined(CH_CFG_USE_PIPES) -#define CH_CFG_USE_PIPES                    FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_CFG_USE_DYNAMIC) -#define CH_CFG_USE_DYNAMIC                  FALSE -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @name Objects factory options - * @{ - */ -/*===========================================================================*/ - -/** - * @brief   Objects Factory APIs. - * @details If enabled then the objects factory APIs are included in the - *          kernel. - * - * @note    The default is @p FALSE. - */ -#if !defined(CH_CFG_USE_FACTORY) -#define CH_CFG_USE_FACTORY                  FALSE -#endif - -/** - * @brief   Maximum length for object names. - * @details If the specified length is zero then the name is stored by - *          pointer but this could have unintended side effects. - */ -#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH) -#define CH_CFG_FACTORY_MAX_NAMES_LENGTH     8 -#endif - -/** - * @brief   Enables the registry of generic objects. - */ -#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY) -#define CH_CFG_FACTORY_OBJECTS_REGISTRY     FALSE -#endif - -/** - * @brief   Enables factory for generic buffers. - */ -#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS) -#define CH_CFG_FACTORY_GENERIC_BUFFERS      FALSE -#endif - -/** - * @brief   Enables factory for semaphores. - */ -#if !defined(CH_CFG_FACTORY_SEMAPHORES) -#define CH_CFG_FACTORY_SEMAPHORES           FALSE -#endif - -/** - * @brief   Enables factory for mailboxes. - */ -#if !defined(CH_CFG_FACTORY_MAILBOXES) -#define CH_CFG_FACTORY_MAILBOXES            FALSE -#endif - -/** - * @brief   Enables factory for objects FIFOs. - */ -#if !defined(CH_CFG_FACTORY_OBJ_FIFOS) -#define CH_CFG_FACTORY_OBJ_FIFOS            FALSE -#endif - -/** - * @brief   Enables factory for Pipes. - */ -#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__) -#define CH_CFG_FACTORY_PIPES                FALSE -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @name Debug options - * @{ - */ -/*===========================================================================*/ - -/** - * @brief   Debug option, kernel statistics. - * - * @note    The default is @p FALSE. - */ -#if !defined(CH_DBG_STATISTICS) -#define CH_DBG_STATISTICS                   FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_SYSTEM_STATE_CHECK) -#define CH_DBG_SYSTEM_STATE_CHECK           FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_ENABLE_CHECKS) -#define CH_DBG_ENABLE_CHECKS                FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_ENABLE_ASSERTS) -#define CH_DBG_ENABLE_ASSERTS               FALSE -#endif - -/** - * @brief   Debug option, trace buffer. - * @details If enabled then the trace buffer is activated. - * - * @note    The default is @p CH_DBG_TRACE_MASK_DISABLED. - */ -#if !defined(CH_DBG_TRACE_MASK) -#define CH_DBG_TRACE_MASK                   CH_DBG_TRACE_MASK_DISABLED -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_TRACE_BUFFER_SIZE) -#define CH_DBG_TRACE_BUFFER_SIZE            128 -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_ENABLE_STACK_CHECK) -#define CH_DBG_ENABLE_STACK_CHECK           FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_FILL_THREADS) -#define CH_DBG_FILL_THREADS                 FALSE -#endif - -/** - * @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. - */ -#if !defined(CH_DBG_THREADS_PROFILING) -#define CH_DBG_THREADS_PROFILING            FALSE -#endif - -/** @} */ - -/*===========================================================================*/ -/** - * @name Kernel hooks - * @{ - */ -/*===========================================================================*/ - -/** - * @brief   System structure extension. - * @details User fields added to the end of the @p ch_system_t structure. - */ -#define CH_CFG_SYSTEM_EXTRA_FIELDS                                          \ -  /* Add threads custom fields here.*/ - -/** - * @brief   System initialization hook. - * @details User initialization code added to the @p chSysInit() function - *          just before interrupts are enabled globally. - */ -#define CH_CFG_SYSTEM_INIT_HOOK() {                                         \ -  /* Add threads initialization code here.*/                                \ -} - -/** - * @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 _thread_init() function. - * - * @note    It is invoked from within @p _thread_init() 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. +/* + * This file was auto-generated by: + *    `qmk chibios-confupdate -i keyboards/xelus/kangaroo/chconf.h -r platforms/chibios/common/configs/chconf.h`   */ -#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.*/                                            \ -} +#pragma once -/** - * @brief   ISR enter hook. - */ -#define CH_CFG_IRQ_PROLOGUE_HOOK() {                                        \ -  /* IRQ prologue code here.*/                                              \ -} +#define CH_CFG_ST_FREQUENCY 10000 -/** - * @brief   ISR exit hook. - */ -#define CH_CFG_IRQ_EPILOGUE_HOOK() {                                        \ -  /* IRQ epilogue code here.*/                                              \ -} +#define CH_CFG_OPTIMIZE_SPEED FALSE -/** - * @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.*/                                                \ -} +#define CH_CFG_USE_TM FALSE -/** - * @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.*/                                                \ -} +#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE -/** - * @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.*/                                                 \ -} +#define CH_CFG_USE_MEMCORE TRUE -/** - * @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.*/                                         \ -} +#define CH_CFG_USE_HEAP FALSE -/** - * @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.*/                                               \ -} +#define CH_CFG_USE_MEMPOOLS FALSE -/** - * @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.*/                                                     \ -} +#define CH_CFG_USE_OBJ_FIFOS FALSE -/** @} */ +#define CH_CFG_USE_PIPES FALSE -/*===========================================================================*/ -/* Port-specific settings (override port settings defaulted in chcore.h).    */ -/*===========================================================================*/ +#define CH_CFG_USE_DYNAMIC FALSE -#endif  /* CHCONF_H */ +#include_next <chconf.h> -/** @} */ | 
