diff --git a/src/MIDI.cpp b/src/MIDI.cpp index 590f8d3..0e36af9 100644 --- a/src/MIDI.cpp +++ b/src/MIDI.cpp @@ -25,28 +25,11 @@ // ----------------------------------------------------------------------------- -#if MIDI_AUTO_INSTANCIATE -# if MIDI_USE_SOFTWARE_SERIAL -# ifndef FSE_AVR -# include "../SoftwareSerial/SoftwareSerial.h" - SoftwareSerial softSerialClass(MIDI_SOFTSERIAL_RX_PIN, - MIDI_SOFTSERIAL_TX_PIN); -# else -# error Todo: implement SoftwareSerial for avr core. -# endif -# undef MIDI_SERIAL_PORT -# define MIDI_SERIAL_PORT softSerialClass - MIDI_NAMESPACE::MidiInterface MIDI(MIDI_SERIAL_PORT); - -# else -# ifdef FSE_AVR -# include -# else -# include "HardwareSerial.h" -# endif - MIDI_NAMESPACE::MidiInterface MIDI((HardwareSerial&)Serial); -# endif // MIDI_USE_SOFTWARE_SERIAL -#endif // MIDI_AUTO_INSTANCIATE +#if MIDI_AUTO_INSTANCIATE && defined(ARDUINO) + MIDI_CREATE_INSTANCE(MIDI_DEFAULT_SERIAL_CLASS, + MIDI_DEFAULT_SERIAL_PORT, + MIDI); +#endif // ----------------------------------------------------------------------------- diff --git a/src/MIDI.h b/src/MIDI.h index 421447a..3dbea85 100644 --- a/src/MIDI.h +++ b/src/MIDI.h @@ -225,8 +225,8 @@ END_MIDI_NAMESPACE // ----------------------------------------------------------------------------- -#if MIDI_AUTO_INSTANCIATE - extern MIDI_NAMESPACE::MidiInterface MIDI; +#if MIDI_AUTO_INSTANCIATE && defined(ARDUINO) + extern MIDI_NAMESPACE::MidiInterface MIDI; #endif // MIDI_AUTO_INSTANCIATE // ----------------------------------------------------------------------------- diff --git a/src/midi_Defs.h b/src/midi_Defs.h index c88c3f9..216ebde 100644 --- a/src/midi_Defs.h +++ b/src/midi_Defs.h @@ -14,7 +14,9 @@ // ----------------------------------------------------------------------------- -#ifdef FSE_AVR +#if defined(ARDUINO) +# include +#elif defined(FSE_AVR) # include #else # include diff --git a/src/midi_Settings.h b/src/midi_Settings.h index 4d27797..7345844 100644 --- a/src/midi_Settings.h +++ b/src/midi_Settings.h @@ -23,7 +23,7 @@ // Compilation flags. Set them to 1 to build the associated feature // (MIDI in, out, thru), or to 0 to disable the feature and save space. -// Note that the Thru can only work if in and out are enabled. +// Note that thru can work only if input and output are enabled. #define MIDI_BUILD_INPUT 1 #define MIDI_BUILD_OUTPUT 1 @@ -37,8 +37,10 @@ // You can turn this off by adding #define MIDI_AUTO_INSTANCIATE 0 just before // including in your sketch. #ifndef MIDI_AUTO_INSTANCIATE -# ifndef FSE_AVR +# ifdef ARDUINO # define MIDI_AUTO_INSTANCIATE 1 +# else +# define MIDI_AUTO_INSTANCIATE 0 ///< @see MIDI_CREATE_INSTANCE # endif #endif @@ -47,10 +49,14 @@ // Set the default port to use for MIDI. #if MIDI_AUTO_INSTANCIATE -# define MIDI_DEFAULT_SERIAL_PORT Serial -# define MIDI_SERIAL_CLASS HardwareSerial -# include "Arduino.h" -# include "HardwareSerial.h" +# ifdef ARDUINO +# define MIDI_DEFAULT_SERIAL_PORT Serial +# define MIDI_DEFAULT_SERIAL_CLASS HardwareSerial +# include "Arduino.h" +# include "HardwareSerial.h" +# else +# error Auto-instanciation disabled. Use MIDI_CREATE_INSTANCE macro. +# endif #endif // -----------------------------------------------------------------------------