Skip to content

Commit 4189aff

Browse files
committed
v9.7.0: many changes according to change log
1 parent a70c65b commit 4189aff

18 files changed

Lines changed: 2554 additions & 2140 deletions

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,17 @@ const uint8_t shakerStop = 60; // Shaker power while engine stop (max. 255, abou
514514

515515
## Changelog (newest on top):
516516

517+
### New in V 9.7.0:
518+
- NEOPIXEL_KNIGHT_RIDER scanner optimized, synchrone with sound
519+
- NEOPIXEL_BLUELIGHT: red & blue bluelight animation for fire trucks etc.
520+
- NEOPIXEL_HIGHBEAM: Neopixel bar now also usable for full beam and headlight flasher. Also working in combination with NEOPIXEL_KNIGHT_RIDER & NEOPIXEL_BLUELIGHT
521+
- "Audio2Header.html" tool now able to remove noise in silent passages (option "remove noise floor")
522+
- ESC state machine hanging in case 1 or 3, if throttle trigger direction changed qickly: bug solved
523+
- Engine volume raising, if throttle trigger direction changed qickly: bug solved
524+
- Improved ESC_DEBUG messages
525+
- 3_adjustmentsESC.h: options better organized, OVERDRIVE now also usable with VIRTUAL_3_SPEED. In this case, the 4th (overdrive) gear is engaged @ full throttle & high RPM in 3rd gear
526+
- 2_adjustmentsRemote.h: CHANNEL_AVERAGING option (recommended, if you have issues with unstable channels)
527+
517528
### New in V 9.6.0:
518529
- New version numbering: mainVersion.subVersion.patch It is also displayed in Serial Monitor, so you always know, which version you have on your vehicle
519530
- "Out of fuel" voice message in many languages in "3_adjustmentsESC.h"

src/10_adjustmentsTrailer.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
// IMPORTANT!! Replace the addresses below with your trailers MAC addresses!! --------------------------
1313
// Trailer 1
14-
//uint8_t broadcastAddress1[] = {0x4C, 0xEB, 0xD6, 0x7C, 0x02, 0x74}; // Bruder Low Loader
14+
uint8_t broadcastAddress1[] = {0x4C, 0xEB, 0xD6, 0x7C, 0x02, 0x74}; // Bruder Low Loader
1515
//uint8_t broadcastAddress1[] = {0x4C, 0xEB, 0xD6, 0x7C, 0x1E, 0x10}; // US flatbed
16-
uint8_t broadcastAddress1[] = {0xAC, 0x67, 0xB2, 0x12, 0x30, 0x28}; // white board
16+
//uint8_t broadcastAddress1[] = {0xAC, 0x67, 0xB2, 0x12, 0x30, 0x28}; // white board
1717
//uint8_t broadcastAddress1[] = {0xA0, 0x20, 0xA6, 0x10, 0x46, 0x3B}; // D1 Mini ESP8266
1818

1919
// Trailer 2

src/1_adjustmentsVehicle.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
//#include "vehicles/ScaniaV8_50ton.h" // SCANIA V8 50 ton truck. Unknown model. Bad quality!
2929
//#include "vehicles/ScaniaV8.h" // SCANIA V8 truck, unknown model
3030
//#include "vehicles/1000HpScaniaV8.h" // 1000 HP SCANIA V8 truck with open pipes. Insane sound! Good bass speakers reqired
31-
#include "vehicles/Scania143.h" // SCANIA 143 V8 - the legend! The best sounding in my opinion
31+
//#include "vehicles/Scania143.h" // SCANIA 143 V8 - the legend! The best sounding in my opinion
3232
//#include "vehicles/ScaniaV8Firetruck.h" // SCANIA V8 firetruck, automatic Allison 6 speed transmission with torque converter, "Martinshorn" siren
3333
//#include "vehicles/VolvoFH16_750.h" // Volvo FH16 750 truck. Inline 6, 750 horses, open pipes!
3434
//#include "vehicles/VolvoFH16_OpenPipe.h" // Volvo FH truck. Inline 6, open pipes, alternative version
@@ -84,7 +84,7 @@
8484
// EU SUV --------
8585
//#include "vehicles/DefenderV8Automatic.h" // Land Rover Defender 90 V8 automatic (very nice V8 with lots of bass)
8686
//#include "vehicles/DefenderV8OpenPipeAutomatic.h" // Land Rover Defender 90 V8 automatic, open pipes (optimised for smaller speakers)
87-
//#include "vehicles/DefenderV8OpenPipe.h" // Land Rover Defender 90 V8 manual, open pipes (optimised for smaller speakers)
87+
#include "vehicles/DefenderV8OpenPipe.h" // Land Rover Defender 90 V8 manual, open pipes (optimised for smaller speakers)
8888
//#include "vehicles/DefenderV8CrawlerAutomatic.h" // Land Rover Defender 90 V8 automatic crawler
8989
//#include "vehicles/DefenderTd5.h" // Land Rover Defender 90 Td5 R5 Diesel
9090

