Minh Nguyen / Mbed OS Intelligent_Solar_Reflector

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

Committer:
khaiminhvn
Date:
Mon Mar 01 15:33:05 2021 +0000
Revision:
4:05c1a844a7b9
Parent:
2:944511c6c55f
Fixed angle calculation algorithm;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
khaiminhvn 0:74d6e93ec977 1 #ifndef DEFS_SETT_H
khaiminhvn 0:74d6e93ec977 2 #define DEFS_SETT_H
khaiminhvn 0:74d6e93ec977 3
khaiminhvn 0:74d6e93ec977 4 //HARDWARE SETTINGS
khaiminhvn 0:74d6e93ec977 5 #define DEBOUNCE_TIME 10000 //Debounce time for pushbutton (us)
khaiminhvn 0:74d6e93ec977 6 #define INPUT_LOGIC 0 //0 - Active Low, 1 - Active High
khaiminhvn 0:74d6e93ec977 7
khaiminhvn 0:74d6e93ec977 8 //BEHAVIORIAL SETTINGS
khaiminhvn 0:74d6e93ec977 9 #define TIME_NORMAL 900 //Time Between Adjustment in Normal Mode (seconds)
khaiminhvn 0:74d6e93ec977 10 #define TIME_WSETTING 3 //Time FN button need to be held for the system to go to WSETTING mode (seconds)
khaiminhvn 0:74d6e93ec977 11 #define TIME_MANUAL_TIMEOUT 3600 //Time for the system to resume NORMAL mode after idling in MANUAL mode (seconds)
khaiminhvn 0:74d6e93ec977 12 #define TIME_WSETTING_TIMEOUT 3 //Time for the system to resume NORMAL mode after idling in WSETTING mode (seconds)
khaiminhvn 0:74d6e93ec977 13 #define TICK_WIND 10000ms //Interval for Checking Wind Speed
khaiminhvn 0:74d6e93ec977 14
khaiminhvn 0:74d6e93ec977 15 //PHYSICAL ATTRIBUTES
khaiminhvn 0:74d6e93ec977 16 #define PANEL_HEIGHT 0.6 //Heigh of Panels' Pivot
khaiminhvn 0:74d6e93ec977 17 #define REFLECTOR1_HEIGHT 0.01 //Height of Reflector 1 Pivot
khaiminhvn 0:74d6e93ec977 18 #define REFLECTOR2_HEIGHT 0.01 //Height of Reflector 2 Pivot
khaiminhvn 4:05c1a844a7b9 19 #define REFLECTOR1_LENGTH 1.0 //Length of Reflector 1
khaiminhvn 4:05c1a844a7b9 20 #define REFLECTOR2_LENGTH 1.0 //Length of Reflector 2
khaiminhvn 0:74d6e93ec977 21 #define REFLECTOR1_DIST 0.6 //Distance Between Panel's Pivot and Reflector 1 Pivot
khaiminhvn 0:74d6e93ec977 22 #define REFLECTOR2_DIST 0.6 //Distance Between Panel's Pivot and Reflector 2 Pivot
khaiminhvn 4:05c1a844a7b9 23 #define REFLECTOR1_LOW 0.0 //Lower Limit of Reflector 1 Range of Motion
khaiminhvn 4:05c1a844a7b9 24 #define REFLECTOR2_LOW 0.0 //Lower Limit of Reflector 1 Range of Motion
khaiminhvn 0:74d6e93ec977 25 #define REFLECTOR1_HIGH 70 //Upper Limit of Reflector 2 Range of Motion
khaiminhvn 0:74d6e93ec977 26 #define REFLECTOR2_HIGH 70 //Upper Limit of Reflector 2 Range of Motion
khaiminhvn 0:74d6e93ec977 27
khaiminhvn 0:74d6e93ec977 28 //ALGORITHM SETTINGS
khaiminhvn 0:74d6e93ec977 29 #define LOOP_LIMIT 1000 //Max Loop Iterration
khaiminhvn 0:74d6e93ec977 30 #define ERR_LIMIT 0.01 //Secant Error Limit
khaiminhvn 0:74d6e93ec977 31
khaiminhvn 0:74d6e93ec977 32 //ACCELERATOR SETTINGS
khaiminhvn 2:944511c6c55f 33 #define ACC_FREQ 40000 //Accelerometer I2C frequency
khaiminhvn 2:944511c6c55f 34 #define ANGLE_TOL 2 //Angle Tolerance (Degrees)
khaiminhvn 0:74d6e93ec977 35 #define MEAS_AXIS 0 //Measurement Axis (0 - X, 1 - Y, 2 - Z)
khaiminhvn 0:74d6e93ec977 36 #define N_AVG 15 //Averaging
khaiminhvn 1:07f86b4db069 37 #define N_CAL 100 //Calibration sampling
khaiminhvn 0:74d6e93ec977 38
khaiminhvn 0:74d6e93ec977 39 //ANEMOMETER SETTINGS
khaiminhvn 0:74d6e93ec977 40 #define WIND_THRES_INIT 70 //Default safety windspeed (km/h)
khaiminhvn 0:74d6e93ec977 41 #define WIND_THRES_MIN 20 //Minimum safety windspeed setting (km/h)
khaiminhvn 0:74d6e93ec977 42 #define WIND_THRES_MAX 100 //Maximum safety windspeed setting (km/h)
khaiminhvn 2:944511c6c55f 43 #define VCC 3.3 //VCC of K64F board
khaiminhvn 2:944511c6c55f 44
khaiminhvn 2:944511c6c55f 45 //LCD SETTING
khaiminhvn 2:944511c6c55f 46 #define LCD_FREQ 40000 //LCD I2C frequency
khaiminhvn 2:944511c6c55f 47 #define LCD_INIT_DELAY 100000 //LCD initialization delay
khaiminhvn 2:944511c6c55f 48 #define LCD_DELAY 500 //Delay for printing characters (us)
khaiminhvn 0:74d6e93ec977 49
khaiminhvn 0:74d6e93ec977 50 //MODES AND SOURCES
khaiminhvn 0:74d6e93ec977 51 //Operations
khaiminhvn 2:944511c6c55f 52 #define OP_CALLIBRATION 0
khaiminhvn 2:944511c6c55f 53 #define OP_NORMAL 1
khaiminhvn 2:944511c6c55f 54 #define OP_WIND 2
khaiminhvn 2:944511c6c55f 55 #define OP_MANUAL1 3
khaiminhvn 2:944511c6c55f 56 #define OP_MANUAL2 4
khaiminhvn 2:944511c6c55f 57 #define OP_WSETTING 5
khaiminhvn 0:74d6e93ec977 58 //Accelerometer Selection
khaiminhvn 0:74d6e93ec977 59 #define S_PANEL 0
khaiminhvn 0:74d6e93ec977 60 #define S_R1 1
khaiminhvn 0:74d6e93ec977 61 #define S_R2 2
khaiminhvn 0:74d6e93ec977 62 //Motor Selection
khaiminhvn 0:74d6e93ec977 63 #define M1 1
khaiminhvn 0:74d6e93ec977 64 #define M2 2
khaiminhvn 0:74d6e93ec977 65 #define M_ALL 3
khaiminhvn 0:74d6e93ec977 66 #endif