return mReceiverActiveSensingActive in SensingTimeout Handler:
- true when all is OK and active sensing is received on time
- false when active sensing is **not** received on tome
reworked ActiveSensing using input from a variety of device MIDI Implementation manuals (Roland, KORG, Yamaha) found on the internet.
Receiving ActiveSensing:
Once an Active Sensing message is received, the unit will begin monitoring the intervalbetween all subsequent messages. If there is an interval of ActiveSensingPeriodicity ms or longer betweenmessages while monitoring is active, the same processing as when All Sound Off, All Notes Off,and Reset All Controllers messages are received will be carried out. The unit will then stopmonitoring the message interval.
Sending ActiveSensing: send x ms after the last sent command
Types have names prepended by the port name
(defaults to `MIDI`), to allow multi-port applications.
This allows referencing those types elsewhere in the
application, without re-writing the template arguments,
and simplifies referencing the underlying Message type,
for SoftThru `filter`/`map`function definitions.
Proposition & discussion:
https://github.com/FortySevenEffects/arduino_midi_library/pull/232#issuecomment-910355200
* resolves#40 with franky47's proposed thru filter overhaul
* removes thru filter modes
* adds thru filter callback
* adds thru map callback
* old thru filter unit tests have been replicated with filter callbacks
* does not yet include documentation changes
I believe this implements the latest proposal for #40 and exercises
everything necessary in the unit tests, including the immutability of
`mMessage` after a thru map callback has modified the outgoing message.
The thru filter callbacks in the unit tests are not suitable for copying
and pasting by end-users due to the difference in the MIDI namespace
when setup via the unit tests vs via `MIDI_CREATE_DEFAULT_INSTANCE()`.
If the changes here are deemed suitable, I'll work on documentation.
* added CustomBaudRate example
- added customer baudrate example
- fixed old refs to examples in Doxygen
* fixed compile error for boards that have no Serial
* updated send(midiMessage&) to better handle system real time,
sysex and other system common messages
* use fully qualified function names as requested
Co-authored-by: Element <paul-emile.element@windriver.com>
- Build and run unit tests with CMake
- Track code coverage with Coveralls
- Build examples on officially supported boards
- Removed TravisCI configuration
Closes#233.
The Transport layer is started, but could never be stopped.
This change will allow the underlying library to call the end() method in the Transport layers (all other Transport layer have the end() method implemented)
Next step is to call the Transport end() method, when ending the MIDI instance