Lazuli
Loading...
Searching...
No Matches
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
35extern const char * const LZ_VERSION;
36
40extern const int LZ_VERSION_MAJOR;
41
45extern const int LZ_VERSION_MINOR;
46
50extern const int LZ_VERSION_PATCH;
51
55extern const size_t LZ_CONFIG_BREAK_STACK_GAP;
56
60extern const unsigned int LZ_CONFIG_MACHINE_CLOCK_FREQUENCY;
61
65extern const unsigned int LZ_CONFIG_SYSTEM_CLOCK_RESOLUTION_FREQUENCY;
66
72extern const bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP;
73
79extern const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET;
80
84extern const size_t LZ_CONFIG_DEFAULT_TASK_STACK_SIZE;
85
90
100
108
113extern const bool LZ_CONFIG_ON_IDLE_SLEEP;
114
118#define LZ_CONFIG_SERIAL_NEWLINE "\r\n"
119
125extern const size_t LZ_CONFIG_IDLE_TASK_STACK_SIZE;
126
137extern const bool LZ_CONFIG_IDLE_TASK_HAS_NAME;
138
143extern const char * const LZ_CONFIG_IDLE_TASK_NAME;
144
149
164
179
193
203
209extern const bool LZ_CONFIG_SERIAL_USE_INTERRUPTS;
210
221extern const bool LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE;
222
227
232
237
242
247
253/*
254 * Declared in the same order as CMakeLists.txt.
255 */
256
260extern const bool LZ_CONFIG_MODULE_CLOCK_24_USED;
261
265extern const bool LZ_CONFIG_MODULE_MUTEX_USED;
266
270extern const bool LZ_CONFIG_MODULE_SERIAL_USED;
271
275extern const bool LZ_CONFIG_MODULE_SPINLOCK_USED;
276
281
286
289#endif /* LAZULI_CONFIG_STATIC_ANALYSIS_H */
unsigned int uint16_t
Represents a unsigned integer type with width of exactly 16 bits.
Definition stdint.h:94
unsigned char uint8_t
Represents a unsigned integer type with width of exactly 8 bits.
Definition stdint.h:89
Basic type definitions and useful macros.
uint8_t LZ_CONFIG_AVR_INSTRUMENT_POSITION
The position in the port used for instrumentation on AVR machines.
const bool LZ_CONFIG_CHECK_NULL_PARAMETERS_IN_MUTEXES
When 1, always check for NULL functions parameters in mutexes implementation.
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_CHECK_NULL_PARAMETERS_IN_SERIAL
When 1, always check for NULL functions parameters in serial API.
const bool LZ_CONFIG_AVR_SLEEP_WITH_IDLE_MODE
Enter "Idle Mode" when sleeping.
const bool LZ_CONFIG_AVR_SLEEP_WITH_POWER_SAVE_MODE
Enter "Power-save Mode" when sleeping.
const size_t LZ_CONFIG_BREAK_STACK_GAP
Size in bytes of the security gap between the break and the stack pointer.
const lz_task_priority_t LZ_CONFIG_DEFAULT_TASK_PRIORITY
Default priority for a new task.
const bool LZ_CONFIG_AVR_SLEEP_WITH_ADC_NOISE_REDUCTION_MODE
Enter "ADC Noise Reduction Mode" when sleeping.
const bool LZ_CONFIG_SERIAL_USE_INTERRUPTS
When 1, serial input and output will use interrupt blocking.
const bool LZ_CONFIG_AVR_SLEEP_WITH_STANDBY_MODE
Enter "Standby Mode" when sleeping.
const bool LZ_CONFIG_ON_IDLE_SLEEP
When 1, put the CPU to sleep when it's idle.
const bool LZ_CONFIG_IDLE_TASK_HAS_NAME
Configure if the idle task must have a name.
const bool LZ_CONFIG_MODULE_SERIAL_USED
Use module "serial": Serial interface configuration.
const bool LZ_CONFIG_MODULE_SPINLOCK_USED
Use module "spinlock": Spinlocks implementation.
const int LZ_VERSION_MAJOR
The Lazuli kernel MAJOR version number.
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_MODULE_CLOCK_24_USED
Use module "clock_24": Implement a 24-Hour clock in the kernel.
const bool LZ_CONFIG_MODULE_MUTEX_USED
Use module "mutex": Mutexes implementation.
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_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 bool LZ_CONFIG_ON_PANIC_INFINITE_LOOP
When 1, run an infinite loop on kernel panic.
const bool LZ_CONFIG_AVR_SLEEP_WITH_POWER_DOWN_MODE
Enter "Power-down Mode" when sleeping.
const unsigned int LZ_CONFIG_MACHINE_CLOCK_FREQUENCY
The clock frequency of the machine, in Hertz.
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_EXTENDED_STANDBY_MODE
Enter "Extended Standby Mode" when sleeping.
const bool LZ_CONFIG_ON_PANIC_SOFTWARE_RESET
When 1, perform a software reset on kernel panic.
const size_t LZ_CONFIG_DEFAULT_TASK_STACK_SIZE
Default stack size in bytes for a new task.
const size_t LZ_CONFIG_IDLE_TASK_STACK_SIZE
The stack size in bytes of the scheduler idle task.
const char *const LZ_CONFIG_IDLE_TASK_NAME
The name of the idle task.
const int LZ_VERSION_PATCH
The Lazuli kernel PATCH version number.
const unsigned int LZ_CONFIG_SYSTEM_CLOCK_RESOLUTION_FREQUENCY
The operating system clock resolution frequency, in Hertz.
uint16_t LZ_CONFIG_AVR_INSTRUMENT_PORT
The port used for instrumentation on AVR machines.
The public API of the Lazuli kernel.
int8_t lz_task_priority_t
Represents the priority of a task, as a signed integer.
Definition lazuli.h:30