foxBMS - Unit Tests  1.2.0
The foxBMS Unit Tests API Documentation
general.h File Reference

General macros and definitions for the whole platform. More...

#include "HL_sys_common.h"
#include "fassert.h"
#include "fstd_types.h"
#include <stdbool.h>
#include <stdint.h>
Include dependency graph for general.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define LARGEST_PIN_NUMBER   (31u)
 largest pin number that exists in TMS570LC4357 More...
 
#define ADC_ADC1_MAX_NR_CHANNELS   (32U)
 maximum number of channels measured by the ADC1 More...
 
#define SETBIT(register, bit)   ((register) |= (uint32)((uint32)1U << (bit)))
 sets a bit to 1u More...
 
#define CLEARBIT(register, bit)   ((register) &= ~(uint32)((uint32)1U << (bit)))
 clears a bit to 0u More...
 
#define must_check_return   __attribute__((warn_unused_result))
 Allows functions to generate warnings in GCC for unused returns. More...
 
#define always_inline   __attribute__((always_inline))
 
#define UNIT_TEST_WEAK_IMPL   __attribute__((weak))
 
#define REPEAT_MAXIMUM_REPETITIONS   (99u)
 
#define REPEAT_U(x, n)   REPEAT_Ux(x, n)
 Macro that helps to generate a series of literals (for array initializers). More...
 
#define STRIP(x)   STRIP_PARENS(GET_ARGS x)
 
#define REPEAT_U1u(x)   (x)
 
#define REPEAT_U2u(x)   REPEAT_U1u(x), (x)
 
#define REPEAT_U3u(x)   REPEAT_U2u(x), (x)
 
#define REPEAT_U4u(x)   REPEAT_U3u(x), (x)
 
#define REPEAT_U5u(x)   REPEAT_U4u(x), (x)
 
#define REPEAT_U6u(x)   REPEAT_U5u(x), (x)
 
#define REPEAT_U7u(x)   REPEAT_U6u(x), (x)
 
#define REPEAT_U8u(x)   REPEAT_U7u(x), (x)
 
#define REPEAT_U9u(x)   REPEAT_U8u(x), (x)
 
#define REPEAT_U10u(x)   REPEAT_U9u(x), (x)
 
#define REPEAT_U11u(x)   REPEAT_U10u(x), (x)
 
#define REPEAT_U12u(x)   REPEAT_U11u(x), (x)
 
#define REPEAT_U13u(x)   REPEAT_U12u(x), (x)
 
#define REPEAT_U14u(x)   REPEAT_U13u(x), (x)
 
#define REPEAT_U15u(x)   REPEAT_U14u(x), (x)
 
#define REPEAT_U16u(x)   REPEAT_U15u(x), (x)
 
#define REPEAT_U17u(x)   REPEAT_U16u(x), (x)
 
#define REPEAT_U18u(x)   REPEAT_U17u(x), (x)
 
#define REPEAT_U19u(x)   REPEAT_U18u(x), (x)
 
#define REPEAT_U20u(x)   REPEAT_U19u(x), (x)
 
#define REPEAT_U21u(x)   REPEAT_U20u(x), (x)
 
#define REPEAT_U22u(x)   REPEAT_U21u(x), (x)
 
#define REPEAT_U23u(x)   REPEAT_U22u(x), (x)
 
#define REPEAT_U24u(x)   REPEAT_U23u(x), (x)
 
#define REPEAT_U25u(x)   REPEAT_U24u(x), (x)
 
#define REPEAT_U26u(x)   REPEAT_U25u(x), (x)
 
#define REPEAT_U27u(x)   REPEAT_U26u(x), (x)
 
#define REPEAT_U28u(x)   REPEAT_U27u(x), (x)
 
#define REPEAT_U29u(x)   REPEAT_U28u(x), (x)
 
#define REPEAT_U30u(x)   REPEAT_U29u(x), (x)
 
#define REPEAT_U31u(x)   REPEAT_U30u(x), (x)
 
#define REPEAT_U32u(x)   REPEAT_U31u(x), (x)
 
#define REPEAT_U33u(x)   REPEAT_U32u(x), (x)
 
#define REPEAT_U34u(x)   REPEAT_U33u(x), (x)
 
#define REPEAT_U35u(x)   REPEAT_U34u(x), (x)
 
#define REPEAT_U36u(x)   REPEAT_U35u(x), (x)
 