src/2_adjustmentsRemote.h

Lines changed: 62 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
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)
119122
boolean 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 -----
137140
const 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)
187190
boolean 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 -----
205208
const 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)
255258
boolean 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 -----
273276
const 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)
347350
boolean 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 -----
365368
const 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)
434437
boolean 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 -----
452455
const 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)
500503
boolean 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 -----
518521
const 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)
566569
boolean 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 -----
584587
const 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)
632635
boolean 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 -----
650653
const uint16_t pulseNeutral = 30;

src/3_adjustmentsESC.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858

5959
// General options
6060
//#define QUICRUN_FUSION // Linearity compensation for HOBBYWING Quicrun Fusion motor / ESC combo
61-
//#define ESC_DIR // uncomment this, if your motor is spinning in the wrong direction
61+
#define ESC_DIR // uncomment this, if your motor is spinning in the wrong direction
6262

6363
/* RZ7886 motor driver IC instead of ESC. Not in combination with #define THIRD_BRAKELIGHT or #define TRAILER_LIGHTS_TRAILER_PRESENCE_SWITCH_DEPENDENT
6464
Wiring:
@@ -108,23 +108,24 @@ const uint16_t escTakeoffPunch = 0;
108108
const uint16_t escReversePlus = 0;
109109

110110
// Brake margin: (Experimental!)
111-
// This setting prevents the ESC to go completely back to zero / neutral as long as the braker trigger is pulled.
111+
// This setting prevents the ESC from going completely back to zero / neutral as long as the braker trigger is pulled.
112112
// This prevents the vehicle from rolling back as long as brake is applied. 0 = no effect, ca. 20 = strong effect.
113113
// How it works? Prevents the ESC from entering the "drag brake range"
114-
// Warning: vehicle may be unable to stop, if too high, especially when driving downhill!
115-
const uint16_t brakeMargin = 10; // For RZ7886 motor driver and 370 motor = 10
114+
// Warning: vehicle may be unable to stop, if too high, especially when driving downhill! NEVER more than 20!
115+
const uint16_t brakeMargin = 0; // For RZ7886 motor driver and 370 motor = 10
116116

117117
// Battery low discharge protection (only for boards with voltage divider resistors):
118+
// IMPORTANT: adjust RESISTOR_TO_BATTTERY_PLUS & DIODE_DROP until your readings are correct!
118119
//#define BATTERY_PROTECTION // This will disable the ESC output, if the battery cutout voltage is reached
119120
const float CUTOFF_VOLTAGE = 3.3; // Usually 3.3 V per LiPo cell. NEVER below 3.2 V!
120121
const float FULLY_CHARGED_VOLTAGE = 4.2; // Usually 4.2 V per LiPo cell, NEVER above!
121-
const uint16_t RESISTOR_TO_BATTTERY_PLUS = 9650; // 10000 Ohms (9900 for switch mode test board, 9650 for Ural)
122+
const uint16_t RESISTOR_TO_BATTTERY_PLUS = 10000; // 10000 Ohms (9900 for switch mode test board, 9650 for Ural, 9500 for Landy)
122123
const uint16_t RESISTOR_TO_GND = 1000; // 1000 Ohms
123-
const float DIODE_DROP = 0.0; // About 0.34V for SS34 diode (0 for Ural)
124+
const float DIODE_DROP = 0.34; // About 0.34V for SS34 diode on switch mode board (0 for Ural & Landy)
124125
volatile int outOfFuelVolumePercentage = 80; // Adjust the message volume in %
125126
// Select the out of fuel message you want:
126-
//#include "vehicles/sounds/OutOfFuelEnglish.h"
127-
#include "vehicles/sounds/OutOfFuelGerman.h"
127+
#include "vehicles/sounds/OutOfFuelEnglish.h"
128+
//#include "vehicles/sounds/OutOfFuelGerman.h"
128129
//#include "vehicles/sounds/OutOfFuelFrench.h"
129130
//#include "vehicles/sounds/OutOfFuelDutch.h"
130131
//#include "vehicles/sounds/OutOfFuelSpanish.h"

0 commit comments

Comments
 (0)