Minh Nguyen / Definitions

Defs_Sett.h

Committer:
khaiminhvn
Date:
2021-03-08
Revision:
0:0c5c2cbf330a
Child:
1:f058cf4e422a

File content as of revision 0:0c5c2cbf330a:

#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