#define REPEAT_U37u(x)   REPEAT_U36u(x), (x)
 
#define REPEAT_U38u(x)   REPEAT_U37u(x), (x)
 
#define REPEAT_U39u(x)   REPEAT_U38u(x), (x)
 
#define REPEAT_U40u(x)   REPEAT_U39u(x), (x)
 
#define REPEAT_U41u(x)   REPEAT_U40u(x), (x)
 
#define REPEAT_U42u(x)   REPEAT_U41u(x), (x)
 
#define REPEAT_U43u(x)   REPEAT_U42u(x), (x)
 
#define REPEAT_U44u(x)   REPEAT_U43u(x), (x)
 
#define REPEAT_U45u(x)   REPEAT_U44u(x), (x)
 
#define REPEAT_U46u(x)   REPEAT_U45u(x), (x)
 
#define REPEAT_U47u(x)   REPEAT_U46u(x), (x)
 
#define REPEAT_U48u(x)   REPEAT_U47u(x), (x)
 
#define REPEAT_U49u(x)   REPEAT_U48u(x), (x)
 
#define REPEAT_U50u(x)   REPEAT_U49u(x), (x)
 
#define REPEAT_U51u(x)   REPEAT_U50u(x), (x)
 
#define REPEAT_U52u(x)   REPEAT_U51u(x), (x)
 
#define REPEAT_U53u(x)   REPEAT_U52u(x), (x)
 
#define REPEAT_U54u(x)   REPEAT_U53u(x), (x)
 
#define REPEAT_U55u(x)   REPEAT_U54u(x), (x)
 
#define REPEAT_U56u(x)   REPEAT_U55u(x), (x)
 
#define REPEAT_U57u(x)   REPEAT_U56u(x), (x)
 
#define REPEAT_U58u(x)   REPEAT_U57u(x), (x)
 
#define REPEAT_U59u(x)   REPEAT_U58u(x), (x)
 
#define REPEAT_U60u(x)   REPEAT_U59u(x), (x)
 
#define REPEAT_U61u(x)   REPEAT_U60u(x), (x)
 
#define REPEAT_U62u(x)   REPEAT_U61u(x), (x)
 
#define REPEAT_U63u(x)   REPEAT_U62u(x), (x)
 
#define REPEAT_U64u(x)   REPEAT_U63u(x), (x)
 
#define REPEAT_U65u(x)   REPEAT_U64u(x), (x)
 
#define REPEAT_U66u(x)   REPEAT_U65u(x), (x)
 
#define REPEAT_U67u(x)   REPEAT_U66u(x), (x)
 
#define REPEAT_U68u(x)   REPEAT_U67u(x), (x)
 
#define REPEAT_U69u(x)   REPEAT_U68u(x), (x)
 
#define REPEAT_U70u(x)   REPEAT_U69u(x), (x)
 
#define REPEAT_U71u(x)   REPEAT_U70u(x), (x)
 
#define REPEAT_U72u(x)   REPEAT_U71u(x), (x)
 
#define REPEAT_U73u(x)   REPEAT_U72u(x), (x)
 
#define REPEAT_U74u(x)   REPEAT_U73u(x), (x)
 
#define REPEAT_U75u(x)   REPEAT_U74u(x), (x)
 
#define REPEAT_U76u(x)   REPEAT_U75u(x), (x)
 
#define REPEAT_U77u(x)   REPEAT_U76u(x), (x)
 
#define REPEAT_U78u(x)   REPEAT_U77u(x), (x)
 
#define REPEAT_U79u(x)   REPEAT_U78u(x), (x)
 
#define REPEAT_U80u(x)   REPEAT_U79u(x), (x)
 
#define REPEAT_U81u(x)   REPEAT_U80u(x), (x)
 
#define REPEAT_U82u(x)   REPEAT_U81u(x), (x)
 
#define REPEAT_U83u(x)   REPEAT_U82u(x), (x)
 
#define REPEAT_U84u(x)   REPEAT_U83u(x), (x)
 
#define REPEAT_U85u(x)   REPEAT_U84u(x), (x)
 
#define REPEAT_U86u(x)   REPEAT_U85u(x), (x)
 
#define REPEAT_U87u(x)   REPEAT_U86u(x), (x)
 
#define REPEAT_U88u(x)   REPEAT_U87u(x), (x)
 
