Minh Nguyen / Definitions
Revision:
0:0c5c2cbf330a
Child:
1:f058cf4e422a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Defs_Sett.h	Mon Mar 08 18:09:21 2021 +0000
@@ -0,0 +1,66 @@
+#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.0             //Length of Reflector 1
+#define REFLECTOR2_LENGTH       1.0             //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.0             //Lower Limit of Reflector 1 Range of Motion
+#define REFLECTOR2_LOW          0.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 ACC_FREQ                40000           //Accelerometer I2C frequency
+#define ANGLE_TOL               2               //Angle Tolerance (Degrees)
+#define MEAS_AXIS               0               //Measurement Axis (0 - X, 1 - Y, 2 - Z)
+#define N_AVG                   15              //Averaging
+#define N_CAL                   100             //Calibration sampling
+
+//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)
+#define VCC                     3.3             //VCC of K64F board
+
+//LCD SETTING
+#define LCD_FREQ                50000           //LCD I2C frequency
+#define LCD_INIT_DELAY          100000          //LCD initialization delay
+#define LCD_DELAY               1000             //Delay for printing characters (us)
+
+//MODES AND SOURCES
+//Operations
+#define OP_CALLIBRATION         0
+#define OP_NORMAL               1
+#define OP_WIND                 2
+#define OP_MANUAL1              3
+#define OP_MANUAL2              4
+#define OP_WSETTING             5
+//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