summaryrefslogtreecommitdiff
path: root/tinyusb/common/verify.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-03-08 11:42:28 +0700
committerhathach <[email protected]>2018-03-08 11:42:28 +0700
commit817f23e5e0f976814dfa0b5ccfa1f9f5cd1c3885 (patch)
tree80ed4682ad3770c22c4677aae19cc004a8091256 /tinyusb/common/verify.h
parentd28e7e3966bd4ac471b667c73d2cb1451808e641 (diff)
enhance
- add ASSERT_ - rename edpt_equal -
Diffstat (limited to 'tinyusb/common/verify.h')
-rw-r--r--tinyusb/common/verify.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/tinyusb/common/verify.h b/tinyusb/common/verify.h
index b2d49071d..f48e91662 100644
--- a/tinyusb/common/verify.h
+++ b/tinyusb/common/verify.h
@@ -62,8 +62,10 @@
#if TUSB_CFG_DEBUG >= 1
// #define VERIFY_MESS(format, ...) cprintf("[%08ld] %s: %d: verify failed\n", get_millis(), __func__, __LINE__)
#define VERIFY_MESS(_status) printf("%s: %d: verify failed, error = %s\n", __PRETTY_FUNCTION__, __LINE__, TUSB_ErrorStr[_status]);
+ #define _ASSERT_MESS() printf("%s: %d: assert failed\n", __PRETTY_FUNCTION__, __LINE__);
#else
#define VERIFY_MESS(_status)
+ #define _ASSERT_MESS()
#endif
/**
@@ -143,6 +145,18 @@
#define VERIFY_HDLR(...) GET_4TH_ARG(__VA_ARGS__, VERIFY_HDLR_3ARGS, VERIFY_HDLR_2ARGS)(__VA_ARGS__)
+
+/*------------------------------------------------------------------*/
+/* ASSERT
+ * basically VERIFY with hal_debugger_breakpoint as handler
+ * - 1 arg : return false if failed
+ * - 2 arg : return error if failed
+ *------------------------------------------------------------------*/
+#define ASSERT_1ARGS(cond) do { if (!(cond)) { hal_debugger_breakpoint(); _ASSERT_MESS() return false; } } while(0)
+#define ASSERT_2ARGS(cond, _error) do { if (!(cond)) { hal_debugger_breakpoint(); _ASSERT_MESS() return _error;} } while(0)
+
+#define ASSERT_(...) GET_3RD_ARG(__VA_ARGS__, ASSERT_2ARGS, ASSERT_1ARGS)(__VA_ARGS__)
+
#ifdef __cplusplus
}
#endif