ECE2035 Project 2
Dependencies: mbed mbed-rtos SDFileSystem
globals.h@10:1994adcfc86f, 2021-04-20 (annotated)
- 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?
User | Revision | Line number | New 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 |