I'm back :(. I already have teensy 3.2 in my hands, but when testing, I'm having problems. My code made in arduino, now passed to teensyno, when verified is OK. I've loaded it to my teensy with a multiplexer with 16 buttons connected, and what it does is trigger the buttons alone without pressing them. Can I be wrong with my teensy's settings? The connection, I think is fine:
Pin 2 - S0
Pin 3 - S1
Pin 4 - S2
Pin 5 - S3
Pin 6 - Digital Input (Sig multiplexor)
#include <Encoder.h>
#include "Control_Surface.h"
USBMIDI_Interface midi;
CD74HC4067 mux1 = { //MUX1
6, // Digital input pin
{2, 3, 4, 5} // Address pins S0, S1, S2, S3
};
CD74HC4067 muxF = { //MUX FADERS
A0, // Digital input pin
{2, 3, 4, 5} // Address pins S0, S1, S2, S3
};
CCRotaryEncoder enc1 = {
{14, 15}, // pins
MCU::V_POT_1, //
1, // optional multiplier if the control isn't fast enough
};
CCRotaryEncoder enc2 = {
{16, 17}, // pins
MCU::V_POT_2, //
1, // optional multiplier if the control isn't fast enough
};
CCRotaryEncoder enc3 = {
{18, 19}, // pins
MCU::V_POT_3, //
1, // optional multiplier if the control isn't fast enough
};
CCRotaryEncoder enc4 = {
{20, 21}, // pins
MCU::V_POT_4, //
1, // optional multiplier if the control isn't fast enough
};
CCButton buttons[] = {
//MUX1
{ mux1.pin(0), {MIDI_CC::Damper_Pedal, CHANNEL_1} },
{ mux1.pin(1), {MIDI_CC::Damper_Pedal, CHANNEL_2} },
{ mux1.pin(2), {MIDI_CC::Damper_Pedal, CHANNEL_3} },
{ mux1.pin(3), {MIDI_CC::Damper_Pedal, CHANNEL_4} },
{ mux1.pin(4), {MIDI_CC::Damper_Pedal, CHANNEL_5} },
{ mux1.pin(5), {MIDI_CC::Damper_Pedal, CHANNEL_6} },
{ mux1.pin(6), {MIDI_CC::Damper_Pedal, CHANNEL_7} },
{ mux1.pin(7), {MIDI_CC::Damper_Pedal, CHANNEL_8} },
{ mux1.pin(8), {MIDI_CC::Damper_Pedal, CHANNEL_9} },
{ mux1.pin(9), {MIDI_CC::Damper_Pedal, CHANNEL_10} },
{ mux1.pin(10), {MIDI_CC::Damper_Pedal, CHANNEL_11} },
{ mux1.pin(11), {MIDI_CC::Damper_Pedal, CHANNEL_12} },
{ mux1.pin(12), {MIDI_CC::Damper_Pedal, CHANNEL_13} },
{ mux1.pin(13), {MIDI_CC::Damper_Pedal, CHANNEL_14} },
{ mux1.pin(14), {MIDI_CC::Damper_Pedal, CHANNEL_15} },
{ mux1.pin(15), {MIDI_CC::Damper_Pedal, CHANNEL_16} },
CCPotentiometer potentiometer[] = {
{ muxF.pin(0), {MIDI_CC::Channel_Volume, CHANNEL_1} },
{ muxF.pin(1), {MIDI_CC::Channel_Volume, CHANNEL_2} },
{ muxF.pin(2), {MIDI_CC::Channel_Volume, CHANNEL_3} },
{ muxF.pin(3), {MIDI_CC::Channel_Volume, CHANNEL_4} },
{ muxF.pin(4), {MIDI_CC::Channel_Volume, CHANNEL_5} },
{ muxF.pin(5), {MIDI_CC::Channel_Volume, CHANNEL_6} },
{ muxF.pin(6), {MIDI_CC::Channel_Volume, CHANNEL_7} },
{ muxF.pin(7), {MIDI_CC::Channel_Volume, CHANNEL_8} },
{ muxF.pin(8), {MIDI_CC::Channel_Volume, CHANNEL_9} },
{ muxF.pin(9), {MIDI_CC::Channel_Volume, CHANNEL_10} },
{ muxF.pin(10), {MIDI_CC::Channel_Volume, CHANNEL_11} },
{ muxF.pin(11), {MIDI_CC::Channel_Volume, CHANNEL_12} },
{ muxF.pin(12), {MIDI_CC::Channel_Volume, CHANNEL_13} },
{ muxF.pin(13), {MIDI_CC::Channel_Volume, CHANNEL_14} },
{ muxF.pin(14), {MIDI_CC::Channel_Volume, CHANNEL_15} },
{ muxF.pin(15), {MIDI_CC::Channel_Volume, CHANNEL_16} },
};
void setup() {
RelativeCCSender::setMode(relativeCCmode::KORG_KONTROL_INC_DEC_1);
Control_Surface.begin();
}
void loop() {
Control_Surface.loop();
}
