11#include <Arduino.h>
2-
2+
33// Select (remove //) the remote configuration profile you have:
44//#define FLYSKY_FS_I6X // <------- Flysky FS-i6x
55//#define FLYSKY_FS_I6S_EXCAVATOR // <------- Flysky FS-i6s for KABOLITE K336 hydraulic excavator (use IBUS communication setting)
@@ -38,8 +38,11 @@ uint32_t sbusBaud = 100000; // Standard is 100000. Try to lower it, if your chan
3838
3939// CHANNEL LINEARITY SETTINGS ****************************************************************************************************************
4040
41- //#define EXPONENTIAL_THROTTLE // Exponential throttle curve. Ideal for enhanced slow speed control in crawlers
42- //#define EXPONENTIAL_STEERING // Exponential steering curve. More steering accuracy around center position
41+ //#define EXPONENTIAL_THROTTLE // Exponential throttle curve. Ideal for enhanced slow speed control in crawlers
42+ //#define EXPONENTIAL_STEERING // Exponential steering curve. More steering accuracy around center position
43+
44+ // CHANNEL AVERAGING (EXPERIMENTAL!) **********************************************************************************************************
45+ //#define CHANNEL_AVERAGING // This is recommended, if you have issues with unstable channels
4346
4447// CONFIGURATION PROFILES *********************************************************************************************************************
4548/*
@@ -74,7 +77,7 @@ uint32_t sbusBaud = 100000; // Standard is 100000. Try to lower it, if your chan
7477//
7578// (2) Now go to "Functions" -> "Dual rate/exp.".
7679// Note, that "Normal" changes to "Sport" as soon as the selected Fly mode switch is toggled.
77- //
80+ //
7881// (3) Now switch to "Sport" and set the "Rate" of "Ch2" from 100 to 75.
7982// Do the exact same thing for "Ch4", but don't change "Ch1" (this one should still be 100 in both modes)!
8083
@@ -113,7 +116,7 @@ boolean channelReversed[14] = {
113116 false, // CH11
114117 false, // CH12
115118 false // CH13
116- };
119+ };
117120
118121// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
119122boolean channelAutoZero [14 ] = {
@@ -131,7 +134,7 @@ boolean channelAutoZero[14] = {
131134 false, // CH11
132135 false, // CH12
133136 false // CH13
134- };
137+ };
135138
136139// Channels signal range calibration -----
137140const uint16_t pulseNeutral = 30 ;
@@ -181,7 +184,7 @@ boolean channelReversed[14] = {
181184 false, // CH11
182185 false, // CH12
183186 false // CH13
184- };
187+ };
185188
186189// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
187190boolean channelAutoZero [14 ] = {
@@ -199,7 +202,7 @@ boolean channelAutoZero[14] = {
199202 false, // CH11
200203 false, // CH12
201204 false // CH13
202- };
205+ };
203206
204207// Channels signal range calibration -----
205208const uint16_t pulseNeutral = 30 ;
@@ -249,7 +252,7 @@ boolean channelReversed[14] = {
249252 false, // CH11
250253 false, // CH12
251254 false // CH13
252- };
255+ };
253256
254257// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
255258boolean channelAutoZero [14 ] = {
@@ -267,7 +270,7 @@ boolean channelAutoZero[14] = {
267270 false, // CH11
268271 false, // CH12
269272 false // CH13
270- };
273+ };
271274
272275// Channels signal range calibration -----
273276const uint16_t pulseNeutral = 30 ;
@@ -284,30 +287,30 @@ const uint16_t pulseSpan = 480;
284287#ifdef FLYSKY_GT5
285288
286289/* Communication settings (above):-----------------------
287- * #define IBUS_COMMUNICATION // Use IBUS (tested with FS-IA6B receiver)
288- */
290+ #define IBUS_COMMUNICATION // Use IBUS (tested with FS-IA6B receiver)
291+ */
289292
290293/* Transmitter settings -----------------------
291- * Menu EPA:
292- * select AUX 3
293- * L.F.U. 100%, R.B.D. 75%
294- * select AUX 6
295- * L.F.U. 75%, R.B.D. 75%
296- *
297- * SVC off
298- * CRAWL off
299- *
300- * Save
301- */
302-
303- /* Remote channel functions -----------------------
304- * Channel 1 = Steering and automatic indicators
305- * Channel 2 = Throttle & brake- reversing-lights
306- * Channel 3 = Push button on the transmitter grip = hazards on / off
307- * Channel 4 = 3 positiion switch on the transmitter grip = gearbox shifting
308- * Channel 5 = left pot: left turn = blue lights & siren, right turn = horn
309- * Channel 6 = right pot: left turn = engine start / stop, right turn = light sequences switching (hold it in end position, then return to center pos.)
310- */
294+ Menu EPA:
295+ select AUX 3
296+ L.F.U. 100%, R.B.D. 75%
297+ select AUX 6
298+ L.F.U. 75%, R.B.D. 75%
299+
300+ SVC off
301+ CRAWL off
302+
303+ Save
304+ */
305+
306+ /* Remote channel functions -----------------------
307+ Channel 1 = Steering and automatic indicators
308+ Channel 2 = Throttle & brake- reversing-lights
309+ Channel 3 = Push button on the transmitter grip = hazards on / off
310+ Channel 4 = 3 positiion switch on the transmitter grip = gearbox shifting
311+ Channel 5 = left pot: left turn = blue lights & siren, right turn = horn
312+ Channel 6 = right pot: left turn = engine start / stop, right turn = light sequences switching (hold it in end position, then return to center pos.)
313+ */
311314
312315// Channel assignment (use NONE for non existing channels!)
313316// Remote channel ####### // Sound controller channel ##########################################
@@ -341,7 +344,7 @@ boolean channelReversed[14] = {
341344 false, // CH11
342345 false, // CH12
343346 false // CH13
344- };
347+ };
345348
346349// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
347350boolean channelAutoZero [14 ] = {
@@ -359,7 +362,7 @@ boolean channelAutoZero[14] = {
359362 false, // CH11
360363 false, // CH12
361364 false // CH13
362- };
365+ };
363366
364367// Channels signal range calibration -----
365368const uint16_t pulseNeutral = 30 ;
@@ -376,25 +379,25 @@ const uint16_t pulseSpan = 480;
376379#ifdef RGT_EX86100
377380
378381/* Communication settings (above):-----------------------
379- * Use PWM commmunication mode
380- */
382+ Use PWM commmunication mode
383+ */
381384
382385/* Transmitter settings -----------------------
383- * CH1 & 2 reverse: R
384- * CH2 EPA (LO & HI): max.
385- * CH1 DR: about 60% (so that the steerning servo is not pushing against end stops)
386- * CH1 center position: 0
387- * CH2 center position: around 0, so that vehicle is driving a straight line
388- *
389- * NOTE: do not adjust the settings above without rebooting the ESP32!
390- *
391- */
392-
393- /* Remote channel functions -----------------------
394- * Channel 1 = Steering and automatic indicators
395- * Channel 2 = Throttle & brake- reversing-lights
396- * Channel 3 = 2 position switch on the transmitter grip = horn on / off
397- */
386+ CH1 & 2 reverse: R
387+ CH2 EPA (LO & HI): max.
388+ CH1 DR: about 60% (so that the steerning servo is not pushing against end stops)
389+ CH1 center position: 0
390+ CH2 center position: around 0, so that vehicle is driving a straight line
391+
392+ NOTE: do not adjust the settings above without rebooting the ESP32!
393+
394+ */
395+
396+ /* Remote channel functions -----------------------
397+ Channel 1 = Steering and automatic indicators
398+ Channel 2 = Throttle & brake- reversing-lights
399+ Channel 3 = 2 position switch on the transmitter grip = horn on / off
400+ */
398401
399402// Channel assignment (use NONE for non existing channels!)
400403// Remote channel ####### // Sound controller channel ##########################################
@@ -428,7 +431,7 @@ boolean channelReversed[14] = {
428431 false, // CH11
429432 false, // CH12
430433 false // CH13
431- };
434+ };
432435
433436// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
434437boolean channelAutoZero [14 ] = {
@@ -446,7 +449,7 @@ boolean channelAutoZero[14] = {
446449 false, // CH11
447450 false, // CH12
448451 false // CH13
449- };
452+ };
450453
451454// Channels signal range calibration -----
452455const uint16_t pulseNeutral = 30 ;
@@ -494,7 +497,7 @@ boolean channelReversed[14] = {
494497 false, // CH11
495498 false, // CH12
496499 false // CH13
497- };
500+ };
498501
499502// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
500503boolean channelAutoZero [14 ] = {
@@ -512,7 +515,7 @@ boolean channelAutoZero[14] = {
512515 false, // CH11
513516 false, // CH12
514517 false // CH13
515- };
518+ };
516519
517520// Channels signal range calibration -----
518521const uint16_t pulseNeutral = 30 ;
@@ -560,7 +563,7 @@ boolean channelReversed[14] = {
560563 false, // CH11
561564 false, // CH12
562565 false // CH13
563- };
566+ };
564567
565568// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
566569boolean channelAutoZero [14 ] = {
@@ -578,7 +581,7 @@ boolean channelAutoZero[14] = {
578581 false, // CH11
579582 false, // CH12
580583 false // CH13
581- };
584+ };
582585
583586// Channels signal range calibration -----
584587const uint16_t pulseNeutral = 30 ;
@@ -626,7 +629,7 @@ boolean channelReversed[14] = {
626629 false, // CH11
627630 false, // CH12
628631 false // CH13
629- };
632+ };
630633
631634// Channels auto zero adjustment or not (don't use it for channels without spring centered neutral position, switches or unused channels)
632635boolean channelAutoZero [14 ] = {
@@ -644,7 +647,7 @@ boolean channelAutoZero[14] = {
644647 false, // CH11
645648 false, // CH12
646649 false // CH13
647- };
650+ };
648651
649652// Channels signal range calibration -----
650653const uint16_t pulseNeutral = 30 ;
0 commit comments