PIC Mapping for : for wiring details, refer to schematics on the website. ------------------------------------------------------- Version 1.0 - preliminary - 08.07.2010 Version 1.0 firmware programmed 07.08.2010 with Johannes Taelman version 1.01: bug removed in velo/hold PIC3 board. Bug report on version 1.0: - note 76 ON also activates note 84, but note 84 does not activate note 76. must be some typo in the firmware. Hardware is o.k. (no shorts) - cc123 works fine - cc1 and cc7 work fine. Remaining issues 08.08.2010: - cc66 is still shaky 25.04.2015: Noted that the firmware for the valves can crash in this sense that n0 velo-pulses are generated. Maybe we better rewrite the code ourselves. To do: On hub-board: cc11 and 12 for the tremulant (cc1= frequency of modulation, cc12= modulation depth) Midi channel: 3 (0-15) Code prototype to start from: Qt (for the velo/hold boards) PIC boards pulse/hold 1 - 3: cfr. site tables. board 1: out1 Note 55 out2 Note 56 out3 Note 57 out4 Note 58 ... out14 Note 68 board 2: out 1 Note 69 ... out16 Note 82 board 3: out 1: Note 83 ... out 9: Note 91 out 10 lite note 120 (on /off only) out 11 lite note 121 out 12 lite note 122 out 13 lite note 123 out 14 lite note 124 Pincode for sysex velo. scaling tables: bomi Tables accessible via program change commands 122-127 To be implemented: Velo + Hold AND individual note aftertouch. (slow PWM on hold voltage) All notes off. (Controller 123) Note off (128+k, note) should be implemented as well as note on with zero velocity. Polyphonic aftertouch uses the command series 160 + k, note, value PIC: 18F2525 On MidiHub board Compressor motor, tremulant solenoid. PIC pin assignment: cfr. table on website. - X17.1: GND - X17.2: PIC pin 12 CCP2 PWM analog compressor motor speed (0-10V) Ctrl 7 - X17.3: PIC pin 13 CCP1 PWM power output (external + voltage via X16- pin 2: extra connector) Softshift solenoid Connected to X16.2 See midi implementation table. - X17.4: +10V from motor controller - X11,1: GND - X11.2: PIC pin 16 RC5 motor ON/OFF - Ctrl 66 - X11.3: PIC pin 15 RC4 not used (optional motor controller reset) - X11.4: +24V from motor controller - X12.1: GND - X12.2: PIC pin 21 RB0 lite - map on note 125 on/off - X12.3: PIC pin 22 RB1 lite - map on note 126 on/off - X12.4: + 5V Vcc - X15.1: GND - X15.2: PIC pin 14 RC3 lite - map on note 127 - X15.3: PIC pin 11 RC0 lite - map on note 0 - X15.4: + 5V Vcc - X16.1: GND - X16.2: tremulant solenoid = X17.3 - X16.3: protection diode + pole @+12V NOTE: the PIC should track whether any note is playing or not. All notes off should unpower the softshift solenoid and reset controllers 1 and 11. DONE: now all notes off also resets CC1. That's o.k. Controller 1: steers the main value for the PWM on the softshift magnet. Note: 0= fully opened, 127=fully closed!!! Controller 11: steers the periodic modulation frequency around the value set with controller 1. Tremulant must be off with controller set to zero. (coding example: piperola) controller 12: modulation depth cfr. code prototype in GMT