From 54e5289b730b387d7e494cce270aca47356e064f Mon Sep 17 00:00:00 2001 From: hathach Date: Tue, 27 Nov 2012 15:59:47 +0700 Subject: [PATCH] added assert macro --- tinyusb/common/common.h | 29 +++++++++++++++++++++++++++++ tinyusb/device/dcd.c | 1 - 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/tinyusb/common/common.h b/tinyusb/common/common.h index 03d6387d7..9fc483b5b 100644 --- a/tinyusb/common/common.h +++ b/tinyusb/common/common.h @@ -42,10 +42,39 @@ extern "C" { #endif +#include #include "arch/arch.h" #include "compiler/compiler.h" #include "errors.h" +//#if ( defined CFG_PRINTF_UART || defined CFG_PRINTF_USBCDC || defined CFG_PRINTF_DEBUG ) +#if 1 + #define PRINTF_LOCATION(mess) printf("Assert: %s at line %d: %s\n", __func__, __LINE__, mess) +#else + #define PRINTF_LOCATION(mess) +#endif + +#define ASSERT_MESSAGE(condition, value, message) \ + do{\ + if (!(condition)) {\ + PRINTF_LOCATION(message);\ + return (value);\ + }\ + }while(0) + +#define ASSERT(condition, value) ASSERT_MESSAGE(condition, value, NULL) + +#define ASSERT_STATUS_MESSAGE(sts, message) \ + do{\ + ErrorCode_t status = (sts);\ + if (LPC_OK != status) {\ + PRINTF_LOCATION(message);\ + return status;\ + }\ + }while(0) + +#define ASSERT_STATUS(sts) ASSERT_STATUS_MESSAGE(sts, NULL) + #ifdef __cplusplus } #endif diff --git a/tinyusb/device/dcd.c b/tinyusb/device/dcd.c index cffe7a474..c41d429fb 100644 --- a/tinyusb/device/dcd.c +++ b/tinyusb/device/dcd.c @@ -38,7 +38,6 @@ #include "dcd.h" #include "romdriver/power_api.h" #define USBD_API ((*(ROM **)(0x1FFF1FF8))->pUSBD) // TODO HAL -#define ASSERT_STATUS(x) x void dcd_init() {