#define REPEAT_U89u(x)   REPEAT_U88u(x), (x)
 
#define REPEAT_U90u(x)   REPEAT_U89u(x), (x)
 
#define REPEAT_U91u(x)   REPEAT_U90u(x), (x)
 
#define REPEAT_U92u(x)   REPEAT_U91u(x), (x)
 
#define REPEAT_U93u(x)   REPEAT_U92u(x), (x)
 
#define REPEAT_U94u(x)   REPEAT_U93u(x), (x)
 
#define REPEAT_U95u(x)   REPEAT_U94u(x), (x)
 
#define REPEAT_U96u(x)   REPEAT_U95u(x), (x)
 
#define REPEAT_U97u(x)   REPEAT_U96u(x), (x)
 
#define REPEAT_U98u(x)   REPEAT_U97u(x), (x)
 
#define REPEAT_U99u(x)   REPEAT_U98u(x), (x)
 
#define REPEAT_Ux(x, n)   REPEAT_U##n(x)
 
#define GET_ARGS(...)   __VA_ARGS__
 
#define STRIP_PARENS(x)   x
 

Detailed Description

General macros and definitions for the whole platform.

SPDX-License-Identifier: BSD-3-Clause

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials:

  • ″This product uses parts of foxBMS®″
  • ″This product includes parts of foxBMS®″
  • ″This product is derived from foxBMS®″
Author
foxBMS Team
Date
2019-09-24 (date of creation)
Updated
2021-07-29 (date of last update)
Prefix
NONE

Definition in file general.h.

Macro Definition Documentation

◆ ADC_ADC1_MAX_NR_CHANNELS

#define ADC_ADC1_MAX_NR_CHANNELS   (32U)

maximum number of channels measured by the ADC1

Checked in the datasheet spnu563a: ADC1 supports 32 channels

Definition at line 79 of file general.h.

◆ always_inline

#define always_inline   __attribute__((always_inline))

This attribute tells the compiler that the function should always be inlined

Definition at line 104 of file general.h.

◆ CLEARBIT

#define CLEARBIT (   register,
  bit 
)    ((register) &= ~(uint32)((uint32)1U << (bit)))

clears a bit to 0u

Parameters
[in,out]registerregister on which to clear the bit
[in]bitnumber of the bit that should be cleared to 0u

Definition at line 92 of file general.h.

◆ GET_ARGS

#define GET_ARGS (   ...)    __VA_ARGS__

Internal helper macros for STRIP(). Do not use outside.

Definition at line 270 of file general.h.

◆ LARGEST_PIN_NUMBER

#define LARGEST_PIN_NUMBER   (31u)

largest pin number that exists in TMS570LC4357

Checked in the datasheet spnu563a: The largest pin number that is used is 31.

Definition at line 73 of file general.h.

◆ must_check_return

#define must_check_return   __attribute__((warn_unused_result))

Allows functions to generate warnings in GCC for unused returns.

This attribute allows to mark that a function return value must be used. The compiler will generate a warning when the return value of a function with this marker is not used in subsequent code.

Definition at line 101 of file general.h.

◆ REPEAT_MAXIMUM_REPETITIONS

#define REPEAT_MAXIMUM_REPETITIONS   (99u)

Maximum number of supported repetitions in REPEAT_U(). Adapt if you change implementation.

Definition at line 237 of file general.h.

◆ REPEAT_U

#define REPEAT_U (   x,
 
)    REPEAT_Ux(x, n)

Macro that helps to generate a series of literals (for array initializers).

This macro generates a series of literals for array initializers. This can be used for initializing arrays to arbitrary non-null values when their size is defined with a macro. If the array shall be initialized to null the standard {0} should be used.

Parameters
xtoken that should be repeated, e.g. true
nTimes that it should be repeated (stripped of parenthesis with STRIP() and described as unsigned integer literal) (maximum 16, REPEAT_MAXIMUM_REPETITIONS, repetitions)

Example usage:

#define ARRAY_SIZE (4u)
bool variable[ARRAY_SIZE] = {REPEAT_U(false, STRIP(ARRAY_SIZE))};

This will expand to:

bool variable[ARRAY_SIZE] = {false, false, false, false};

Definition at line 262 of file general.h.

◆ REPEAT_U10u

#define REPEAT_U10u (   x)    REPEAT_U9u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 140 of file general.h.

◆ REPEAT_U11u

