Skip to content

Commit 2d24c6b

Browse files
committed
Fixed bug where it didn’t read back the saved settings. Increased number of vibrato sensitivity settings. Included 0 in vibrato return setting, for Nord-like behaviour (no auto zero return). Changed to NRM and REV for the direction settings.
1 parent cca1223 commit 2d24c6b

File tree

3 files changed

+16
-23
lines changed

3 files changed

+16
-23
lines changed
Binary file not shown.
Binary file not shown.

NuEVI.ino

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,8 @@ PROGRAMME FUNCTION: EVI Wind Controller using the Freescale MP3V5004GP breath
242242
#define ROTN3_FACTORY 17 // -7 (+24) Rotation 3
243243
#define ROTN4_FACTORY 10 // -14 (+24) Rotation 4
244244
#define PRIO_FACTORY 0 // Mono priority 0 - BAS(e note), 1 - ROT(ating note)
245-
#define VIB_SENS_FACTORY 2 // 1 least sensitive, higher more sensitive
246-
#define VIB_RETN_FACTORY 2 // 1 fast return, higher slower return
245+
#define VIB_SENS_FACTORY 6 // 1 least sensitive, higher more sensitive
246+
#define VIB_RETN_FACTORY 2 // 0, no return, 1 slow return, higher faster return
247247
#define VIB_SQUELCH_FACTORY 15 // 0 to 30, vib signal squelch
248248
#define VIB_DIRECTION_FACTORY 0
249249

@@ -357,7 +357,7 @@ unsigned short dipSwBits; // virtual dip switch settings for special modes (work
357357
unsigned short priority; // mono priority for rotator chords
358358

359359
unsigned short vibSens = 2; // vibrato sensitivity
360-
unsigned short vibRetn = 1; // vibrato return speed
360+
unsigned short vibRetn = 2; // vibrato return speed
361361
unsigned short vibSquelch = 15; //vibrato signal squelch
362362
unsigned short vibDirection = DNWD; //direction of first vibrato wave UPWD or DNWD
363363

@@ -511,6 +511,7 @@ byte vibLedOff = 0;
511511
byte oldpkey = 0;
512512

513513
float vibDepth[10] = {0,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.40,0.45}; // max pitch bend values (+/-) for the vibrato settings
514+
int vibMaxList[12] = {300,275,250,225,200,175,150,125,100,75,50,25};
514515

515516
unsigned int curveM4[] = {0,4300,7000,8700,9900,10950,11900,12600,13300,13900,14500,15000,15450,15700,16000,16250,16383};
516517
unsigned int curveM3[] = {0,2900,5100,6650,8200,9500,10550,11500,12300,13100,13800,14450,14950,15350,15750,16150,16383};
@@ -680,6 +681,8 @@ void setup() {
680681
priority = readSetting(PRIO_ADDR);
681682
vibSens = readSetting(VIB_SENS_ADDR);
682683
vibRetn = readSetting(VIB_RETN_ADDR);
684+
vibSquelch = readSetting(VIB_SQUELCH_ADDR);
685+
vibDirection = readSetting(VIB_DIRECTION_ADDR);
683686

684687
legacy = dipSwBits & (1<<1);
685688
legacyBrAct = dipSwBits & (1<<2);
@@ -737,7 +740,7 @@ void setup() {
737740
display.setTextColor(WHITE);
738741
display.setTextSize(1);
739742
display.setCursor(85,52);
740-
display.println("v.1.2.4"); // FIRMWARE VERSION NUMBER HERE <<<<<<<<<<<<<<<<<<<<<<<
743+
display.println("v.1.2.5"); // FIRMWARE VERSION NUMBER HERE <<<<<<<<<<<<<<<<<<<<<<<
741744
display.display();
742745

743746
delay(1500);
@@ -1359,21 +1362,8 @@ void pitch_bend(){
13591362
calculatedPBdepth = pbDepthList[PBdepth];
13601363
if (halfPitchBendKey) calculatedPBdepth = calculatedPBdepth*0.5;
13611364

1362-
switch(vibSens){
1363-
case 1:
1364-
vibMax = 200;
1365-
break;
1366-
case 2:
1367-
vibMax = 100;
1368-
break;
1369-
case 3:
1370-
vibMax = 50;
1371-
break;
1372-
case 4:
1373-
vibMax = 25;
1374-
}
1365+
vibMax = vibMaxList[vibSens-1];
13751366

1376-
13771367
if (vibRead < vibThr){
13781368
if (UPWD == vibDirection){
13791369
vibSignal=vibSignal*0.5+0.5*map(constrain(vibRead,(vibZero-vibMax),vibThr),vibThr,(vibZero-vibMax),0,calculatedPBdepth*vibDepth[vibrato]);
@@ -1391,6 +1381,9 @@ void pitch_bend(){
13911381
}
13921382

13931383
switch(vibRetn){ // moving baseline
1384+
case 0:
1385+
//keep vibZero value
1386+
break;
13941387
case 1:
13951388
vibZero = vibZero*0.95+vibRead*0.05;
13961389
break;
@@ -3777,7 +3770,7 @@ void menu() {
37773770
break;
37783771
case 4:
37793772
// up
3780-
if (vibSens < 4){
3773+
if (vibSens < 12){
37813774
plotVibSens(BLACK);
37823775
vibSens++;
37833776
plotVibSens(WHITE);
@@ -3809,7 +3802,7 @@ void menu() {
38093802
case 1:
38103803
// down
38113804
plotVibRetn(BLACK);
3812-
if (vibRetn > 1){
3805+
if (vibRetn > 0){
38133806
vibRetn--;
38143807
}
38153808
plotVibRetn(WHITE);
@@ -5001,11 +4994,11 @@ void drawSubVibDirection(){
50014994
void plotVibDirection(int color){
50024995
display.setTextColor(color);
50034996
display.setTextSize(2);
5004-
display.setCursor(83,33);
4997+
display.setCursor(79,33);
50054998
if (DNWD == vibDirection){
5006-
display.println("DN");
4999+
display.println("NRM");
50075000
} else {
5008-
display.println("UP");
5001+
display.println("REV");
50095002
}
50105003
}
50115004

0 commit comments

Comments
 (0)