From 5c4627d2575d353a84288ee84dbe6033b92abc56 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 13 Feb 2013 20:05:11 +0100 Subject: [PATCH] MIDI-out and MCP23017 sketch --- source/sketches/testing/MIDI-Out_MCP23017.ino | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 source/sketches/testing/MIDI-Out_MCP23017.ino diff --git a/source/sketches/testing/MIDI-Out_MCP23017.ino b/source/sketches/testing/MIDI-Out_MCP23017.ino deleted file mode 100644 index fb7e53c..0000000 --- a/source/sketches/testing/MIDI-Out_MCP23017.ino +++ /dev/null @@ -1,48 +0,0 @@ -#include - -//helper to check MCP23017 input -#define BIT_IS_SET(i, bits) (1 << i & bits) - -//array for the 8 inputs of bank A of MCP23017 -boolean button[8]; - -void setup() { - //set MIDI baudrate - Serial.begin(31250); - //start I2C - Wire.begin(); -} - -void loop() { - //0x20 address of MCP23017 (A0,A1,A2 to ground) - Wire.beginTransmission(0x20); - Wire.write(0x12); // set MCP23017 memory pointer to GPIOA address - Wire.endTransmission(); - Wire.requestFrom(0x20, 1); // request one byte of data from MCP20317 - int inputs = Wire.read(); - delayMicroseconds(10); - int i; - for(i=0;i<8;i++) { - //checkk for every input if its set - if (BIT_IS_SET(i,inputs)) { - //only send Note-on, when button was not pressed before - if(!button[i]) { - button[i] = true; - midiSignal(144,60+i,115); - } - } else { - //if not pressed, only send Note-off when button was pressed before - if(button[i]) { - button[i] = false; - midiSignal(128,60+i,0); - } - } - } -} - -//send MIDI signal -void midiSignal(byte b1, byte b2, byte b3) { - Serial.write(b1); - Serial.write(b2); - Serial.write(b2); -}