| modm API documentation
    | 
| Classes | |
| class | modm::PeripheralDriver | 
| #define | MODM_COMPILER_STRING | 
| Compiler description string. | |
| #define | MODM_COMPILER_GCC | 
| Compiling with GCC. | |
| #define | MODM_COMPILER_MINGW | 
| Compiling with GCC on Windows. | |
| #define | MODM_OS_STRING | 
| Operating system description string. | |
| #define | MODM_OS_UNIX | 
| Compiling for a UNIX target. | |
| #define | MODM_OS_LINUX | 
| Compiling for a Linux target. | |
| #define | MODM_OS_OSX | 
| Compiling for a macOS target. | |
| #define | MODM_OS_WIN32 | 
| Compiling for a Windows 32-bit target. | |
| #define | MODM_OS_WIN64 | 
| Compiling for a Windows 64-bit target. | |
| #define | MODM_OS_HOSTED | 
| Compiling for a hosted (non-barebone) target. | |
| #define | MODM_OS_NONE | 
| Compiling for a barebone target without OS. | |
| #define | MODM_CPU_STRING | 
| CPU description string. | |
| #define | MODM_CPU_AMD64 | 
| Compiling for x86-64 target. | |
| #define | MODM_CPU_I386 | 
| Compiling for x86 target. | |
| #define | MODM_CPU_AVR | 
| Compiling for AVR target. | |
| #define | MODM_CPU_ATMEGA | 
| Compiling for AVR ATmega target. | |
| #define | MODM_CPU_ATTINY | 
| Compiling for AVR ATtiny target. | |
| #define | MODM_CPU_ARM | 
| Compiling for ARM target. | |
| #define | MODM_CPU_CORTEX_M0 | 
| Compiling for ARM Cortex-M0 or Cortex-M0+ target. | |
| #define | MODM_CPU_CORTEX_M3 | 
| Compiling for ARM Cortex-M3 target. | |
| #define | MODM_CPU_CORTEX_M4 | 
| Compiling for ARM Cortex-M4 or Cortex-M7 target. | |
| #define | MODM_CPU_CORTEX_M33 | 
| Compiling for ARM Cortex-M33 target. | |
| #define | MODM_CPU_AARCH64 | 
| Compiling for ARM AArch64 target. | |
| #define | MODM_ALIGNMENT | 
| Native memory alignment in bytes. | |
| #define | MODM_IS_LITTLE_ENDIAN | 
| Compiling for a little endian memory layout. | |
| #define | MODM_IS_BIG_ENDIAN | 
| Compiling for a big endian memory layout. | |
| #define | MODM_SIZEOF_POINTER | 
| Size of pointer in bytes. | |
| #define | MODM_DEBUG_BUILD | 
| Only defined in debug profile. | |
| #define | MODM_STRINGIFY(s) #s | 
| Convert the argument into a C-String. | |
| #define | MODM_CONCAT(a, b) a ## b | 
| Concatenate two arguments. | |
| #define | MODM_CONCAT3(a, b, c) a ## b ## c | 
| Concatenate three arguments. | |
| #define | MODM_CONCAT4(a, b, c, d) a ## b ## c ## d | 
| Concatenate four arguments. | |
| #define | MODM_CONCAT5(a, b, c, d, e) a ## b ## c ## d ## e | 
| Concatenate five arguments. | |
| #define | MODM_ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) | 
| Compute the size of a static (!) array. | |
| #define | MODM_IMPORT_BINARY(name, file, section) | 
| #define | modm_always_inline | 
| #define | modm_noinline | 
| #define | modm_unused | 
| #define | modm_weak | 
| Causes the declaration to be emitted as a weak symbol rather than a global. | |
| #define | modm_aligned(n) | 
| Specifies a minimum alignment for the function, measured in bytes. | |
| #define | modm_packed | 
| Specifies that a variable or structure field should have the smallest possible alignment. | |
| #define | modm_section(s) | 
| Specifies that a variable (or function) lives in a particular section. | |
| #define | modm_deprecated(msg) | 
| #define | modm_naked | 
| Tells the compiler to not generate prologue/epilogue code for this function. | |
| #define | modm_noreturn | 
| #define | modm_fastcode | 
| #define | modm_fastdata | 
| #define | modm_faststack | 
| #define | modm_likely(x) (x) | 
| #define | modm_unlikely(x) (x) | 
| #define | modm_fallthrough | 
lbuild module: modm:architecture
All hardware peripherals with common interfaces.
| #define modm_always_inline | 
Force inlining on functions if absolutely necessary (it rarely is).
| #define modm_deprecated | 
Marks a declaration as deprecated and displays a message.
[[deprecated(msg)]] in a C++ context instead. | #define modm_fallthrough | 
Mark a case statement as fallthrough.
[[fallthrough]] in a C++ context instead. | #define modm_fastcode | 
Places a function in the fastest executable memory: instruction cache, core coupled memory or SRAM as fallback.
| #define modm_fastdata | 
Places a variable in the fastest accessible memory: data cache, core coupled memory or SRAM as fallback.
| #define modm_faststack | 
Places an array into the fastest accessible memory with DMA access: data cache, core coupled memory or SRAM as fallback.
| #define MODM_IMPORT_BINARY | 
Include a binary file into a specific section (usually ".rodata"). Access via extern "C" uint8_t {{name}}[]; extern "C" uint8_t {{name}}_length[];. 
| #define modm_likely(x) (x) | 
This branch is more likely to execute.
[[likely]] in a C++ context instead. | #define modm_noinline | 
Specifies that a function should never be inlined.
[[noinline]] in a C++ context instead. | #define modm_noreturn | 
Tells the compiler that the function never returns.
[[noreturn]] in a C++ context instead. | #define modm_unlikely(x) (x) | 
This branch is less likely to execute.
[[unlikely]] in a C++ context instead. | #define modm_unused | 
Attached to a variable or a function this means that it is meant to be possibly unused.
[[maybe_unused]] in a C++ context instead.