Hi,
a while ago I assembled a kit for a USB/MIDI interface that has a Teensy 4.1 at its core. It's working great.
The official firmware seems to use Teensy's MIDI and USBHost libraries.
I'm thinking about adapting (or maybe rewriting) the firmware: maybe give the thing a user interface (a few buttons and probably a screen), allow it to send regular MIDI clock messages, &ct.
Now I'm wondering how best to tackle the concurrency that will inevitably come up implementing these features.
I'm thinking about learning Zephyr RTOS since it seems supported by PlatformIO which I use for development.
So I guess my questions are:
Additional info:
a while ago I assembled a kit for a USB/MIDI interface that has a Teensy 4.1 at its core. It's working great.
The official firmware seems to use Teensy's MIDI and USBHost libraries.
I'm thinking about adapting (or maybe rewriting) the firmware: maybe give the thing a user interface (a few buttons and probably a screen), allow it to send regular MIDI clock messages, &ct.
Now I'm wondering how best to tackle the concurrency that will inevitably come up implementing these features.
I'm thinking about learning Zephyr RTOS since it seems supported by PlatformIO which I use for development.
So I guess my questions are:
- will MIDI and USBHost libraries still work if I use Zephyr?
- is this even a good idea?
Additional info:
- I'm proficient in general programming but not in low level/microcontroller development
- I'm currently learning FreeRTOS for an ESP32 project but couldn't find a way to use that with Teensy using PlatformIO