libDaisy
Hardware Library for Daisy
Loading...
Searching...
No Matches
LoggerHelperMacros

Detailed Description

Macros

#define LOGGER_NEWLINE   "\r\n"
 
#define LOGGER_BUFFER   128
 
#define PPCAT_NX(A, B)   A##B
 
#define PPCAT(A, B)   PPCAT_NX(A, B)
 
#define STRINGIZE_NX(A)   #A
 
#define STRINGIZE(A)   STRINGIZE_NX(A)
 
#define FLT_FMT(_n)   STRINGIZE(PPCAT(PPCAT(%c%d.%0, _n), d))
 
#define FLT_VAR(_n, _x)
 
#define FLT_FMT3   FLT_FMT(3)
 
#define FLT_VAR3(_x)   FLT_VAR(3, _x)
 

Macro Definition Documentation

◆ FLT_FMT

#define FLT_FMT (   _n)    STRINGIZE(PPCAT(PPCAT(%c%d.%0, _n), d))

Floating point output formatting string. Include in your printf-style format string example: printf("float value = " FLT_FMT(3) " continue like that", FLT_VAR(3, x));

◆ FLT_FMT3

#define FLT_FMT3   FLT_FMT(3)

Shorthand for 10^-3 fraction, output equivalent to %.3f

◆ FLT_VAR

#define FLT_VAR (   _n,
  _x 
)
Value:
(_x < 0 ? '-' : ' '), (int)(abs(_x)), \
(int)(((abs(_x)) - (int)(abs(_x))) * pow(10, (_n)))

Floating point output variable preprocessing Note: uses truncation instead of rounding -> the last digit may be off

◆ FLT_VAR3

#define FLT_VAR3 (   _x)    FLT_VAR(3, _x)

Shorthand for 10^-3 fraction

◆ LOGGER_BUFFER

#define LOGGER_BUFFER   128

size in bytes

◆ LOGGER_NEWLINE

#define LOGGER_NEWLINE   "\r\n"

Logger configuration custom newline character sequence

◆ PPCAT

#define PPCAT (   A,
 
)    PPCAT_NX(A, B)

concatenate tokens

◆ PPCAT_NX

#define PPCAT_NX (   A,
 
)    A##B

Helper macros for string concatenation and macro expansion non-expanding concatenation

◆ STRINGIZE

#define STRINGIZE (   A)    STRINGIZE_NX(A)

make a string

◆ STRINGIZE_NX

#define STRINGIZE_NX (   A)    #A

non-expanding stringize