ECE2035 Project 2

Dependencies:   mbed mbed-rtos SDFileSystem

Committer:
kwengryn3
Date:
Tue Apr 20 18:15:22 2021 +0000
Revision:
10:1994adcfc86f
Parent:
7:95db0d89fbac
adv features

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kwengryn3 0:bff8b9020128 1 //=================================================================
kwengryn3 0:bff8b9020128 2 // The header file for general settings for the project
kwengryn3 0:bff8b9020128 3 //
kwengryn3 0:bff8b9020128 4 // Copyright 2020 Georgia Tech. All rights reserved.
kwengryn3 0:bff8b9020128 5 // The materials provided by the instructor in this course are for
kwengryn3 0:bff8b9020128 6 // the use of the students currently enrolled in the course.
kwengryn3 0:bff8b9020128 7 // Copyrighted course materials may not be further disseminated.
kwengryn3 0:bff8b9020128 8 // This file must not be made publicly available anywhere.
kwengryn3 0:bff8b9020128 9 //=================================================================
kwengryn3 0:bff8b9020128 10
kwengryn3 0:bff8b9020128 11 #ifndef GLOBAL_H
kwengryn3 0:bff8b9020128 12 #define GLOBAL_H
kwengryn3 0:bff8b9020128 13 #include "mbed.h"
kwengryn3 0:bff8b9020128 14 #include "wave_player.h"
kwengryn3 0:bff8b9020128 15 #include "uLCD_4DGL.h"
kwengryn3 0:bff8b9020128 16 #include "MMA8452.h"
kwengryn3 0:bff8b9020128 17 #include <math.h>
kwengryn3 5:b9b7993823e1 18 #include "SDFileSystem.h"
kwengryn3 0:bff8b9020128 19
kwengryn3 0:bff8b9020128 20 // === [global object] ===
kwengryn3 0:bff8b9020128 21 extern uLCD_4DGL uLCD;
kwengryn3 0:bff8b9020128 22 extern Serial pc; // USB Console output
kwengryn3 0:bff8b9020128 23 extern wave_player waver;
kwengryn3 0:bff8b9020128 24 extern PwmOut speaker;
kwengryn3 7:95db0d89fbac 25 //extern SDFileSystem sd;
kwengryn3 0:bff8b9020128 26
kwengryn3 0:bff8b9020128 27
kwengryn3 0:bff8b9020128 28 typedef struct {
kwengryn3 0:bff8b9020128 29 int x;
kwengryn3 0:bff8b9020128 30 int y;
kwengryn3 0:bff8b9020128 31 } point;
kwengryn3 0:bff8b9020128 32 typedef struct {
kwengryn3 0:bff8b9020128 33 point topLeft;
kwengryn3 0:bff8b9020128 34 point bottomRight;
kwengryn3 0:bff8b9020128 35 } boundingBox;
kwengryn3 0:bff8b9020128 36
kwengryn3 0:bff8b9020128 37 // === [global settings] ===
kwengryn3 0:bff8b9020128 38 #define BACKGROUND_COLOR 0x000000 //black
kwengryn3 0:bff8b9020128 39
kwengryn3 0:bff8b9020128 40 // === [define the macro of error handle function] ===
kwengryn3 0:bff8b9020128 41 // when the condition (c) is not true, assert the program and show error code
kwengryn3 0:bff8b9020128 42 #define ASSERT_P(c,e) do { \
kwengryn3 0:bff8b9020128 43 if(!(c)){ \
kwengryn3 0:bff8b9020128 44 uLCD.printf("\nERROR:%d\n",e); \
kwengryn3 0:bff8b9020128 45 pc.printf("\nERROR:%d\n",e); \
kwengryn3 0:bff8b9020128 46 while(1); \
kwengryn3 0:bff8b9020128 47 } \
kwengryn3 0:bff8b9020128 48 } while (0)
kwengryn3 0:bff8b9020128 49
kwengryn3 0:bff8b9020128 50 // === [error code] ===
kwengryn3 0:bff8b9020128 51 #define ERROR_NONE 0 // All good in the hood
kwengryn3 0:bff8b9020128 52 #define ERROR_FRUIT_INDEX_GET_INFO -1 // make sure your code gives the valid index for fruit_get_info()
kwengryn3 0:bff8b9020128 53 #define ERROR_FRUIT_INDEX_UPDATE_STATUS -2 // make sure your code gives the valid index for fruit_update_status()
kwengryn3 0:bff8b9020128 54 #define ERROR_FRUIT_SPEED -3 // fruit speed has to be between 1 and 8
kwengryn3 0:bff8b9020128 55 #define ERROR_FRUIT_INTERVAL -4 // fruit interval has to be between 1 and 100
kwengryn3 0:bff8b9020128 56 // other fruit error code ...
kwengryn3 0:bff8b9020128 57 #define ERROR_COMPOST_NUMBER -11 // number of fruits is larger than MAX_NUM_COMPOST
kwengryn3 0:bff8b9020128 58 #define ERROR_COMPOST_INDEX_GET_INFO -12 // make sure your code gives the valid index for compost_get_info()
kwengryn3 0:bff8b9020128 59 // DLL
kwengryn3 0:bff8b9020128 60 #define ERROR_DLL_INSERT_HEAD -14 // inserting into doubly linked list at head failed
kwengryn3 0:bff8b9020128 61 #define ERROR_DLL_DELETE -15 // deleting node from doubly linked list failed
kwengryn3 0:bff8b9020128 62 // other anti-fruit error code ...
kwengryn3 0:bff8b9020128 63
kwengryn3 0:bff8b9020128 64 #endif //GLOBAL_H