#define REPEAT_U11u (   x)    REPEAT_U10u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 141 of file general.h.

◆ REPEAT_U12u

#define REPEAT_U12u (   x)    REPEAT_U11u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 142 of file general.h.

◆ REPEAT_U13u

#define REPEAT_U13u (   x)    REPEAT_U12u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 143 of file general.h.

◆ REPEAT_U14u

#define REPEAT_U14u (   x)    REPEAT_U13u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 144 of file general.h.

◆ REPEAT_U15u

#define REPEAT_U15u (   x)    REPEAT_U14u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 145 of file general.h.

◆ REPEAT_U16u

#define REPEAT_U16u (   x)    REPEAT_U15u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 146 of file general.h.

◆ REPEAT_U17u

#define REPEAT_U17u (   x)    REPEAT_U16u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 147 of file general.h.

◆ REPEAT_U18u

#define REPEAT_U18u (   x)    REPEAT_U17u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 148 of file general.h.

◆ REPEAT_U19u

#define REPEAT_U19u (   x)    REPEAT_U18u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 149 of file general.h.

◆ REPEAT_U1u

#define REPEAT_U1u (   x)    (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 131 of file general.h.

◆ REPEAT_U20u

#define REPEAT_U20u (   x)    REPEAT_U19u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 150 of file general.h.

◆ REPEAT_U21u

#define REPEAT_U21u (   x)    REPEAT_U20u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 151 of file general.h.

◆ REPEAT_U22u

#define REPEAT_U22u (   x)    REPEAT_U21u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 152 of file general.h.

◆ REPEAT_U23u

#define REPEAT_U23u (   x)    REPEAT_U22u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 153 of file general.h.

◆ REPEAT_U24u

#define REPEAT_U24u (   x)    REPEAT_U23u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 154 of file general.h.

◆ REPEAT_U25u

#define REPEAT_U25u (   x)    REPEAT_U24u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 155 of file general.h.

◆ REPEAT_U26u

#define REPEAT_U26u (   x)    REPEAT_U25u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 156 of file general.h.

◆ REPEAT_U27u

#define REPEAT_U27u (   x)    REPEAT_U26u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 157 of file general.h.

◆ REPEAT_U28u

#define REPEAT_U28u (   x)    REPEAT_U27u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 158 of file general.h.

◆ REPEAT_U29u

#define REPEAT_U29u (   x)    REPEAT_U28u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 159 of file general.h.

◆ REPEAT_U2u

#define REPEAT_U2u (   x)    REPEAT_U1u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 132 of file general.h.

◆ REPEAT_U30u

#define REPEAT_U30u (   x)    REPEAT_U29u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 160 of file general.h.

◆ REPEAT_U31u

#define REPEAT_U31u (   x)    REPEAT_U30u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 161 of file general.h.

◆ REPEAT_U32u

#define REPEAT_U32u (   x)    REPEAT_U31u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 162 of file general.h.

◆ REPEAT_U33u

#define REPEAT_U33u (   x)    REPEAT_U32u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 163 of file general.h.

◆ REPEAT_U34u

#define REPEAT_U34u (   x)    REPEAT_U33u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 164 of file general.h.

◆ REPEAT_U35u

#define REPEAT_U35u (   x)    REPEAT_U34u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 165 of file general.h.

◆ REPEAT_U36u

#define REPEAT_U36u (   x)    REPEAT_U35u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 166 of file general.h.

◆ REPEAT_U37u

#define REPEAT_U37u (   x)    REPEAT_U36u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 167 of file general.h.

◆ REPEAT_U38u

#define REPEAT_U38u (   x)    REPEAT_U37u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 168 of file general.h.

◆ REPEAT_U39u

#define REPEAT_U39u (   x)    REPEAT_U38u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 169 of file general.h.

◆ REPEAT_U3u

#define REPEAT_U3u (   x)    REPEAT_U2u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 133 of file general.h.

◆ REPEAT_U40u

#define REPEAT_U40u (   x)    REPEAT_U39u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 170 of file general.h.

◆ REPEAT_U41u

#define REPEAT_U41u (   x)    REPEAT_U40u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 171 of file general.h.

◆ REPEAT_U42u

#define REPEAT_U42u (   x)    REPEAT_U41u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 172 of file general.h.

◆ REPEAT_U43u

#define REPEAT_U43u (   x)    REPEAT_U42u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 173 of file general.h.

