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@4:05c1a844a7b9, 2021-03-01 (annotated)
- 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?
| User | Revision | Line number | New 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 | 
