xevi/NuEVI/src/config.h
2024-11-09 10:06:36 -06:00

68 lines
2 KiB
C

#ifndef __CONFIG_H
#define __CONFIG_H
// Compile options, comment/uncomment to change
#define FIRMWARE_VERSION "0.0.1" // FIRMWARE VERSION NUMBER HERE <<<<<<<<<<<<<<<<<<<<<<<
#define ON_Delay 20 // Set Delay after ON threshold before velocity is checked (wait for tounging peak)
#define CCN_Port 5 // Controller number for portamento level
#define CCN_PortOnOff 65// Controller number for portamento on/off
#define START_NOTE 36 // set startNote to C (change this value in steps of 12 to start in other octaves)
#define FILTER_FREQ 30.0
#define SPIKE_FILTER_FREQ 150.0 // Detect fast changes in breath
#define ICM_FILTER_FREQ 2
#define BREATH_THR_MAX_BOOST 40.0
#define CAP_SENS_ABSOLUTE_MAX 1000 // For inverting capacitive sensors
#define PRESSURE_SENS_MULTIPLIER 10 // Multiply pressure sens so it's not a float
#define CALIBRATE_SAMPLE_COUNT 4
#define MENU_AUTO_OFF_TIME 30000
// Statup buttons
#define STARTUP_FACTORY_RESET 0x3
#define STARTUP_TEST 0x2
#define STARTUP_CONFIG 0xC
#define TEST_CONFIG 0xA
#define DEBUG_CONFIG 0x1
// Buttons
#define BTN_MENU 0x1
#define BTN_VAL1 0x2
#define BTN_VAL2 0x4
#define BTN_PRESET 0x8
#define KNOB_CURVE_THRESHOLD 180
#define KNOB_CURVE_MAX_MULTIPLIER 5
#define KNOB_DISPLAY_TIME 500
// Send breath CC data no more than every CC_BREATH_INTERVAL
// milliseconds
#define CC_BREATH_INTERVAL 5
#define SLOW_MIDI_ADD 7
#define CC_INTERVAL_PRIMARY 9
#define CC_INTERVAL_PORT 13
#define CC_INTERVAL_OTHER 37
#define LVL_TIMER_INTERVAL 15
#define CVPORTATUNE 2
#define maxSamplesNum 120
#define BREATH_LO_LIMIT 9000
#define BREATH_HI_LIMIT 12000
#define BITE_LO_LIMIT 0
#define BITE_HI_LIMIT 1000
#define PITCHB_LO_LIMIT -2000
#define PITCHB_HI_LIMIT 2000
#define EXTRA_LO_LIMIT -2000
#define EXTRA_HI_LIMIT 2000
#define CTOUCH_LO_LIMIT 500
#define CTOUCH_HI_LIMIT 1000
#define LEVER_LO_LIMIT -2000
#define LEVER_HI_LIMIT 2000
#define SPIKE_LO_LIMIT 0
#define SPIKE_HI_LIMIT 200
#define SLIDER_TOUCH_OFFSET 4
#endif