◆ REPEAT_U44u

#define REPEAT_U44u (   x)    REPEAT_U43u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 174 of file general.h.

◆ REPEAT_U45u

#define REPEAT_U45u (   x)    REPEAT_U44u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 175 of file general.h.

◆ REPEAT_U46u

#define REPEAT_U46u (   x)    REPEAT_U45u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 176 of file general.h.

◆ REPEAT_U47u

#define REPEAT_U47u (   x)    REPEAT_U46u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 177 of file general.h.

◆ REPEAT_U48u

#define REPEAT_U48u (   x)    REPEAT_U47u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 178 of file general.h.

◆ REPEAT_U49u

#define REPEAT_U49u (   x)    REPEAT_U48u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 179 of file general.h.

◆ REPEAT_U4u

#define REPEAT_U4u (   x)    REPEAT_U3u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 134 of file general.h.

◆ REPEAT_U50u

#define REPEAT_U50u (   x)    REPEAT_U49u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 180 of file general.h.

◆ REPEAT_U51u

#define REPEAT_U51u (   x)    REPEAT_U50u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 181 of file general.h.

◆ REPEAT_U52u

#define REPEAT_U52u (   x)    REPEAT_U51u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 182 of file general.h.

◆ REPEAT_U53u

#define REPEAT_U53u (   x)    REPEAT_U52u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 183 of file general.h.

◆ REPEAT_U54u

#define REPEAT_U54u (   x)    REPEAT_U53u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 184 of file general.h.

◆ REPEAT_U55u

#define REPEAT_U55u (   x)    REPEAT_U54u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 185 of file general.h.

◆ REPEAT_U56u

#define REPEAT_U56u (   x)    REPEAT_U55u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 186 of file general.h.

◆ REPEAT_U57u

#define REPEAT_U57u (   x)    REPEAT_U56u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 187 of file general.h.

◆ REPEAT_U58u

#define REPEAT_U58u (   x)    REPEAT_U57u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 188 of file general.h.

◆ REPEAT_U59u

#define REPEAT_U59u (   x)    REPEAT_U58u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 189 of file general.h.

◆ REPEAT_U5u

#define REPEAT_U5u (   x)    REPEAT_U4u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 135 of file general.h.

◆ REPEAT_U60u

#define REPEAT_U60u (   x)    REPEAT_U59u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 190 of file general.h.

◆ REPEAT_U61u

#define REPEAT_U61u (   x)    REPEAT_U60u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 191 of file general.h.

◆ REPEAT_U62u

#define REPEAT_U62u (   x)    REPEAT_U61u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 192 of file general.h.

◆ REPEAT_U63u

#define REPEAT_U63u (   x)    REPEAT_U62u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 193 of file general.h.

◆ REPEAT_U64u

#define REPEAT_U64u (   x)    REPEAT_U63u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 194 of file general.h.

◆ REPEAT_U65u

#define REPEAT_U65u (   x)    REPEAT_U64u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 195 of file general.h.

◆ REPEAT_U66u

#define REPEAT_U66u (   x)    REPEAT_U65u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 196 of file general.h.

◆ REPEAT_U67u

#define REPEAT_U67u (   x)    REPEAT_U66u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 197 of file general.h.

◆ REPEAT_U68u

#define REPEAT_U68u (   x)    REPEAT_U67u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 198 of file general.h.

◆ REPEAT_U69u

#define REPEAT_U69u (   x)    REPEAT_U68u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 199 of file general.h.

◆ REPEAT_U6u

#define REPEAT_U6u (   x)    REPEAT_U5u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 136 of file general.h.

◆ REPEAT_U70u

#define REPEAT_U70u (   x)    REPEAT_U69u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 200 of file general.h.

◆ REPEAT_U71u

#define REPEAT_U71u (   x)    REPEAT_U70u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 201 of file general.h.

◆ REPEAT_U72u

#define REPEAT_U72u (   x)    REPEAT_U71u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 202 of file general.h.

◆ REPEAT_U73u

#define REPEAT_U73u (   x)    REPEAT_U72u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 203 of file general.h.

◆ REPEAT_U74u

#define REPEAT_U74u (   x)    REPEAT_U73u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 204 of file general.h.

◆ REPEAT_U75u

#define REPEAT_U75u (   x)    REPEAT_U74u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 205 of file general.h.

◆ REPEAT_U76u

