Repository navigation
Expand file tree
/
Copy pathConfig.h
More file actions
228 lines (199 loc) · 7.54 KB
/
Copy pathConfig.h
File metadata and controls
228 lines (199 loc) · 7.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#ifndef CONFIG_H
#define CONFIG_H
// ======================== LOOP RATES ========================
#define NRF24_RATE_HZ 250
#define CRSF_RATE_HZ 250
#define NRF24_DELAY_MS (1000 / NRF24_RATE_HZ)
#define CRSF_DELAY_MS (1000 / CRSF_RATE_HZ)
// ======================== BLUETOOTH ========================
#define BT_DEVICE_NAME "RC Controller"
#define BT_MANUFACTURER "Muki01"
// ======================== DEBUG ========================
#define DEBUG_ENABLE 1
// ======================== FEATURE TOGGLES ========================
#define ENABLE_CRSF 1
#define ENABLE_NRF24 0
#define ENABLE_BLUETOOTH 0
#define ENABLE_SFX 1
#define ENABLE_VOICE 1
// ======================== CRSF ========================
#define CRSF_BAUDRATE 420000
#define CRSF_RX -2
#define CRSF_TX 16
// ======================== NRF24 ========================
#define NRF24_CE_PIN 17
#define NRF24_CSN_PIN 5
#define NRF24_PIPE 0xE8E8F0F0E1LL
#define NRF24_PA_LEVEL RF24_PA_HIGH
#define NRF24_DATA_RATE RF24_250KBPS
// ======================== MP3 PLAYER ========================
#define MP3_BAUDRATE 9600
#define MP3_Player_RX -3
#define MP3_Player_TX 0
#define MP3_EQ_MODE 5
#define MP3_Player Serial2
// ======================== JOYSTICK / SWITCH / TOGGLE PINS ========================
#define throttle_in 33
#define yaw_in 4
#define pitch_in 34
#define roll_in 39
#define pot1_in 35
#define pot2_in 25
#define toggle1_in 32
#define toggle2_in 26
#define toggle3_in 14
#define toggle4_in 27
#define switch1_in 22
#define switch2_in 36
// ======================== OTHER PINS ========================
#define battery_in 13
#define buttons_analog_in 12
#define led 2
#define BUZZER_PIN 15
// ======================== SERIAL ========================
#define SERIAL_BAUD 115200
// ======================== MODE DEFINITIONS ========================
#define MODE_NRF24 1
#define MODE_CRSF 2
#define MODE_BT 3
// ======================== MOVEMENT DETECTION ========================
#define MOVEMENT_THRESHOLD 5
#define WARN1_MS 60000
#define WARN2_MS 90000
#define SLEEP_MS 120000
#define WAKEUP_PIN GPIO_NUM_32
#define WAKEUP_LEVEL 0
// ======================== BATTERY ========================
#define VOLTAGE_PIN battery_in
#define R1 9970.0 //10k
#define R2 5030.0 //5.1k
#define CALIBRATION_FACTOR 0.984
#define BATT_ALPHA 0.01
#define BATT_OVERSAMPLE 16
#define BATT_FULL_V 8.1
#define BATT_HIGH_V 7.6
#define BATT_MEDIUM_V 7.3
#define BATT_LOW_V 6.9
#define BATT_VERY_LOW_V 6.7
// ======================== CHANNEL INPUT MAPPING (ADC) ========================
// Shared across all protocols
#define CH_THROTTLE_IN_MIN 200
#define CH_THROTTLE_IN_MAX 3500
#define CH_THROTTLE_DZ_LOW 1750
#define CH_THROTTLE_DZ_HIGH 1850
#define CH_YAW_IN_MIN 400
#define CH_YAW_IN_MAX 3450
#define CH_YAW_DZ_LOW 1820
#define CH_YAW_DZ_HIGH 1960
#define CH_PITCH_IN_MIN 400
#define CH_PITCH_IN_MAX 3050
#define CH_PITCH_DZ_LOW 1690
#define CH_PITCH_DZ_HIGH 1890
#define CH_ROLL_IN_MIN 280
#define CH_ROLL_IN_MAX 3300
#define CH_ROLL_DZ_LOW 1580
#define CH_ROLL_DZ_HIGH 1740
#define CH_POT1_IN_MIN 0
#define CH_POT1_IN_MAX 4095
#define CH_POT1_DZ_LOW 2048
#define CH_POT1_DZ_HIGH 2048
#define CH_POT2_IN_MIN 0
#define CH_POT2_IN_MAX 4095
#define CH_POT2_DZ_LOW 2048
#define CH_POT2_DZ_HIGH 2048
// ======================== NRF24 OUTPUT MAPPING (0-255) ========================
#define NRF24_CENTER 127
#define NRF24_THROTTLE_OUT_MIN 255
#define NRF24_THROTTLE_OUT_MAX 0
#define NRF24_YAW_OUT_MIN 0
#define NRF24_YAW_OUT_MAX 255
#define NRF24_PITCH_OUT_MIN 0
#define NRF24_PITCH_OUT_MAX 255
#define NRF24_ROLL_OUT_MIN 255
#define NRF24_ROLL_OUT_MAX 0
#define NRF24_POT1_OUT_MIN 255
#define NRF24_POT1_OUT_MAX 0
#define NRF24_POT2_OUT_MIN 255
#define NRF24_POT2_OUT_MAX 0
#define NRF24_AUX_OFF 0
#define NRF24_AUX_ON 255
// ======================== CRSF OUTPUT MAPPING (191-1792) ========================
#define CRSF_CENTER 992
#define CRSF_THROTTLE_OUT_MIN 1792
#define CRSF_THROTTLE_OUT_MAX 191
#define CRSF_YAW_OUT_MIN 191
#define CRSF_YAW_OUT_MAX 1792
#define CRSF_PITCH_OUT_MIN 191
#define CRSF_PITCH_OUT_MAX 1792
#define CRSF_ROLL_OUT_MIN 1792
#define CRSF_ROLL_OUT_MAX 191
#define CRSF_POT1_OUT_MIN 1792
#define CRSF_POT1_OUT_MAX 191
#define CRSF_POT2_OUT_MIN 1792
#define CRSF_POT2_OUT_MAX 191
#define CRSF_AUX_OFF 191
#define CRSF_AUX_ON 1792
// ======================== BLUETOOTH OUTPUT MAPPING (0-32767) ========================
#define BT_CENTER 16383
#define BT_THROTTLE_OUT_MIN 0
#define BT_THROTTLE_OUT_MAX 32767
#define BT_YAW_OUT_MIN 0
#define BT_YAW_OUT_MAX 32767
#define BT_PITCH_OUT_MIN 0
#define BT_PITCH_OUT_MAX 32767
#define BT_ROLL_OUT_MIN 32767
#define BT_ROLL_OUT_MAX 0
#define BT_POT1_OUT_MIN 32767
#define BT_POT1_OUT_MAX 0
#define BT_POT2_OUT_MIN 32767
#define BT_POT2_OUT_MAX 0
#define BT_THROTTLE_DZ_LOW 1850
#define BT_THROTTLE_DZ_HIGH 1850
// ======================== MP3 TRACK NUMBERS ========================
#define TRACK_UNSAFE_INPUT 1
#define TRACK_ACRO_MODE 2
#define TRACK_ANGLE_MODE 3
#define TRACK_HORIZON_MODE 4
#define TRACK_ALTITUDE_HOLD 5
#define TRACK_SYSTEM_ARMED 6
#define TRACK_SYSTEM_DISARMED 7
#define TRACK_MARIO_SFX 8
#define TRACK_MODE_BT 9
#define TRACK_BATT_VERY_LOW 10
#define TRACK_BATT_CRITICAL 11
#define TRACK_BATT_FULL 12
#define TRACK_BATT_HIGH 13
#define TRACK_BATT_MEDIUM 14
#define TRACK_BATT_LOW 15
// #define TRACK_BATT_FULL 10
// #define TRACK_BATT_HIGH 11
// #define TRACK_BATT_MEDIUM 12
// #define TRACK_BATT_LOW 13
// #define TRACK_BATT_VERY_LOW 14
// #define TRACK_BATT_CRITICAL 15
#define TRACK_IDLE_WARNING 16
#define TRACK_GOING_SLEEP 17
// ======================== MP3 COMMANDS ========================
#define MP3_CMD_NEXT 0x01
#define MP3_CMD_PREV 0x02
#define MP3_CMD_PLAY_TRACK 0x03
#define MP3_CMD_VOL_UP 0x04
#define MP3_CMD_VOL_DOWN 0x05
#define MP3_CMD_SET_VOL 0x06
#define MP3_CMD_SET_EQ 0x07
#define MP3_CMD_REPEAT 0x08
#define MP3_CMD_INIT_TF 0x09
#define MP3_CMD_SLEEP 0x0A
#define MP3_CMD_PLAY 0x0D
#define MP3_CMD_PAUSE 0x0E
#define MP3_CMD_START_BYTE 0x7E
#define MP3_CMD_VERSION 0xFF
#define MP3_CMD_DATA_LEN 0x06
#define MP3_CMD_NO_FEEDBACK 0x00
#define MP3_CMD_END_BYTE 0xEF
#define MP3_TF_INIT_PARAM 2
// ======================== SPIFFS ========================
#define SPIFFS_SETTINGS_FILE "/settings.conf"
#define SPIFFS_ERR_BLINK_MS 1000
#define SPIFFS_ERR_BLINK_COUNT 100
#endif