MIDI Organ Interface Project - Stop Switch Scanner

3/28/2010 update


Overview of Stop Switch Scanner
Stop ScannerStop Module I/OSchematic PhotoPartsFiles
  • 64 - Stop Inputs (64 bits)
  • MIDI Channel Number (4 jumpers)
  • Analog Input for Expression
  • Expression Setting (4 jumpers)
  • MIDI Output
  • Parts List Gerber Files

    Hex Program Code

    Program Source Code

    MIDI
    Note Numbers
    The stop switch span is 64 inputs
    The MIDI span is from note number 36 (c1) through middle C (note 60) to upper D# (note 99)
    Processing 1. The processor U1 scans the isolated stop switch contacts and stores them in memory.

    2. The new state is further updated based on the coupler inputs (16', 8'off, 4') and by the transpose input.

    3. The new state is compared to the previous state note by note
    3a. If a difference is detected between new and previous states of a note, U1 sends the appropriate Note ON/OFF message via the high-speed serial output and the previous state of that note is updated. The pulse-out memory bit is set if a note was changed to ON.
    3b. If, at the end of the scan, the pulse-out memory bit is set, a pulse output is initiated for the percussion.

    4. Go back to 1. 5.
  • The MIDI Channel jumpers are used by U2 for the channel portion of the message.
  • The Analog input is used to set the MIDI velocity.
  • The Analog Jumpers are used to initially set the velocity information. Push the expression pedal to maximum and temporarily jumper the SET MAX jumper. Push the expression pedal to minimum and temporarily jumper the SET MIN jumper. These set the analog values for maximum velocity and 25% velocity. If the ENABLE Jumper is missing, the velocity value is fixed at 64.