Common PLATFORM_HEADER Configuration
Compiler and Platform specific definitions and typedefs common to all platforms. More...
Macros |
|
#define | MEMSET (d, v, l) memset(d, v, l) |
Friendly convenience macro pointing to the C Stdlib functions.
More...
|
|
#define | MEMCOPY (d, s, l) memcpy(d, s, l) |
#define | MEMMOVE (d, s, l) memmove(d, s, l) |
#define | MEMPGMCOPY (d, s, l) memcpy(d, s, l) |
#define | MEMCOMPARE (s0, s1, l) memcmp(s0, s1, l) |
#define | MEMPGMCOMPARE (s0, s1, l) memcmp(s0, s1, l) |
Generic Types |
|
#define | TRUE 1 |
An alias for one, used for clarity.
More...
|
|
#define | FALSE 0 |
An alias for zero, used for clarity.
More...
|
|
#define | NULL ((void *)0) |
The null pointer.
More...
|
|
Bit Manipulation Macros |
|
#define | BIT (x) (1U << (x)) |
Useful to reference a single bit of a byte.
More...
|
|
#define | BIT32 (x) (((uint32_t) 1) << (x)) |
Useful to reference a single bit of an uint32_t type.
More...
|
|
#define | SETBIT (reg, bit) (reg) |= BIT (bit) |
Sets
bit
in the
reg
register or byte.
More...
|
|
#define | SETBITS (reg, bits) (reg) |= (bits) |
Sets the bits in the
reg
register or the byte as specified in the bitmask
bits
.
More...
|
|
#define | CLEARBIT (reg, bit) (reg) &= ~( BIT (bit)) |
Clears a bit in the
reg
register or byte.
More...
|
|
#define | CLEARBITS (reg, bits) (reg) &= ~(bits) |
Clears the bits in the
reg
register or byte as specified in the bitmask
bits
.
More...
|
|
#define | READBIT (reg, bit) ((reg) & ( BIT (bit))) |
Returns the value of
bit
within the register or byte
reg
.
More...
|
|
#define | READBITS (reg, bits) ((reg) & (bits)) |
Returns the value of the bitmask
bits
within the register or byte
reg
.
More...
|
|
Byte Manipulation Macros |
|
#define | LOW_BYTE (n) ((uint8_t)((n) & 0xFF)) |
Returns the low byte of the 16-bit value
n
as an
uint8_t
.
More...
|
|
#define | HIGH_BYTE (n) ((uint8_t)( LOW_BYTE ((n) >> 8))) |
Returns the high byte of the 16-bit value
n
as an
uint8_t
.
More...
|
|
#define | HIGH_LOW_TO_INT (high, low) |
Returns the value built from the two
uint8_t
values
high
and
low
.
More...
|
|
#define | INT8U_TO_INT32U (byte3, byte2, byte1, byte0) |
Returns the value built from the four
uint8_t
as an
uint32_t
.
More...
|
|
#define | BYTE_0 (n) ((uint8_t)((n) & 0xFF)) |
Returns the low byte of the 32-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_1 (n) BYTE_0 ((n) >> 8) |
Returns the second byte of the 32-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_2 (n) BYTE_0 ((n) >> 16) |
Returns the third byte of the 32-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_3 (n) BYTE_0 ((n) >> 24) |
Returns the high byte of the 32-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_4 (n) BYTE_0 ((n) >> 32) |
Returns the fifth byte of the 64-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_5 (n) BYTE_0 ((n) >> 40) |
Returns the sixth byte of the 64-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_6 (n) BYTE_0 ((n) >> 48) |
Returns the seventh byte of the 64-bit value
n
as an
uint8_t
.
More...
|
|
#define | BYTE_7 (n) BYTE_0 ((n) >> 56) |
Returns the high byte of the 64-bit value
n
as an
uint8_t
.
More...
|
|
#define | COUNTOF (a) (sizeof(a) / sizeof(a[0])) |
Returns the number of entries in an array.
More...
|
|
Time Manipulation Macros |
|
#define | elapsedTimeInt8u (oldTime, newTime) ((uint8_t) ((uint8_t)(newTime) - (uint8_t)(oldTime))) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | elapsedTimeInt16u (oldTime, newTime) ((uint16_t) ((uint16_t)(newTime) - (uint16_t)(oldTime))) |
Returns the elapsed time between two 16 bit values. Result may not be valid if the time samples differ by more than 32767.
More...
|
|
#define | elapsedTimeInt32u (oldTime, newTime) ((uint32_t) ((uint32_t)(newTime) - (uint32_t)(oldTime))) |
Returns the elapsed time between two 32 bit values. Result may not be valid if the time samples differ by more than 2147483647.
More...
|
|
#define | MAX_INT8U_VALUE (0xFF) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
More...
|
|
#define | HALF_MAX_INT8U_VALUE (0x80) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | timeGTorEqualInt8u (t1, t2) ( elapsedTimeInt8u (t2, t1) <= ( HALF_MAX_INT8U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | MAX_INT16U_VALUE (0xFFFF) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
More...
|
|
#define | HALF_MAX_INT16U_VALUE (0x8000) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | timeGTorEqualInt16u (t1, t2) ( elapsedTimeInt16u (t2, t1) <= ( HALF_MAX_INT16U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | MAX_INT32U_VALUE (0xFFFFFFFFUL) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
More...
|
|
#define | HALF_MAX_INT32U_VALUE (0x80000000UL) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
#define | timeGTorEqualInt32u (t1, t2) ( elapsedTimeInt32u (t2, t1) <= ( HALF_MAX_INT32U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
More...
|
|
Miscellaneous Macros |
|
#define | UNUSED_VAR (x) (void)(x) |
#define | DEBUG_LEVEL BASIC_DEBUG |
Set debug level based on whether DEBUG or DEBUG_STRIPPED are defined.
More...
|
|
#define | STATIC_ASSERT (__condition, __errorstr) |
Disable static assertions on compilers that don't support them.
More...
|
|
Detailed Description
Compiler and Platform specific definitions and typedefs common to all platforms.
platform-common.h
provides PLATFORM_HEADER defaults and common definitions. This head should never be included directly, it should only be included by the specific PLATFORM_HEADER used by your platform.
See
platform-common.h
for source code.
Macro Definition Documentation
#define BIT | ( |
x
|
) | (1U << (x)) |
Useful to reference a single bit of a byte.
Definition at line
224
of file
platform-common.h
.
#define BIT32 | ( |
x
|
) | (((uint32_t) 1) << (x)) |
Useful to reference a single bit of an uint32_t type.
Definition at line
229
of file
platform-common.h
.
#define BYTE_0 | ( |
n
|
) | ((uint8_t)((n) & 0xFF)) |
Returns the low byte of the 32-bit value
n
as an
uint8_t
.
Definition at line
311
of file
platform-common.h
.
#define BYTE_1 | ( |
n
|
) | BYTE_0 ((n) >> 8) |
Returns the second byte of the 32-bit value
n
as an
uint8_t
.
Definition at line
316
of file
platform-common.h
.
#define BYTE_2 | ( |
n
|
) | BYTE_0 ((n) >> 16) |
Returns the third byte of the 32-bit value
n
as an
uint8_t
.
Definition at line
321
of file
platform-common.h
.
#define BYTE_3 | ( |
n
|
) | BYTE_0 ((n) >> 24) |
Returns the high byte of the 32-bit value
n
as an
uint8_t
.
Definition at line
326
of file
platform-common.h
.
#define BYTE_4 | ( |
n
|
) | BYTE_0 ((n) >> 32) |
Returns the fifth byte of the 64-bit value
n
as an
uint8_t
.
Definition at line
331
of file
platform-common.h
.
#define BYTE_5 | ( |
n
|
) | BYTE_0 ((n) >> 40) |
Returns the sixth byte of the 64-bit value
n
as an
uint8_t
.
Definition at line
336
of file
platform-common.h
.
#define BYTE_6 | ( |
n
|
) | BYTE_0 ((n) >> 48) |
Returns the seventh byte of the 64-bit value
n
as an
uint8_t
.
Definition at line
341
of file
platform-common.h
.
#define BYTE_7 | ( |
n
|
) | BYTE_0 ((n) >> 56) |
Returns the high byte of the 64-bit value
n
as an
uint8_t
.
Definition at line
346
of file
platform-common.h
.
#define CLEARBIT | ( |
reg,
|
|
bit
|
|||
) | (reg) &= ~( BIT (bit)) |
Clears a bit in the
reg
register or byte.
- Note
-
Assuming
reg
is an IO register, some platforms (such as the AVR) can implement this in a single atomic operation.
Definition at line
250
of file
platform-common.h
.
#define CLEARBITS | ( |
reg,
|
|
bits
|
|||
) | (reg) &= ~(bits) |
Clears the bits in the
reg
register or byte as specified in the bitmask
bits
.
- Note
- This is never a single atomic operation.
Definition at line
257
of file
platform-common.h
.
#define COUNTOF | ( |
a
|
) | (sizeof(a) / sizeof(a[0])) |
Returns the number of entries in an array.
Definition at line
351
of file
platform-common.h
.
#define DEBUG_LEVEL BASIC_DEBUG |
Set debug level based on whether DEBUG or DEBUG_STRIPPED are defined.
Definition at line
447
of file
platform-common.h
.
#define elapsedTimeInt16u | ( |
oldTime,
|
|
newTime
|
|||
) | ((uint16_t) ((uint16_t)(newTime) - (uint16_t)(oldTime))) |
Returns the elapsed time between two 16 bit values. Result may not be valid if the time samples differ by more than 32767.
Definition at line
373
of file
platform-common.h
.
#define elapsedTimeInt32u | ( |
oldTime,
|
|
newTime
|
|||
) | ((uint32_t) ((uint32_t)(newTime) - (uint32_t)(oldTime))) |
Returns the elapsed time between two 32 bit values. Result may not be valid if the time samples differ by more than 2147483647.
Definition at line
380
of file
platform-common.h
.
#define elapsedTimeInt8u | ( |
oldTime,
|
|
newTime
|
|||
) | ((uint8_t) ((uint8_t)(newTime) - (uint8_t)(oldTime))) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
366
of file
platform-common.h
.
#define FALSE 0 |
An alias for zero, used for clarity.
Definition at line
204
of file
platform-common.h
.
#define HALF_MAX_INT16U_VALUE (0x8000) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
397
of file
platform-common.h
.
#define HALF_MAX_INT32U_VALUE (0x80000000UL) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
406
of file
platform-common.h
.
#define HALF_MAX_INT8U_VALUE (0x80) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
388
of file
platform-common.h
.
#define HIGH_BYTE | ( |
n
|
) | ((uint8_t)( LOW_BYTE ((n) >> 8))) |
Returns the high byte of the 16-bit value
n
as an
uint8_t
.
Definition at line
287
of file
platform-common.h
.
#define HIGH_LOW_TO_INT | ( |
high,
|
|
low
|
|||
) |
Returns the value built from the two
uint8_t
values
high
and
low
.
Definition at line
293
of file
platform-common.h
.
#define INT8U_TO_INT32U | ( |
byte3,
|
|
byte2,
|
|||
byte1,
|
|||
byte0
|
|||
) |
Returns the value built from the four
uint8_t
as an
uint32_t
.
Definition at line
301
of file
platform-common.h
.
#define LOW_BYTE | ( |
n
|
) | ((uint8_t)((n) & 0xFF)) |
Returns the low byte of the 16-bit value
n
as an
uint8_t
.
Definition at line
282
of file
platform-common.h
.
#define MAX_INT16U_VALUE (0xFFFF) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
Definition at line
396
of file
platform-common.h
.
#define MAX_INT32U_VALUE (0xFFFFFFFFUL) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
Definition at line
405
of file
platform-common.h
.
#define MAX_INT8U_VALUE (0xFF) |
Returns true if t1 is greater than t2. Can only account for 1 wrap around of the variable before it is wrong.
Definition at line
387
of file
platform-common.h
.
#define MEMCOMPARE | ( |
s0,
|
|
s1,
|
|||
l
|
|||
) | memcmp(s0, s1, l) |
Definition at line
181
of file
platform-common.h
.
#define MEMCOPY | ( |
d,
|
|
s,
|
|||
l
|
|||
) | memcpy(d, s, l) |
Definition at line
178
of file
platform-common.h
.
#define MEMMOVE | ( |
d,
|
|
s,
|
|||
l
|
|||
) | memmove(d, s, l) |
Definition at line
179
of file
platform-common.h
.
#define MEMPGMCOMPARE | ( |
s0,
|
|
s1,
|
|||
l
|
|||
) | memcmp(s0, s1, l) |
Definition at line
182
of file
platform-common.h
.
#define MEMPGMCOPY | ( |
d,
|
|
s,
|
|||
l
|
|||
) | memcpy(d, s, l) |
Definition at line
180
of file
platform-common.h
.
#define MEMSET | ( |
d,
|
|
v,
|
|||
l
|
|||
) | memset(d, v, l) |
Friendly convenience macro pointing to the C Stdlib functions.
Definition at line
177
of file
platform-common.h
.
#define NULL ((void *)0) |
The null pointer.
Definition at line
211
of file
platform-common.h
.
#define READBIT | ( |
reg,
|
|
bit
|
|||
) | ((reg) & ( BIT (bit))) |
Returns the value of
bit
within the register or byte
reg
.
Definition at line
262
of file
platform-common.h
.
#define READBITS | ( |
reg,
|
|
bits
|
|||
) | ((reg) & (bits)) |
Returns the value of the bitmask
bits
within the register or byte
reg
.
Definition at line
268
of file
platform-common.h
.
#define SETBIT | ( |
reg,
|
|
bit
|
|||
) | (reg) |= BIT (bit) |
Sets
bit
in the
reg
register or byte.
- Note
-
Assuming
reg
is an IO register, some platforms (such as the AVR) can implement this in a single atomic operation.
Definition at line
236
of file
platform-common.h
.
#define SETBITS | ( |
reg,
|
|
bits
|
|||
) | (reg) |= (bits) |
Sets the bits in the
reg
register or the byte as specified in the bitmask
bits
.
- Note
- This is never a single atomic operation.
Definition at line
243
of file
platform-common.h
.
#define STATIC_ASSERT | ( |
__condition,
|
|
__errorstr
|
|||
) |
Disable static assertions on compilers that don't support them.
Definition at line
455
of file
platform-common.h
.
#define timeGTorEqualInt16u | ( |
t1,
|
|
t2
|
|||
) | ( elapsedTimeInt16u (t2, t1) <= ( HALF_MAX_INT16U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
398
of file
platform-common.h
.
#define timeGTorEqualInt32u | ( |
t1,
|
|
t2
|
|||
) | ( elapsedTimeInt32u (t2, t1) <= ( HALF_MAX_INT32U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
407
of file
platform-common.h
.
#define timeGTorEqualInt8u | ( |
t1,
|
|
t2
|
|||
) | ( elapsedTimeInt8u (t2, t1) <= ( HALF_MAX_INT8U_VALUE )) |
Returns the elapsed time between two 8 bit values. Result may not be valid if the time samples differ by more than 127.
Definition at line
389
of file
platform-common.h
.
#define TRUE 1 |
An alias for one, used for clarity.
Definition at line
199
of file
platform-common.h
.
#define UNUSED_VAR | ( |
x
|
) | (void)(x) |
- Description:
- Useful macro for avoiding compiler warnings related to unused function arguments or unused variables.
Definition at line
425
of file
platform-common.h
.