From 32a440a0b02d124d022758c4849673e9fba98e52 Mon Sep 17 00:00:00 2001 From: Francois Best Date: Mon, 1 Oct 2012 11:38:40 +0200 Subject: [PATCH] Added bases of a validation sketch and schematic. --- .../MIDI_LibValidator/MIDI_LibValidator.ino | 63 ++++++++++++++++++ .../fritzing/MIDI_LibValidator.fzz | Bin 0 -> 11760 bytes 2 files changed, 63 insertions(+) create mode 100644 res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino create mode 100644 res/Examples/MIDI_LibValidator/fritzing/MIDI_LibValidator.fzz diff --git a/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino b/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino new file mode 100644 index 0000000..7d901d9 --- /dev/null +++ b/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino @@ -0,0 +1,63 @@ + +#include +#include +#include + +// ----------------------------------------------------------------------------- + +#define LCD_D4 8 +#define LCD_D5 9 +#define LCD_D6 10 +#define LCD_D7 11 +#define LCD_RS 12 +#define LCD_EN 13 + +#define LED_PASS 4 +#define LED_FAIL 5 + +// ----------------------------------------------------------------------------- + +SoftwareSerial softSerial(2, 3); + +MIDI_CREATE_INSTANCE(HardwareSerial, Serial, midiHW); +MIDI_CREATE_INSTANCE(SoftwareSerial, softSerial, midiSW); +// \todo Create instance for USB if available + +LiquidCrystal lcd(LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7); + +// ----------------------------------------------------------------------------- + +template +void setupMidiInstance(midi::MidiInterface& inInstance) +{ + inInstance.begin(MIDI_CHANNEL_OMNI); + inInstance.turnThruOff(); +} + +void setupLCD() +{ + lcd.begin(16,2); +} + +void setupLEDs() +{ + pinMode(LED_PASS, OUTPUT); + pinMode(LED_FAIL, OUTPUT); +} + +// ----------------------------------------------------------------------------- + +void setup() +{ + setupMidiInstance(midiHW); + setupMidiInstance(midiSW); + setupLCD(); + setupLEDs(); +} + +// ----------------------------------------------------------------------------- + +void loop() +{ + +} diff --git a/res/Examples/MIDI_LibValidator/fritzing/MIDI_LibValidator.fzz b/res/Examples/MIDI_LibValidator/fritzing/MIDI_LibValidator.fzz new file mode 100644 index 0000000000000000000000000000000000000000..d344b8e453593a2d14c2145fad2ae11f12da9d75 GIT binary patch literal 11760 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