Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: Accelerometer LCD Inverter Algorithm MotorDriver Anemometer GUI ArduinoJson Misc Definitions Pushbutton WebSocketClient temp_fan
Defs_Sett.h
- Committer:
- khaiminhvn
- Date:
- 2021-03-01
- Revision:
- 4:05c1a844a7b9
- Parent:
- 2:944511c6c55f
File content as of revision 4:05c1a844a7b9:
#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 40000 //LCD I2C frequency
#define LCD_INIT_DELAY 100000 //LCD initialization delay
#define LCD_DELAY 500 //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
