summaryrefslogtreecommitdiff
path: root/robot/errcatch.h
diff options
context:
space:
mode:
Diffstat (limited to 'robot/errcatch.h')
-rw-r--r--robot/errcatch.h25
1 files changed, 7 insertions, 18 deletions
diff --git a/robot/errcatch.h b/robot/errcatch.h
index 2297886..836da1b 100644
--- a/robot/errcatch.h
+++ b/robot/errcatch.h
@@ -2,22 +2,11 @@
#include <stdint.h>
-#include "consts.h"
-
-/**
- * error struct
- *
- * holds an error with type `code`, and an optional `message` with length
- * `message_length`
- */
-typedef struct {
- enum w2_e_errorcodes code;
- uint8_t message_length;
- char message[];
-} w2_s_error;
+#include "../shared/consts.h"
+#include "../shared/errors.h"
/** error ring buffer */
-extern w2_s_error g_w2_error_buffer[W2_ERROR_BUFFER_SIZE];
+extern w2_s_error *g_w2_error_buffer[W2_ERROR_BUFFER_SIZE];
/** stores head of ring buffer */
extern uint8_t g_w2_error_index;
/** stores start of ring buffer */
@@ -30,14 +19,14 @@ void w2_errcatch_main();
void w2_errcatch_handle_error(w2_s_error *error);
/** append error to error buffer */
-void w2_errcatch_throw(enum w2_e_errorcodes code);
+void w2_errcatch_throw(w2_e_errorcode code);
/** append error to error buffer (with debug message) */
-void w2_errcatch_throw_msg(enum w2_e_errorcodes code, uint16_t length, const char *message);
+void w2_errcatch_throw_msg(w2_e_errorcode code, uint16_t length, const char *message);
/**
* allocate and initialize error struct
*
- * TODO: doesn't handle null pointers from calloc
+ * TODO: doesn't handle null pointers from malloc
*/
-w2_s_error *w2_alloc_error(enum w2_e_errorcodes code, uint16_t length, const char *message);
+w2_s_error *w2_alloc_error(w2_e_errorcode code, uint16_t length, const char *message);