Hi everybody,
I've been reading a lot of posts, old and new, on this forum for the last couple weeks. I'm really impressed, and to be honest a little intimidated, by both the breadth and depth of embedded systems knowledge here. I'm working on a senior design project that is essentially an enhanced expression pedal -- enhanced in the sense that we want the user to be able to control at least two musical parameters through MIDI CC signals both independently and simultaneously using center-of-mass (X & Y). We also want to support Open Sound Control (OSC). We want to use the Teensy 3.2 to control it, with an LCD screen and buttons serving as the user interface.
The actual weight measurement will be done using load cells in the four corners of a rectangular platform, whose outputs will each be routed to individual instrumentation amplifiers and then to the Teensy's analog inputs. The measurement will then be scaled to between 0-127 for MIDI depending on the force applied, and sent to a specific MIDI device determined by the user. Using the menu, the user will be able to assign a means of control, specifically, center-of-mass X or center-of-mass Y, to an outboard MIDI-enabled device or interface.
My questions concern how we're going to juggle state between the user interface and internal control of the system, all while maintaining MIDI/OSC connections that will presumably be running in the background at the same time. I have a little bit of experience with embedded systems -- specifically the TI Stellaris Launchpad -- from a class, but we never dealt with anything that couldn't be handled using a combination of interrupts and a heap-based callback scheduler. I have no experience at all with RTOS's, but I'm willing to learn. I don't even know if an RTOS would be necessary. I'm asking for help here because I want to do this right. I do not want to do a hack job. I would sincerely appreciate any input or feedback you all can offer.
I've been reading a lot of posts, old and new, on this forum for the last couple weeks. I'm really impressed, and to be honest a little intimidated, by both the breadth and depth of embedded systems knowledge here. I'm working on a senior design project that is essentially an enhanced expression pedal -- enhanced in the sense that we want the user to be able to control at least two musical parameters through MIDI CC signals both independently and simultaneously using center-of-mass (X & Y). We also want to support Open Sound Control (OSC). We want to use the Teensy 3.2 to control it, with an LCD screen and buttons serving as the user interface.
The actual weight measurement will be done using load cells in the four corners of a rectangular platform, whose outputs will each be routed to individual instrumentation amplifiers and then to the Teensy's analog inputs. The measurement will then be scaled to between 0-127 for MIDI depending on the force applied, and sent to a specific MIDI device determined by the user. Using the menu, the user will be able to assign a means of control, specifically, center-of-mass X or center-of-mass Y, to an outboard MIDI-enabled device or interface.
My questions concern how we're going to juggle state between the user interface and internal control of the system, all while maintaining MIDI/OSC connections that will presumably be running in the background at the same time. I have a little bit of experience with embedded systems -- specifically the TI Stellaris Launchpad -- from a class, but we never dealt with anything that couldn't be handled using a combination of interrupts and a heap-based callback scheduler. I have no experience at all with RTOS's, but I'm willing to learn. I don't even know if an RTOS would be necessary. I'm asking for help here because I want to do this right. I do not want to do a hack job. I would sincerely appreciate any input or feedback you all can offer.