#define REPEAT_U76u (   x)    REPEAT_U75u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 206 of file general.h.

◆ REPEAT_U77u

#define REPEAT_U77u (   x)    REPEAT_U76u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 207 of file general.h.

◆ REPEAT_U78u

#define REPEAT_U78u (   x)    REPEAT_U77u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 208 of file general.h.

◆ REPEAT_U79u

#define REPEAT_U79u (   x)    REPEAT_U78u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 209 of file general.h.

◆ REPEAT_U7u

#define REPEAT_U7u (   x)    REPEAT_U6u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 137 of file general.h.

◆ REPEAT_U80u

#define REPEAT_U80u (   x)    REPEAT_U79u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 210 of file general.h.

◆ REPEAT_U81u

#define REPEAT_U81u (   x)    REPEAT_U80u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 211 of file general.h.

◆ REPEAT_U82u

#define REPEAT_U82u (   x)    REPEAT_U81u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 212 of file general.h.

◆ REPEAT_U83u

#define REPEAT_U83u (   x)    REPEAT_U82u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 213 of file general.h.

◆ REPEAT_U84u

#define REPEAT_U84u (   x)    REPEAT_U83u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 214 of file general.h.

◆ REPEAT_U85u

#define REPEAT_U85u (   x)    REPEAT_U84u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 215 of file general.h.

◆ REPEAT_U86u

#define REPEAT_U86u (   x)    REPEAT_U85u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 216 of file general.h.

◆ REPEAT_U87u

#define REPEAT_U87u (   x)    REPEAT_U86u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 217 of file general.h.

◆ REPEAT_U88u

#define REPEAT_U88u (   x)    REPEAT_U87u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 218 of file general.h.

◆ REPEAT_U89u

#define REPEAT_U89u (   x)    REPEAT_U88u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 219 of file general.h.

◆ REPEAT_U8u

#define REPEAT_U8u (   x)    REPEAT_U7u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 138 of file general.h.

◆ REPEAT_U90u

#define REPEAT_U90u (   x)    REPEAT_U89u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 220 of file general.h.

◆ REPEAT_U91u

#define REPEAT_U91u (   x)    REPEAT_U90u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 221 of file general.h.

◆ REPEAT_U92u

#define REPEAT_U92u (   x)    REPEAT_U91u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 222 of file general.h.

◆ REPEAT_U93u

#define REPEAT_U93u (   x)    REPEAT_U92u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 223 of file general.h.

◆ REPEAT_U94u

#define REPEAT_U94u (   x)    REPEAT_U93u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 224 of file general.h.

◆ REPEAT_U95u

#define REPEAT_U95u (   x)    REPEAT_U94u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 225 of file general.h.

◆ REPEAT_U96u

#define REPEAT_U96u (   x)    REPEAT_U95u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 226 of file general.h.

◆ REPEAT_U97u

#define REPEAT_U97u (   x)    REPEAT_U96u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 227 of file general.h.

◆ REPEAT_U98u

#define REPEAT_U98u (   x)    REPEAT_U97u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 228 of file general.h.

◆ REPEAT_U99u

#define REPEAT_U99u (   x)    REPEAT_U98u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 229 of file general.h.

◆ REPEAT_U9u

#define REPEAT_U9u (   x)    REPEAT_U8u(x), (x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 139 of file general.h.

◆ REPEAT_Ux

#define REPEAT_Ux (   x,
 
)    REPEAT_U##n(x)

Internal macros for the implementation of REPEAT_U(). Do not use outside.

Definition at line 232 of file general.h.

◆ SETBIT

#define SETBIT (   register,
  bit 
)    ((register) |= (uint32)((uint32)1U << (bit)))

sets a bit to 1u

Parameters
[in,out]registerregister on which to set the bit
[in]bitnumber of the bit that should be set to 1u

Definition at line 86 of file general.h.

◆ STRIP

#define STRIP (   x)    STRIP_PARENS(GET_ARGS x)

Strips a token of its surrounding parenthesis.

Definition at line 274 of file general.h.

◆ STRIP_PARENS

#define STRIP_PARENS (   x)    x

Internal helper macros for STRIP(). Do not use outside.

Definition at line 271 of file general.h.

◆ UNIT_TEST_WEAK_IMPL

#define UNIT_TEST_WEAK_IMPL   __attribute__((weak))

allow implementations to be weak for unit tests

Definition at line 108 of file general.h.