SysEx generator for Teensy-based MIDI controller project
Posted: Thu Nov 21, 2013 8:40 am
Here's a very simple project I built to control a Teensy-based MIDI controller with a few bytes of system exclusive messaging. (The controller is just a box with a Teensy and some 1/4" sockets for up to three foot-switches and two expression pedals - since it's Teensy-based I'm calling it 'Footsy'.)
The message instructs the controller which MIDI channel and which CC numbers to communicate through.
The message consists of the start and end sysEx bytes, a four-byte Key and 9 bytes of program data.
Selectors generate the main 'message' part of the sysEx string (9 hex bytes)
1 - F0
2 - 7D
3-6 - Key
7 - MIDI channel (1-16)
8 - Ex1 CC
9 - Ex2 CC
10 - FS1 CC
11 - FS1 0=momentary / 1=Toggle
12 - FS2 CC
13 -FS2 0=momentary / 1=Toggle
14 - FS3 CC
15 - FS3 0=momentary / 1=Toggle
The code in the controller sends back a three-byte ACKnowledge message "F07DF7" which displays on the panel.
The indicators on the right-hand side let you see the controls are working as expected.
While the project is very simple I'm posting here as I think there might be some interest in FlowStone from Teensy builders -- many of whom appear to be involved with MIDI projects (Teensy allows MIDI communications over USB directly... unlike Arduino and its clones). FlowStones other features like easy access to the COM port may also be of interest.
EDIT -- corrected EX displays which were in the wrong positions on the front panel for first 7 downloads
I don't image anyone who downloaded was building the thing... but just in case.
The message instructs the controller which MIDI channel and which CC numbers to communicate through.
The message consists of the start and end sysEx bytes, a four-byte Key and 9 bytes of program data.
Selectors generate the main 'message' part of the sysEx string (9 hex bytes)
1 - F0
2 - 7D
3-6 - Key
7 - MIDI channel (1-16)
8 - Ex1 CC
9 - Ex2 CC
10 - FS1 CC
11 - FS1 0=momentary / 1=Toggle
12 - FS2 CC
13 -FS2 0=momentary / 1=Toggle
14 - FS3 CC
15 - FS3 0=momentary / 1=Toggle
The code in the controller sends back a three-byte ACKnowledge message "F07DF7" which displays on the panel.
The indicators on the right-hand side let you see the controls are working as expected.
While the project is very simple I'm posting here as I think there might be some interest in FlowStone from Teensy builders -- many of whom appear to be involved with MIDI projects (Teensy allows MIDI communications over USB directly... unlike Arduino and its clones). FlowStones other features like easy access to the COM port may also be of interest.
EDIT -- corrected EX displays which were in the wrong positions on the front panel for first 7 downloads
I don't image anyone who downloaded was building the thing... but just in case.