Commit graph

53 commits

Author SHA1 Message Date
Johan Berglund
bab51190e1 Fix for bite vibrato sensitivity. Added increased range of sensitivity settings. Added possibility to use both bite and lever for vibrato at the same time. Separate timing interval for breath (trying to get speed up again). Moved Teensy touch sense calls for pinky key and special key to function less often called (every standard CC interval). Changed menu name VEL BIAS to VEL BOOST which is a more accurate description. 2019-08-25 12:38:02 +02:00
Johan Berglund
8ad8803c57 Added AT (aftertouch) instead of OFF for Level control. 2019-08-21 18:33:09 +02:00
Johan Berglund
d5506ff2b9 Added secondary CC for extra controller and a Level CC control (stored), both with new settings for pinky key. New pinky settings: "EC2" sends on/off (127/0) for extra ctr CC2. "ECS" uses pinky key as switch between sending primary and secondary CC with extra controller. "LVL" lights up breath and portamento LEDs to indicate level (breath LED on full is max level, portamento LED full is min level), and level can be adjusted with K5 (up) and K1 (down). "LVP" is the same as "LVL", but with stored level transmitted at power up. 2019-08-21 08:44:22 +02:00
Johan Berglund
fcf3bf2e17 Adjust bite vibrato sensitivity range. 2019-08-20 09:19:52 +02:00
John Stäck
4966a7ea42 Incorporate Filters code into NuEVI repo for smoother setup. 2019-07-27 16:58:34 +02:00
John Stäck
c6ad2b6c53 Init variables to avoid (incorrect) compiler warnings 2019-07-27 13:32:39 +02:00
John Stäck
3ae4147d7e Move all the LED things to a separate file, as mentioned in comments 2019-07-27 00:42:27 +02:00
John Stäck
3903ec7b98 Mistakes were made 2019-07-27 00:20:01 +02:00
John Stäck
a5385a9ec1 Wrap status led usage in neat functions 2019-07-27 00:06:52 +02:00
John Stäck
e04a14ef95 Simplify readSwitches() 2019-07-26 23:42:08 +02:00
John Stäck
16e9bd0407 Define constant for "dipswitch" positions 2019-07-25 09:09:00 +02:00
John Stäck
ae41482351 Move all EEPROM stuff into settings file
Refactor version upgrade logic
Add some new settings values
2019-07-25 08:50:54 +02:00
John Stäck
def0dcacd0 Remove global var for wireless power, add wl channel menu 2019-07-25 08:48:28 +02:00
John Stäck
33bfc9ea08 Use settings flag for DAC output mode (remove CVSCALEBOARD define) 2019-07-25 08:48:28 +02:00
John Stäck
671dfe9b2c Define constant for "dipswitch" positions 2019-07-25 08:47:58 +02:00
John Stäck
7b179d4343 Add settings for fast boot, bcas mode, 3rd trill, dac out 2019-07-25 08:47:58 +02:00
John Stäck
c38adcd56c Move all EEPROM stuff into settings file
Refactor version upgrade logic
Add some new settings values
2019-07-25 08:47:58 +02:00
John Stäck
66b782da16 Menu option to set midibeam power level 2019-07-20 10:38:23 +02:00
Johan Berglund
407683bbc3 Added portamento on vibrato lever when vibrato is controlled with bite 2019-07-18 14:50:35 +02:00
Johan Berglund
ed7db007eb Removed SR and SR+ from CC list 2019-07-18 14:07:52 +02:00
Johan Berglund
597991c968 Added possibility to use bite sensor for vibrato. 2019-07-18 13:58:28 +02:00
Johan Berglund
1cc50cff63 Added secondary breath CC setting (free 1-127) with a rise multiplier to make this CC rise faster than primary CC, for example to get a fast rising VCA control together with a less steep VCF slope. Changed portamento sensor name to BITE. Put SNS dots for MPR121 and Teensy touch keys on separate rows to avoid blanking when redrawn. Note: Update resets to factory settings. 2019-07-15 13:46:34 +02:00
Johan Berglund
1d34681c40 EXTRAS menu page added, with items LEGACY PB, LEGACY BR, GATE HOLD and SPECIAL KEY to enable/disable these special functions. 2019-07-15 07:51:44 +02:00
Johan Berglund
9f7fbb60c3 Deglitching on keys also for CV note pitch. CV note pitch now also changes immediately when new note is fingered in note off state, not waiting for new note on. 2019-07-12 13:57:34 +02:00
Mikael Degerfält
68d8ac984b Out of bounds check fix 2019-06-26 23:45:15 +02:00
Mikael Degerfält
faf4f528b3 Custom draw function for curve to show the form and not just name
Draw the curve as well as the name of curve. Could be optimised a bit by not evaluating the curve every pixel, but something like every third pixel. Could also draw dots instead of lines if we need extra speed.
2019-06-26 17:52:43 +02:00
Mikael Degerfält
5d333432ce Removed switch statement for curves, use array lookup instead 2019-06-25 23:00:45 +02:00
John Stäck
cc86c357a0 Move defines elsewhere as they're used in multiple places 2019-06-25 13:42:22 +02:00
John Stäck
416b2a1730 Restructure and clarify defined constants 2019-06-25 13:42:22 +02:00
John Stäck
bc31cb9eef Remove stale commented-out code 2019-06-25 13:42:22 +02:00
John Stäck
549c2797b0 Use pin names rather than hardcoding 2019-06-25 13:42:22 +02:00
John Stäck
7342de4d82 Annotate "fingering math" for readability 2019-06-25 13:41:34 +02:00
John Stäck
34a3dd0613
Merge pull request #17 from Trasselfrisyr/numenu
Full Menu Refactoring
2019-06-25 13:06:02 +02:00
John Stäck
b6ed8126b7 Allow midi+serial usb type too (useful for "console debugging") 2019-06-24 15:38:29 +02:00
John Stäck
50b1fe9eb3 Check for correct target platform and USB type 2019-06-24 15:00:00 +02:00
Mikael Degerfält
bddbffd51d Moved over the rotation menu to new system
Had to change how the values where stored in RAM from singed to unsigned to be able to use the generic menu features. Also had to add the MenuEntrySub as a parameter to the menu callback functions to be able fo display and store the correct values.

