diff options
Diffstat (limited to 'cmd/sbc_harness/config/tusb_config.h')
-rw-r--r-- | cmd/sbc_harness/config/tusb_config.h | 45 |
1 files changed, 18 insertions, 27 deletions
diff --git a/cmd/sbc_harness/config/tusb_config.h b/cmd/sbc_harness/config/tusb_config.h index 5240311..2c7c02a 100644 --- a/cmd/sbc_harness/config/tusb_config.h +++ b/cmd/sbc_harness/config/tusb_config.h @@ -31,40 +31,31 @@ #ifndef _TUSB_CONFIG_H_ #define _TUSB_CONFIG_H_ +#include <stdint.h> /* for uint{n}_t */ + #ifdef __cplusplus extern "C" { #endif //-------------------------------------------------------------------- -// Override the default definition of TU_ASSERT() to use our logging +// Override the default TU_MESS_FAILED() and tu_print_*() to use our logging //-------------------------------------------------------------------- -// "magically" select between the 1-arg and 2-args variants, inject a -// stringified version of `_cond`. -// -// Note: Use GNU-C `, ##__VA_ARGS__`, not standard C `__VA_OPT__(,) -// __VA_ARGS__`; because __VA_OPT__ doesn't handle present-but-empty -// arguments the way that we need. -#define TU_ASSERT(_cond, ...) \ - _GET_3RD_ARG(_cond, ##__VA_ARGS__, \ - _LIBMISC_TU_ASSERT_2ARGS, _LIBMISC_TU_ASSERT_1ARGS, _dummy) \ - (_cond, #_cond, ##__VA_ARGS__) - -#define _LIBMISC_TU_ASSERT_1ARGS(_cond, _cond_str) \ - _LIBMISC_TU_ASSERT_2ARGS(_cond, _cond_str, false) - -#define _LIBMISC_TU_ASSERT_2ARGS(_cond, _cond_str, _ret) \ - do { \ - if ( !(_cond) ) { \ - _libmisc_tu_mess_failed(_cond_str, \ - __FILE__, __LINE__, __func__); \ - TU_BREAKPOINT(); \ - return _ret; \ - } \ - } while (0) - -void _libmisc_tu_mess_failed(const char *expr, - const char *file, unsigned int line, const char *func); +#define TU_MESS_FAILED(_cond_str) _libmisc_tu_mess_failed(_cond_str, __FILE__, __LINE__, __func__) +#define tu_print_str _libmisc_tu_print_str +#define tu_print_byte _libmisc_tu_print_byte +#define tu_print_base10 _libmisc_tu_print_base10 +#define tu_print_base16 _libmisc_tu_print_base16 +#define tu_print_base16_u8 _libmisc_tu_print_base16_u8 +#define tu_print_base16_u16 _libmisc_tu_print_base16_u16 + +void _libmisc_tu_mess_failed(const char *expr, const char *file, unsigned int line, const char *func); +void _libmisc_tu_print_str(const char *); +void _libmisc_tu_print_byte(uint8_t); +void _libmisc_tu_print_base10(unsigned long); +void _libmisc_tu_print_base16(unsigned long); +void _libmisc_tu_print_base16_u8(uint8_t); +void _libmisc_tu_print_base16_u16(uint16_t); //-------------------------------------------------------------------- // Configuration: common |