I’ve been reading over code and docs to better understand what it would take to make a custom firmware which identifies as a compatible Monome device to serialosc. These are my notes so far.
Adding a new device, firmware procedure
- Generate a unique device ID
- Implement device discovery in firmware
- Can I use existing mext functions?
- Implement mext protocol for existing functions in firmware
Adding a new function, serialosc procedure
- Does you device need to add a new function to mext?
- Implement new callback handler and function definition in libmonome
- Implement callback functions in serialosc server
- Implement new function in firmware
What I have to go off is mostly the code in libmonome and the firmware from the mk repository
It’s a little overwhelming. I have a Teensy++ 2.0 and a DIY Illucia controller. I would like to start by modifying the firmware to respond to the documented mext serial protocol so serialoscd can receive data.