summaryrefslogtreecommitdiff
path: root/tinyusb/common
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb/common')
-rw-r--r--tinyusb/common/arch/arch.h2
-rw-r--r--tinyusb/common/common.h24
-rw-r--r--tinyusb/common/errors.c1
-rw-r--r--tinyusb/common/errors.h14
-rw-r--r--tinyusb/common/errors_def39
-rw-r--r--tinyusb/common/fifo.h6
6 files changed, 70 insertions, 16 deletions
diff --git a/tinyusb/common/arch/arch.h b/tinyusb/common/arch/arch.h
index d641ceefb..79a948330 100644
--- a/tinyusb/common/arch/arch.h
+++ b/tinyusb/common/arch/arch.h
@@ -65,3 +65,5 @@
#endif
#endif /* _TUSB_ARCH_H_ */
+
+/** @{ */
diff --git a/tinyusb/common/common.h b/tinyusb/common/common.h
index 768d9ae1c..480edde9c 100644
--- a/tinyusb/common/common.h
+++ b/tinyusb/common/common.h
@@ -41,7 +41,7 @@
* \note TBD
*/
-/** \ingroup Group_TinyUSB
+/**
* \defgroup Group_Common Common Files
* \brief Group_Common brief
*
@@ -54,37 +54,41 @@
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
+#include <stdio.h>
+#include "tusb_cfg.h"
#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 // TODO refractor ASSERT
- #define PRINTF_LOCATION(mess) printf("Assert: %s at line %d: %s\n", __func__, __LINE__, mess)
+#if CFG_TUSB_DEBUG_LEVEL
+ #define PRINTF(...) printf(__VA_ARGS__)
#else
- #define PRINTF_LOCATION(mess)
+ #define PRINTF(...)
#endif
#define ASSERT_MESSAGE(condition, value, message) \
do{\
if (!(condition)) {\
- PRINTF_LOCATION(message);\
+ PRINTF("Assert at %s line %d: %s\n", __func__, __LINE__, message); \
return (value);\
}\
}while(0)
#define ASSERT(condition, value) ASSERT_MESSAGE(condition, value, NULL)
-#define ASSERT_STATUS_MESSAGE(sts, message) \
+#define ASSERT_ERROR_MESSAGE(sts, message) \
do{\
- ErrorCode_t status = (sts);\
- if (LPC_OK != status) {\
- PRINTF_LOCATION(message);\
+ TUSB_Error_t status = (TUSB_Error_t)(sts);\
+ if (tERROR_NONE != status) {\
+ PRINTF("Assert at %s line %d: %s %s\n", __func__, __LINE__, TUSB_ErrorStr[status], message); \
return status;\
}\
}while(0)
-#define ASSERT_STATUS(sts) ASSERT_STATUS_MESSAGE(sts, NULL)
+#define ASSERT_ERROR(sts) ASSERT_ERROR_MESSAGE(sts, NULL)
#endif /* _TUSB_COMMON_H_ */
+
+/** @{ */
diff --git a/tinyusb/common/errors.c b/tinyusb/common/errors.c
index c0878ef67..26db61241 100644
--- a/tinyusb/common/errors.c
+++ b/tinyusb/common/errors.c
@@ -39,4 +39,5 @@ char const* const TUSB_ErrorStr[] = {
# define ERROR_ENUM(x) #x,
# include "errors_def"
# undef ERROR_ENUM
+ 0
};
diff --git a/tinyusb/common/errors.h b/tinyusb/common/errors.h
index 20a797792..0d36b56fc 100644
--- a/tinyusb/common/errors.h
+++ b/tinyusb/common/errors.h
@@ -42,23 +42,29 @@
*/
/** \ingroup Group_Common
- *
+ * \defgroup Group_Error tinyUSB Error Codes
* @{
*/
#ifndef _TUSB_ERRORS_H_
#define _TUSB_ERRORS_H_
-enum TUSB_ERROR {
+/** \enum TUSB_Error
+ * \brief Error Code returned
+ */
+
+typedef enum {
# define ERROR_ENUM(x) x,
# include "errors_def"
# undef ERROR_ENUM
-};
+ ERROR_COUNT
+}TUSB_Error_t;
#ifdef __cplusplus
extern "C" {
#endif
+/// Enum to String for debugging purposes. Only available if \ref CFG_TUSB_DEBUG_LEVEL > 0
extern char const* const TUSB_ErrorStr[];
#ifdef __cplusplus
@@ -66,3 +72,5 @@ extern char const* const TUSB_ErrorStr[];
#endif
#endif /* _TUSB_ERRORS_H_ */
+
+ /** @{ */
diff --git a/tinyusb/common/errors_def b/tinyusb/common/errors_def
new file mode 100644
index 000000000..927c72d7d
--- /dev/null
+++ b/tinyusb/common/errors_def
@@ -0,0 +1,39 @@
+/*
+ * errors_def
+ *
+ * Created on: Nov 27, 2012
+ * Author: hathach ([email protected])
+ */
+
+/*
+ * Software License Agreement (BSD License)
+ * Copyright (c) 2012, hathach ([email protected])
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+ * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+ * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+ * OF SUCH DAMAGE.
+ *
+ * This file is part of the tiny usb stack.
+ */
+
+ERROR_ENUM(tERROR_NONE)
+ERROR_ENUM(tERROR_FAILED)
diff --git a/tinyusb/common/fifo.h b/tinyusb/common/fifo.h
index 4a0bfc340..3ee9da7e6 100644
--- a/tinyusb/common/fifo.h
+++ b/tinyusb/common/fifo.h
@@ -51,10 +51,10 @@
#include "common/common.h"
-/**
- * \brief Simple FIFO
+/** \struct fifo_t
+ * \brief Simple Circular FIFO
*/
-typedef struct
+typedef struct _fifo_t
{
uint8_t* buf; ///< buffer pointer
uint16_t size; ///< buffer size