Minh Nguyen / Mbed OS Intelligent_Solar_Reflector

Dependencies:   Accelerometer LCD Inverter Algorithm MotorDriver Anemometer GUI ArduinoJson Misc Definitions Pushbutton WebSocketClient temp_fan

Revision:
0:74d6e93ec977
Child:
1:07f86b4db069
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Defs_Sett.h	Wed Feb 10 00:01:15 2021 +0000
@@ -0,0 +1,57 @@
+#ifndef DEFS_SETT_H
+#define DEFS_SETT_H
+
+//HARDWARE SETTINGS
+#define DEBOUNCE_TIME           10000           //Debounce time for pushbutton (us)
+#define INPUT_LOGIC             0               //0 - Active Low, 1 - Active High
+
+//BEHAVIORIAL SETTINGS
+#define TIME_NORMAL             900             //Time Between Adjustment in Normal Mode (seconds)
+#define TIME_WSETTING           3               //Time FN button need to be held for the system to go to WSETTING mode (seconds)
+#define TIME_MANUAL_TIMEOUT     3600            //Time for the system to resume NORMAL mode after idling in MANUAL mode (seconds)
+#define TIME_WSETTING_TIMEOUT   3               //Time for the system to resume NORMAL mode after idling in WSETTING mode (seconds)
+#define TICK_WIND               10000ms         //Interval for Checking Wind Speed
+
+//PHYSICAL ATTRIBUTES
+#define PANEL_HEIGHT            0.6             //Heigh of Panels' Pivot
+#define REFLECTOR1_HEIGHT       0.01            //Height of Reflector 1 Pivot
+#define REFLECTOR2_HEIGHT       0.01            //Height of Reflector 2 Pivot
+#define REFLECTOR1_LENGTH       1               //Length of Reflector 1
+#define REFLECTOR2_LENGTH       1               //Length of Reflector 2
+#define REFLECTOR1_DIST         0.6             //Distance Between Panel's Pivot and Reflector 1 Pivot
+#define REFLECTOR2_DIST         0.6             //Distance Between Panel's Pivot and Reflector 2 Pivot
+#define REFLECTOR1_LOW          0               //Lower Limit of Reflector 1 Range of Motion
+#define REFLECTOR2_LOW          0               //Lower Limit of Reflector 1 Range of Motion
+#define REFLECTOR1_HIGH         70              //Upper Limit of Reflector 2 Range of Motion
+#define REFLECTOR2_HIGH         70              //Upper Limit of Reflector 2 Range of Motion
+
+//ALGORITHM SETTINGS
+#define LOOP_LIMIT              1000            //Max Loop Iterration
+#define ERR_LIMIT               0.01            //Secant Error Limit
+
+//ACCELERATOR SETTINGS
+#define ANGLE_TOL               1               //Angle Tolerance (Degrees)
+#define MEAS_AXIS               0               //Measurement Axis (0 - X, 1 - Y, 2 - Z)
+#define N_AVG                   15              //Averaging
+
+//ANEMOMETER SETTINGS
+#define WIND_THRES_INIT         70              //Default safety windspeed (km/h)
+#define WIND_THRES_MIN          20              //Minimum safety windspeed setting (km/h)
+#define WIND_THRES_MAX          100             //Maximum safety windspeed setting (km/h)
+
+//MODES AND SOURCES
+//Operations
+#define OP_NORMAL               0
+#define OP_WIND                 1
+#define OP_MANUAL1              2
+#define OP_MANUAL2              3
+#define OP_WSETTING             4
+//Accelerometer Selection
+#define S_PANEL                 0
+#define S_R1                    1
+#define S_R2                    2
+//Motor Selection
+#define M1                      1
+#define M2                      2
+#define M_ALL                   3
+#endif
\ No newline at end of file