Did some major cleanup now that the special case of rotator menu is gone together with all uses of the old version of the sub menu struct.
2019-06-23 17:14:18 +02:00
Mikael Degerfält
4c4d0e8b5a Unified main and patch menu input handling
Now all menu pages are handled the same way, which is great because now I can implement scrolling in the menu pages.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
0d0ea5051d Made the sensor adjust menu driven by data
* Moved menu titles and option names into data structures.
 * Unified select menu option code
 * Also unified handling of menu selection, although main and rotator menus are still handled the old way.
 * Moved struct definitions to numenu.h
 * Grouped functions and variables together based on usage.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
e362546e3c First iteration of menu cleanup
* Broke up the code into more general functions instead of duplicating code
 * Made stuff const and removed variables no longer used
 * Use defines for menu button values
 * Changed the order or things to avoid forward declarations
 * Use array lookup instead of switch-case on some menu options
 * Adjust menu functionification
 * Cleaned up sensor rendering
2019-06-23 17:14:17 +02:00
Mikael Degerfält
25a31d8df8 Write new factor constants even if old version was < 24
This bug would probably never happen in real life, and could be fix by holding down menu and enter buttons at startup. But a bug is a bug.
The only reason I found this bug is that the simulator didn’t initialise EEPROM to 0xff, and even after I did that it crashed, because a version of 0xffff wasn't handled.
2019-06-23 10:24:42 +02:00
Mikael Degerfält
c43be09b1f Save memory by changing int arrays to const short arrays
No need to have them in RAM since they are never changed, and their value was never higher than 14 bits, so using 32 was just a waste.
2019-06-09 16:53:17 +02:00
Mikael Degerfält
cc3323fd03 Move access to usbMIDI to midi.ino
NuEVI.ino shouldn’t have to know about usbMIDI.
2019-06-08 22:22:13 +02:00
Mikael Degerfält
921fdb1266 Global namespace cleanup
Moved variables only used in menu to menu code. Variables only used in NuEVI.ino removed from globals.h and made static.
2019-06-08 15:34:16 +02:00
Mikael Degerfält
58ea673994 Moved settings #defines to settings.h
I did feel like they belong in config.h
2019-06-04 23:34:26 +02:00
Mikael Degerfält
4bf2a3a91e Renamed menu.ino to menu.cpp
This change required lots of other changes to have it compile. I had to declare all variables from NuEVI.ino used by the menu as extern in a separate header file (globals.h).
Also I moved all defines from NuEVI.ino to a config.h file. I think some of these could be moved back or even moved into menu.cpp.
I declared many variables and functions in menu.cpp as static and moved them around to avoid forward declarations. For simplicity I did some forward declarations anyway.
Some varibles only used in menu.cpp was moved from NuEVI.ino instead of having them as externals.
2019-06-03 19:24:21 +02:00
Johan Berglund
f0010cb08c Support for CV box/CV board (compile option). Match idle CV from PWM breath CV on A6 to direct output idle voltage from breath sensor (so any of them can be used for CV box without need for recalibration of box). Added reading and ignoring incoming USB MIDI messages to prevent buffers from getting filled up blocking outgoing messages. 2019-05-25 11:05:17 +02:00
Johan Berglund
f06eb0b9a4 Cleanup 2019-03-21 09:28:21 +01:00
Johan Berglund
37c77356d5 Added way to enter regular menu instead of rotator menu (touch special key) if touch sensing is set too high. Added support for pneumatic bite sensing (add-on board). Experimental pitch CV out for built-in add-on CV scaler board (#define CVSCALEBOARD). LED brightness fix. 2019-03-21 09:15:28 +01:00
John Stäck
b6fc9c74d5
Merge pull request #4 from blind/calibrationloop
Use loop for calibration
2019-03-13 20:06:23 +01:00
John Stäck
cf89c9df42 Call this version 1.3.3. If it passes testing. 2019-03-05 08:02:31 +01:00