Minh Nguyen / Definitions

Defs_Sett.h

Committer:
khaiminhvn
Date:
2021-03-12
Revision:
5:8fb7e275f77a
Parent:
4:2f802af67f4d
Child:
6:ac0c66c4ed83

File content as of revision 5:8fb7e275f77a:

#ifndef DEFS_SETT_H
#define DEFS_SETT_H

//HARDWARE SETTINGS
#define DEBOUNCE_TIME           10000           //Debounce time for pushbutton (us)
#define INPUT_LOGIC             1               //0 - Active Low, 1 - Active High
#define LOOP_DELAY              2000           //Delay for main loop (us)

//BEHAVIORIAL SETTINGS
#define TIME_NORMAL             10              //Time Between Adjustment in Normal Mode (seconds)
#define TIME_WSETTING           1               //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               1000ms          //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

//ACCELEROMETER SETTINGS
#define ANGLE_TOL               2               //Angle Tolerance (Degrees)
#define N_AVG                   60              //Averaging
#define N_CAL                   150             //Calibration sampling
#define MEAS_AXIS               2               //Measurement Axis (0 - Z, 1 - Y, 2 - X)
#define MUL_P                   1.0             //Multiplier of panel accelerometer
#define MUL_R1                  1.0             //Multiplier of reflector 1 accelerometer
#define MUL_R2                  1.0             //Multiplier of reflector 2 accelerometer

//ANEMOMETER SETTINGS
#define WIND_THRES_INIT         10              //Default safety windspeed (km/h)
#define WIND_THRES_MIN          10              //Minimum safety windspeed setting (km/h)
#define WIND_THRES_MAX          100             //Maximum safety windspeed setting (km/h)
#define WIND_AVG                15              //Averaging
#define WIND_HIST               2               //Wind hysteresis
#define VCC                     3.3             //VCC of K64F board

//LCD SETTING
#define LCD_INIT_DELAY          100000          //LCD initialization delay
#define LCD_DELAY               1000            //Delay for printing characters (us)
#define LCD_WRATE               500               //LCD refresh rate for windspeed (ms)

//I2C SETTING
#define I2C_FREQ                50000           //I2C Frequency (Hz)

//MODES AND SOURCES
//Operations
#define OP_CALIBRATION          0
#define OP_NORMAL               1
#define OP_WIND                 2
#define OP_MANUAL1              3
#define OP_MANUAL2              4
#define OP_WSETTING             5
#define OP_PLACEMENT            6
//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