Lazuli
config_static_analysis.h
Go to the documentation of this file.
1 /*
2  * SPDX-License-Identifier: GPL-3.0-only
3  * This file is part of Lazuli.
4  */
5 
26 #ifndef LAZULI_CONFIG_STATIC_ANALYSIS_H
27 #define LAZULI_CONFIG_STATIC_ANALYSIS_H
28 
29 #include <Lazuli/common.h>
30 #include <Lazuli/lazuli.h>
31 
35 extern const char * const LZ_VERSION;
36 
40 extern const int LZ_VERSION_MAJOR;
41 
45 extern const int LZ_VERSION_MINOR;
46 
50 extern const int LZ_VERSION_PATCH;
51 
55 extern const size_t LZ_CONFIG_BREAK_STACK_GAP;
56 
60 extern const unsigned int LZ_CONFIG_MACHINE_CLOCK_FREQUENCY;
61 
65 extern const unsigned int LZ_CONFIG_SYSTEM_CLOCK_RESOLUTION_FREQUENCY;
66 
72 extern const bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP;
73 
79 extern const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET;
80 
84 extern const size_t LZ_CONFIG_DEFAULT_TASK_STACK_SIZE;
85 
90 
100 
108 
113 extern const bool LZ_CONFIG_ON_IDLE_SLEEP;
114 
118 #define LZ_CONFIG_SERIAL_NEWLINE "\r\n"
119 
125 extern const size_t LZ_CONFIG_IDLE_TASK_STACK_SIZE;
126 
137 extern const bool LZ_CONFIG_IDLE_TASK_HAS_NAME;
138 
143 extern const char * const LZ_CONFIG_IDLE_TASK_NAME;
144 
148 extern const bool LZ_CONFIG_INSTRUMENT_CONTEXT_SWITCHES;
149 
164 
179 
193 
203 
209 extern const bool LZ_CONFIG_SERIAL_USE_INTERRUPTS;
210 
221 extern const bool LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE;
222 
227 
232 
237 
241 extern const bool LZ_CONFIG_AVR_SLEEP_WITH_STANDBY_MODE;
242 
247 
253 /*
254  * Declared in the same order as CMakeLists.txt.
255  */
256 
260 extern const bool LZ_CONFIG_MODULE_CLOCK_24_USED;
261 
265 extern const bool LZ_CONFIG_MODULE_MUTEX_USED;
266 
270 extern const bool LZ_CONFIG_MODULE_SERIAL_USED;
271 
275 extern const bool LZ_CONFIG_MODULE_SPINLOCK_USED;
276 
281 
286 
289 #endif /* LAZULI_CONFIG_STATIC_ANALYSIS_H */
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_MUTEXES
When 1, always check for NULL functions parameters in mutexes implementation.
const bool LZ_CONFIG_INSTRUMENT_CONTEXT_SWITCHES
When set, add instrumentation code to measure context switches.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SPINLOCKS
When 1, always check for NULL functions parameters in spinlocks implementation.
const lz_task_priority_t LZ_CONFIG_DEFAULT_TASK_PRIORITY
Default priority for a new task.
const bool LZ_CONFIG_IDLE_TASK_HAS_NAME
Configure if the idle task must have a name.
const int LZ_VERSION_PATCH
The Lazuli kernel PATCH version number.
const bool LZ_CONFIG_MODULE_MUTEX_USED
Use module "mutex": Mutexes implementation.
const bool LZ_CONFIG_AVR_SLEEP_WITH_STANDBY_MODE
Enter "Standby Mode" when sleeping.
const bool LZ_CONFIG_MODULE_CLOCK_24_USED
Use module "clock_24": Implement a 24-Hour clock in the kernel.
uint8_t LZ_CONFIG_AVR_INSTRUMENT_POSITION
The position in the port used for instrumentation on AVR machines.
const unsigned int LZ_CONFIG_SYSTEM_CLOCK_RESOLUTION_FREQUENCY
The operating system clock resolution frequency, in Hertz.
The public API of the Lazuli kernel.
const bool LZ_CONFIG_CHECK_INTERRUPT_CODE_OVER_LAST_ENTRY
When 1, check if the interrupt code sent by the ASM interrupt handler to the base scheduler interrupt...
const bool LZ_CONFIG_AVR_SLEEP_WITH_ADC_NOISE_REDUCTION_MODE
Enter "ADC Noise Reduction Mode" when sleeping.
const size_t LZ_CONFIG_DEFAULT_TASK_STACK_SIZE
Default stack size in bytes for a new task.
const size_t LZ_CONFIG_BREAK_STACK_GAP
Size in bytes of the security gap between the break and the stack pointer.
unsigned int uint16_t
Represents a unsigned integer type with width of exactly 16 bits.
Definition: stdint.h:94
const bool LZ_CONFIG_AVR_SLEEP_WITH_EXTENDED_STANDBY_MODE
Enter "Extended Standby Mode" when sleeping.
const int LZ_VERSION_MINOR
The Lazuli kernel MINOR version number.
const char *const LZ_VERSION
The Lazuli kernel version as a string, defined as MAJOR.MINOR.PATCH.
const bool LZ_CONFIG_MODULE_SPINLOCK_USED
Use module "spinlock": Spinlocks implementation.
const bool LZ_CONFIG_MODULE_SERIAL_USED
Use module "serial": Serial interface configuration.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_SERIAL
When 1, always check for NULL functions parameters in serial API.
const int LZ_VERSION_MAJOR
The Lazuli kernel MAJOR version number.
unsigned char uint8_t
Represents a unsigned integer type with width of exactly 8 bits.
Definition: stdint.h:89
const bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP
When 1, run an infinite loop on kernel panic.
const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET
When 1, perform a software reset on kernel panic.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_LISTS
When 1, always check for NULL functions parameters in linked lists implementation.
const bool LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE
Enter "Idle Mode" when sleeping.
const bool LZ_CONFIG_CHECK_WRONG_ENUM_ENTRIES_IN_SERIAL
When 1, check for enum parameters that are over the admissible values defined by the enum...
const bool LZ_CONFIG_AVR_SLEEP_WITH_POWER_DOWN_MODE
Enter "Power-down Mode" when sleeping.
Basic type definitions and useful macros.
uint16_t LZ_CONFIG_AVR_INSTRUMENT_PORT
The port used for instrumentation on AVR machines.
const bool LZ_CONFIG_ON_IDLE_SLEEP
When 1, put the CPU to sleep when it&#39;s idle.
int8_t lz_task_priority_t
Represents the priority of a task, as a signed integer.
Definition: lazuli.h:30
const size_t LZ_CONFIG_IDLE_TASK_STACK_SIZE
The stack size in bytes of the scheduler idle task.
const bool LZ_CONFIG_AVR_SLEEP_WITH_POWER_SAVE_MODE
Enter "Power-save Mode" when sleeping.
const unsigned int LZ_CONFIG_MACHINE_CLOCK_FREQUENCY
The clock frequency of the machine, in Hertz.
const bool LZ_CONFIG_SERIAL_USE_INTERRUPTS
When 1, serial input and output will use interrupt blocking.
const char *const LZ_CONFIG_IDLE_TASK_NAME
The name of the idle task.