f

Dependencies:   mbed 4DGL-uLCD-SE MMA8452

Revision:
0:8e3b9bb1084a
Child:
5:077b66dfe296
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/globals.h	Thu Mar 10 05:18:13 2022 +0000
@@ -0,0 +1,43 @@
+//=================================================================
+// The header file for general settings for the project
+//
+// Copyright 2020 Georgia Tech.  All rights reserved.
+// The materials provided by the instructor in this course are for
+// the use of the students currently enrolled in the course.
+// Copyrighted course materials may not be further disseminated.
+// This file must not be made publicly available anywhere.
+//=================================================================
+
+#ifndef GLOBAL_H
+#define GLOBAL_H
+#include "mbed.h"
+#include "wave_player.h"
+#include "uLCD_4DGL.h"
+#include "MMA8452.h"
+#include <math.h>
+
+// === [global object] ===
+extern uLCD_4DGL uLCD;
+extern Serial pc;           // USB Console output
+extern wave_player waver;
+extern PwmOut speaker;
+
+// === [global settings] ===
+// === [define the macro of error handle function] ===
+// when the condition (c) is not true, assert the program and show error code
+#define ASSERT_P(c,e) do { \
+    if(!(c)){ \
+        uLCD.printf("\nERROR:%d\n",e); \
+        pc.printf("\nERROR:%d\n",e); \
+        while(1); \
+    } \
+} while (0)
+
+// === [error code] ===
+#define ERROR_NONE 0 // All good in the hood
+
+#define ERROR_DLL_INSERT_HEAD             -14 // inserting into doubly linked list at head failed
+#define ERROR_DLL_DELETE                  -15 // deleting node from doubly linked list failed
+// other anti-fruit error code ...
+
+#endif //GLOBAL_H