Commit graph

136 commits

Author SHA1 Message Date
Johan Berglund
4decdf1d72 Now it's also NuRAD firmware! Set define for compile option NURAD in hardware.h to switch. Added a new little thing for NuEVI too: releasing the rollers leaves octave in current one instead of going to bottom octave unless coming down from first roller. This is helpful against bass hum from filter leak when setting the EVI aside, using pitch CV from NuEVI and synth with no VCA in use or gate open (drone mode). 2019-12-11 16:12:01 +01:00
Johan Berglund
858bcb359e Hopefully I've managed to get all the legacy control stuff right this time. 2019-10-23 19:21:37 +02:00
Johan Berglund
bf125a3dd6 Fix to get the new pitchlatched patch change the same values as the other legacy ones. 2019-10-22 20:07:30 +02:00
Johan Berglund
32981cb992 Fix for negative breath activated controls. 2019-10-22 19:33:08 +02:00
Johan Berglund
8c1a7444c6 Changed LVL/GLD controls to K6 (increase) and K5 (decrease) to lessen risk of accidental change. LED indicator fix for pinky portamento. 2019-10-20 15:59:50 +02:00
Johan Berglund
58d7584f87 Added static glide/portamento control as pinky key setting. Use LEVEL control to set glide time. 2019-10-20 14:16:10 +02:00
Johan Berglund
053b954936 Added new dual trill functionality (contribution from Nyle) for third trill key allowing it to do both 3 semitones up and 4 semitones up. The alternate value is triggered by touching K3 and K7 (third trill key) at the same time. Third trill setting decides which interval is the standard "non-combo" one. Inspired by this combo thing, I also added an alternate way of doing lecacy style direct patch selection. Latch a note value using pinky key, then touch K1/K5 combo to send program change to that note value, or K2/K6 combo to send high and low numbers (108 to 127 and 0 to 36). 2019-10-20 12:25:24 +02:00
John Stäck
049cb6d434 Avoid floating-point math for vibrato calculations 2019-10-16 15:54:11 +02:00
John Stäck
cb7a4a8b88 No need for volatile copies of these variables. 2019-10-16 15:49:52 +02:00
John Stäck
0cbb6bde78 Explicitly initialize variables, use "bool-specific" values when setting. 2019-10-16 15:30:49 +02:00
John Stäck
7c1aa2c0a4 touchValue never used here, no point in reading touch data. 2019-10-16 15:28:23 +02:00
John Stäck
f36129d4bb Make IntervalTimer stub so simulator works 2019-10-16 15:28:01 +02:00
John Stäck
88b38b3f46 Remove trailing whitespace 2019-10-16 15:07:10 +02:00
Johan Berglund
cd91e6eece Found culprit in long lags issue in doorKnobCheck function. Reading keys again for that was not very clever... Fixed! Still want some more speed for main loop though. Now getting 6-7 ms. Had 5 ms back in 1.3.5 release. Removed scaling/curve for DAC and PWM DAC CV output. Instead made them FAST using timed interrupts. Now updates every 500 microseconds, allowing for audio rate modulation of CV on these outputs by humming into mouthpiece, just like with direct analog CV from sensor. 2019-10-15 16:43:54 +02:00
Johan Berglund
fee9e04ad6 Timing and breath CC rate improvements. 2019-10-09 09:15:15 +02:00
Johan Berglund
7449b04725 Send extra controller CC2 even if CC1 is off. 2019-09-12 18:47:56 +02:00
Johan Berglund
a141434952 Octave setting had stopped working. Corrected. 2019-09-11 07:25:38 +02:00
John Stäck
75ee097857
Merge branch 'master' into sysex 2019-08-26 16:09:32 +02:00
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
9e76cfbdde Upper bound on length of version string for sysex message 2019-08-15 08:04:41 +02:00
John Stäck
660d6583b3 Rename midi value conversion functions to something that possibly makes more sense 2019-08-15 08:04:14 +02:00
John Stäck
186be9ceb6 Proper bounds for breath cc value 2019-08-15 07:53:04 +02:00
John Stäck
fc36e5939b Add "magic" CRC value that skips verification (for testing purposes) 2019-08-09 08:19:02 +02:00
John Stäck
e264b01dfd Use wiring.h with proper case, so building hopefully works on Linux 2019-08-07 17:36:41 +02:00
John Stäck
1e9b470619 Actually match teensy/arduino signatures 2019-08-04 11:20:17 +02:00
John Stäck
8e6effaa41 no printf() in teensy code 2019-08-04 10:53:54 +02:00
John Stäck
1cdface168 Handle receiving of sysex conig data 2019-08-04 10:51:48 +02:00
John Stäck
72b305830f Add facility to receive config via sysex 2019-07-30 11:55:20 +02:00
John Stäck
075905f7ea Take exception to exceptions to handle argparser errors and help 2019-07-29 17:23:38 +02:00
John Stäck
2741ff5a27 Config management mode, to send/receive config via usb midi sysex 2019-07-29 17:05:10 +02:00
John Stäck
db4e4ac2f7 Needs more whitespace 2019-07-28 14:50:31 +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
6f976ea14d Use proper 3rd trill value for readTrills() 2019-07-27 00:02:25 +02:00
John Stäck
e04a14ef95 Simplify readSwitches() 2019-07-26 23:42:08 +02:00
John Stäck
25d22fc42f Make (almost) all EEPROM settings read be bounded, and rewritten if "out of bounds" 2019-07-25 11:58:09 +02:00
John Stäck
c8e96343d0 Move EEPROM read/write functions to settings 2019-07-25 11:07:41 +02:00
John Stäck
9fbfde3867 Force flags from dipSw to "nice 1-bit values" to prevent menus from locking up 2019-07-25 09:24:58 +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