[+] Add constants for pins

This commit is contained in:
Hykilpikonna
2023-03-25 19:49:40 -04:00
parent f465f3b0c2
commit 9e387e222f
+29 -8
View File
@@ -7,14 +7,35 @@
// Configuration
// ========================================
// 4 Multiplexers: GPIO pins for each analog multiplexer that handles 16 sensors
// Notes are connected in order: Mux #1 (0-15), Mux #2 (16-31), Mux #3 (32-47), Mux #4 (48-61)
// 4 1:16 Multiplexers: GPIO pins for each analog multiplexer that handles 12 sensors of an octave
// Notes are connected in order: Mux #1 (0-11), Mux #2 (12-23), Mux #3 (24-35), Mux #4 (36-47), Mux #5 (48-59)
const int NUM_MUX = 5;
const int PINS_PER_MUX = 12;
const int mux_in[] = {34, 34, 35, 34, 34}; // Analog signal input
const int MUX_IN[NUM_MUX] = {34, 34, 35, 34, 34}; // Analog signal input
// Select pins for every multiplexer, each multiplexer has 4 select pins, all sel0 are connected to 14, etc.
const int NUM_MUX_SEL = 4;
const int mux_sel[4] = {14, 27, 16, 17};
const int MUX_SEL_OUT[NUM_MUX_SEL] = {14, 27, 16, 17};
// 3 1:8 Multiplexers for the midi panel
const int P_NUM_MUX = 3;
const int P_PINS_PER_MUX = 8;
const int P_BUTTON_MUX_IN[P_NUM_MUX] = {-1, -1}; // Digital signal inputs for button multiplexers
const int P_KNOB_MUX_IN = -1; // Analog signal inputs for potentiometer
// Select pins for every multiplexer, each multiplexer has 3 select pins
const int P_NUM_MUX_SEL = 3;
const int P_MUX_SEL_OUT[P_NUM_MUX_SEL] = {-1, -1, -1};
// Rotary encoder pins
const int P_NUM_ROTARY = 4;
const int P_ROTARY_A[P_NUM_ROTARY] = {-1, -1, -1, -1};
const int P_ROTARY_B[P_NUM_ROTARY] = {-1, -1, -1, -1};
// LED light strips
const int P_LED_BTN = -1;
const int P_LED_KNOB = -1;
const int P_LED_ROTARY = -1;
// ========================================
// Code
@@ -48,8 +69,8 @@ val active_threshold = 100; // Minimum value to be considered as a hit
void setup()
{
// Initialize pin and serial
for (int pin: mux_in) pinMode(pin, INPUT);
for (int pin: mux_sel) pinMode(pin, OUTPUT);
for (int pin: MUX_IN) pinMode(pin, INPUT);
for (int pin: MUX_SEL_OUT) pinMode(pin, OUTPUT);
Serial.begin(9600);
Serial.printf("Initialized\r\n");
@@ -98,7 +119,7 @@ void loop()
for (int j = 0; j < NUM_MUX_SEL; j++)
{
// i >> j is the jth bit of i
digitalWrite(mux_sel[j], (i >> j) & 1);
digitalWrite(MUX_SEL_OUT[j], (i >> j) & 1);
}
// Read four input pins from the multiplexer
@@ -108,7 +129,7 @@ void loop()
if (note_id >= NUM_NOTES) break;
// Read the analog input
int v = analogRead(mux_in[j]);
int v = analogRead(MUX_IN[j]);
if (v != lasts[note_id])
{
// Serial prints are really slow, so don't use them in debug mode