diff --git a/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino b/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino index 90ed960..9d3cfd9 100644 --- a/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino +++ b/res/Examples/MIDI_LibValidator/MIDI_LibValidator.ino @@ -3,44 +3,24 @@ #include #include +#include "midi_ValidatorLCD.h" +#include "midi_ValidatorLEDs.h" + // ----------------------------------------------------------------------------- -#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 - #define NUM_TESTS 1 // ----------------------------------------------------------------------------- -byte progressChar[6][8] = -{ - { B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000 }, - { B10000, B10000, B10000, B10000, B10000, B10000, B10000, B10000 }, - { B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000 }, - { B11100, B11100, B11100, B11100, B11100, B11100, B11100, B11100 }, - { B11110, B11110, B11110, B11110, B11110, B11110, B11110, B11110 }, - { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111 }, -}; - -// ----------------------------------------------------------------------------- - 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); // ----------------------------------------------------------------------------- - +/* BEGIN_MIDI_NAMESPACE template @@ -153,7 +133,7 @@ END_MIDI_NAMESPACE midi::MidiTester testerHW(midiHW); midi::MidiTester testerSW(midiSW); - +*/ // ----------------------------------------------------------------------------- template @@ -163,20 +143,7 @@ void setupMidiInstance(midi::MidiInterface& inInstance) inInstance.turnThruOff(); } -void setupLCD() -{ - for (byte i = 0; i < 6; ++i) - lcd.createChar(i, progressChar[i]); - - lcd.begin(16,2); -} - -void setupLEDs() -{ - pinMode(LED_PASS, OUTPUT); - pinMode(LED_FAIL, OUTPUT); -} - +/* template void setupTester(midi::MidiTester& inTester) { @@ -188,53 +155,7 @@ void setupTesters() setupTester(testerHW); setupTester(testerSW); } - -// ----------------------------------------------------------------------------- - -void setProgressBar(unsigned inProgress, unsigned inTotal) -{ - const byte numCols = 16; - const byte numPix = 5; - const unsigned progress = (inProgress * numCols* numPix) / inTotal; - const byte cursorX = progress / numPix; - const byte charIndex = progress % numPix; - - lcd.setCursor(cursorX, 1); - lcd.write(charIndex); -} - -// ----------------------------------------------------------------------------- - -inline void blinkLed(byte inLedNum) -{ - digitalWrite(inLedNum, HIGH); - delay(100); - digitalWrite(inLedNum, LOW); -} - -inline void blinkPass() -{ - blinkLed(LED_PASS); -} - -inline void blinkFail() -{ - blinkLed(LED_FAIL); -} - -inline void setLedsFinal(bool inSuccess) -{ - if (inSuccess) - { - digitalWrite(LED_PASS, HIGH); - digitalWrite(LED_FAIL, LOW); - } - else - { - digitalWrite(LED_FAIL, HIGH); - digitalWrite(LED_PASS, LOW); - } -} +*/ // ----------------------------------------------------------------------------- @@ -244,13 +165,13 @@ void setup() setupMidiInstance(midiSW); setupLCD(); setupLEDs(); - setupTesters(); + //setupTesters(); } // ----------------------------------------------------------------------------- void loop() { - testerHW.runTests(); - testerSW.runTests(); + //testerHW.runTests(); + //testerSW.runTests(); } diff --git a/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.h b/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.h new file mode 100644 index 0000000..a6319ce --- /dev/null +++ b/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.h @@ -0,0 +1,14 @@ +#pragma once +#include + +// ----------------------------------------------------------------------------- + +extern LiquidCrystal lcd; + +// ----------------------------------------------------------------------------- + +void setupLCD(); + +// ----------------------------------------------------------------------------- + +void setProgressBar(unsigned inProgress, unsigned inTotal); diff --git a/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.ino b/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.ino new file mode 100644 index 0000000..c985a73 --- /dev/null +++ b/res/Examples/MIDI_LibValidator/midi_ValidatorLCD.ino @@ -0,0 +1,47 @@ + +#include "midi_ValidatorLCD.h" + +#define LCD_D4 8 +#define LCD_D5 9 +#define LCD_D6 10 +#define LCD_D7 11 +#define LCD_RS 12 +#define LCD_EN 13 + +// ----------------------------------------------------------------------------- + +byte progressChar[6][8] = +{ + { B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000 }, + { B10000, B10000, B10000, B10000, B10000, B10000, B10000, B10000 }, + { B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000 }, + { B11100, B11100, B11100, B11100, B11100, B11100, B11100, B11100 }, + { B11110, B11110, B11110, B11110, B11110, B11110, B11110, B11110 }, + { B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111 }, +}; + +// ----------------------------------------------------------------------------- + +LiquidCrystal lcd(LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7); + +void setupLCD() +{ + for (byte i = 0; i < 6; ++i) + lcd.createChar(i, progressChar[i]); + + lcd.begin(16,2); +} + +// ----------------------------------------------------------------------------- + +void setProgressBar(unsigned inProgress, unsigned inTotal) +{ + const byte numCols = 16; + const byte numPix = 5; + const unsigned progress = (inProgress * numCols* numPix) / inTotal; + const byte cursorX = progress / numPix; + const byte charIndex = progress % numPix; + + lcd.setCursor(cursorX, 1); + lcd.write(charIndex); +} diff --git a/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.h b/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.h new file mode 100644 index 0000000..0c6bf81 --- /dev/null +++ b/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.h @@ -0,0 +1,44 @@ +#pragma once + +#define LED_PASS 4 +#define LED_FAIL 5 + +// ----------------------------------------------------------------------------- + +void setupLEDs(); + +// ----------------------------------------------------------------------------- + +inline void blinkLed(byte inLedNum) +{ + digitalWrite(inLedNum, HIGH); + delay(100); + digitalWrite(inLedNum, LOW); +} + +inline void blinkPass() +{ + blinkLed(LED_PASS); +} + +inline void blinkFail() +{ + blinkLed(LED_FAIL); +} + +inline void setLedsFinal(bool inSuccess) +{ + if (inSuccess) + { + digitalWrite(LED_PASS, HIGH); + digitalWrite(LED_FAIL, LOW); + } + else + { + digitalWrite(LED_FAIL, HIGH); + digitalWrite(LED_PASS, LOW); + } +} + +// ----------------------------------------------------------------------------- + diff --git a/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.ino b/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.ino new file mode 100644 index 0000000..44a2406 --- /dev/null +++ b/res/Examples/MIDI_LibValidator/midi_ValidatorLEDs.ino @@ -0,0 +1,9 @@ +#include "midi_ValidatorLEDs.h" + +// ----------------------------------------------------------------------------- + +void setupLEDs() +{ + pinMode(LED_PASS, OUTPUT); + pinMode(LED_FAIL, OUTPUT); +}