Jump to content

MIDIO128 geht nicht mehr nach Update


Recommended Posts

Posted

Hi,

ich habe seit gestern folgendes Problem:

Ich habe eine MIDIbox MIDIO128, die ich vor ca. nem Jahr gebaut habe.

Bis gestern funktionierte sie einwandfrei.

Ich dachte, ein MIOS Update und die neueste Firmware können nicht schaden. Also draufgespielt.

Ich habe 32 Taster und 32 LEDs (und Relais). Die Zuordnung ist 1:1. Hat ja bisher auch alles gepasst.

Wenn ich die Relais viy Midi schalte, funktioniert alles.

Wenn ich einen Taster drücke, kriege ich im Display den Korrkten Midi-Event angezeigt und der wird auch gesendet.

Das zugehörige DOUT reagiert jedoch nicht mehr auf den Taster, sondern nur auf MIDI Events.

Im der Main.asm ist:

; Forward Input to Output
; If 0: if an inputs gets an raising or falling edge, the appr. output
;       pin will be set to the same new logic level. The output pin
;       can be controlled via MIDI also
; If 1: an output pin can only controlled via MIDI
#define DEFAULT_FORWARD_IO	0
Die midio128.ini:
################################################################################
#
# This is an example init file for MIDIO128
#
################################################################################

################################################################################
# File Type - allowed: midio128
################################################################################

[TYPE]
   midio128


################################################################################
# MIDI Merger: enable the merger in order to forward the incoming MIDI
# events to the MIDI Out. A must if you would like to plug a keyboard
# on the MIDI In, or if you want to cascade MIDIboxes
# Allowed Keywords: 
#    disabled   don't use merger at all
#    enabled    merges all external with internal events
#    mblink_fp  MIDIbox Link Forwarding Point: like a common MIDI merger,
#               but internal events will be framed so that a MIDIbox Link
#               End Point can distinguish between a event which has been
#               sent by a common MIDI device and events which have been
#               generated by a MIDIbox
#    mblink_ep  MIDIbox Link End Point: merges only external events 
#               from a MBLink FP (Forwarding Point)
################################################################################
[MIDI_MERGER]
  enabled


################################################################################
# Debounce Time (in ms)
# Increase this value if you notice jitter on the inputs
# Decrease this value if you drive the input pins with logic
# Allowed Values: 0-255
# Default: 20 (miliseconds)
################################################################################
[DEBOUNCE_TIME]
   55

################################################################################
# Enable Alternative Program Change Behaviour
# If Disabled: on program change events, the appr. Output pin will
#              just toggle from logic 0 to logic 1 and vice versa
# If Enabled:  on program change events, all output pins of the same
#              channel will be set to logic 0, but the pin which is assigned
#              to the channel and to the program change value will be set
#              to logic 1
# Default: disabled
################################################################################
[ALT_PROGCHNG_BEHAVIOUR]
   enabled


################################################################################
# Forward Input to Output
# If Enabled:  if an inputs gets an raising or falling edge, the appr. output
#              pin will be set to the same new logic level. The output pin
#              can be controlled via MIDI also
# If Disabled: an output pin can only controlled via MIDI
# Default: disabled
################################################################################
[FORWARD_INPUT_TO_OUTPUT]
   enabled


################################################################################
# Inverse Inputs
# If Disabled: Inputs are high active
# If Enabled:  Inputs are low actvive
# Default: enabled (for MBHP DIN modules)
################################################################################
[INVERSE_INPUTS]
   enabled


################################################################################
# Inverse Outputs
# If Disabled: Outputs are high active, reset value after poweron is "0"
# If Enabled:  Outputs are low active, reset value after poweron is "1"
# Default: disabled
################################################################################
[INVERSE_OUTPUTS]
   disabled


################################################################################
# Touch Sensor Sensitivity
# Allowed values: 1 - 32
# Default: 3
################################################################################
[TOUCHSENSOR_SENSITIVITY]
   3


################################################################################
# The MIDI_IN and MIDI_OUT sections include all settings for the IO pins
#
################################################################################
# Syntax for a MIDI IN entry (MIDI event controls output pin):
#   <pin-number> = <byte 0> <byte 1>
#
# The maximum allowed number of output pins is 128
#
# Supported MIDI events (. stands for hex digit, vv stands for 00 or 7F)
#   9. .. (Note On)            Example: 90 30   (MIDIO128 receives 90 30 vv)
#   A. .. (Poly Aftertouch)    Example: A0 30   (MIDIO128 receives A0 30 vv)
#   B. .. (Controller)         Example: B0 07   (MIDIO128 receives B0 07 vv)
#   C. .. (Program Change)     Example: C0 30   (MIDIbox receives C0 30) 
#   D. .. (Channel Aftertouch) Example: D0 30   (MIDIbox receives D0 30)
#   E. .. (Pitch Bender)       Example: E0 7F   (MIDIbox receives E0 7F vv)
#
# - On 2-byte events (C. and D.), the output pins just toggle (0->1 or 1->0)
################################################################################
# Syntax for a MIDI OUT entry (input pin triggers MIDI event):
#   <pin-number> = <ON byte 0> <ON byte 1> <ON byte2> <OFF byte 0> <OFF byte 1> <OFF byte2> 
#
# The maximum allowed number of input pins is 128
#
# Supported MIDI events
#   (Note On)            Example: 90 30 7F 90 30 00 @OnOff (ON: send 90 30 7F, OFF: send 90 30 00)
#   (Poly Aftertouch)    Example: A0 30 7F A0 30 00 @OnOff (ON: send A0 30 7F, OFF: send A0 30 00)
#   (Controller)         Example: B0 07 7F B0 07 00 @OnOff (ON: send B0 07 7F, OFF: send B0 07 00)
#   (Program Change)     Example: C0 01 00 FF 00 00 @OnOff (ON: send C0 01,    OFF: send nothing!)
#   (Channel Aftertouch) Example: D0 40 00 FF 00 00 @OnOff (ON: send D0 40,    OFF: send nothing!)
#   (Pitch Bender)       Example: E0 30 30 E0 60 60 @OnOff (ON: send E0 30 30, OFF: send E0 60 60)
#
# Also valid:
#   (Note On/Off)        Example: 90 30 7F 80 30 00 @OnOff (ON: send 90 30 7F, OFF: send 80 30 00)
#   (Controller Fun)     Example: B0 10 40 B0 11 40 @OnOff (ON: send B0 10 40, OFF: send B0 11 40)
#
# - If byte0 is FF, the event will not be sent
#
# Supported button behaviours (see MIDIbox tutorial):
#    @OnOff
#    @OnOnly
#    @Toggle
#
################################################################################

[MIDI_IN]
    1 =  90 30
    2 =  90 31 
    3 =  90 32
    4 =  90 33
    5 =  90 34
    6 =  90 35
    7 =  90 36
    8 =  90 37
    9 =  90 38
   10 =  90 39
   11 =  90 3A
   12 =  90 3B
   13 =  90 3C
   14 =  90 3D
   15 =  90 3E
   16 =  90 3F

   17 =  90 40
   18 =  90 41
   19 =  90 42
   20 =  90 43
   21 =  90 44
   22 =  90 45
   23 =  90 46
   24 =  90 47
   25 =  90 48
   26 =  90 49
   27 =  90 4A
   28 =  90 4B
   29 =  90 4C
   30 =  90 4D
   31 =  90 4E
   32 =  90 4F

   33 =  90 50
   34 =  90 51
   35 =  90 52
   36 =  90 53
   37 =  90 54
   38 =  90 55
   39 =  90 56
   40 =  90 57
   41 =  90 58
   42 =  90 59
   43 =  90 5A
   44 =  90 5B
   45 =  90 5C
   46 =  90 5D
   47 =  90 5E
   48 =  90 5F

   49 =  90 60
   50 =  90 61
   51 =  90 62
   52 =  90 63
   53 =  90 64
   54 =  90 65
   55 =  90 66
   56 =  90 67
   57 =  90 68
   58 =  90 69
   59 =  90 6A
   60 =  90 6B
   61 =  90 6C
   62 =  90 6D
   63 =  90 6E
   64 =  90 6F

   65 =  B0 10
   66 =  B0 11
   67 =  B0 12
   68 =  B0 13
   69 =  B0 14
   70 =  B0 15
   71 =  B0 16
   72 =  B0 17
   73 =  B0 18
   74 =  B0 19
   75 =  B0 1A
   76 =  B0 1B
   77 =  B0 1C
   78 =  B0 1D
   79 =  B0 1E
   80 =  B0 1F

   81 =  B0 20
   82 =  B0 21
   83 =  B0 22
   84 =  B0 23
   85 =  B0 24
   86 =  B0 25
   87 =  B0 26
   88 =  B0 27
   89 =  B0 28
   90 =  B0 29
   91 =  B0 2A
   92 =  B0 2B
   93 =  B0 2C
   94 =  B0 2D
   95 =  B0 2E
   96 =  B0 2F

   97 =  B0 30
   98 =  B0 31
   99 =  B0 32
  100 =  B0 33
  101 =  B0 34
  102 =  B0 35
  103 =  B0 36
  104 =  B0 37
  105 =  B0 38
  106 =  B0 39
  107 =  B0 3A
  108 =  B0 3B
  109 =  B0 3C
  110 =  B0 3D
  111 =  B0 3E
  112 =  B0 3F

  113 =  B0 40
  114 =  B0 41
  115 =  B0 42
  116 =  B0 43
  117 =  B0 44
  118 =  B0 45
  119 =  B0 46
  120 =  B0 47
  121 =  B0 48
  122 =  B0 49
  123 =  B0 4A
  124 =  B0 4B
  125 =  B0 4C
  126 =  B0 4D
  127 =  B0 4E
  128 =  B0 4F


[MIDI_OUT]

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
    1 =  90 30 7F   90 30 00   @Toggle
    2 =  90 31 7F   90 31 00   @Toggle
    3 =  90 32 7F   90 32 00   @Toggle 
    4 =  90 33 7F   90 33 00   @Toggle
    5 =  90 34 7F   90 34 00   @Toggle
    6 =  90 35 7F   90 35 00   @Toggle
    7 =  90 36 7F   90 36 00   @Toggle
    8 =  90 37 7F   90 37 00   @Toggle
    9 =  90 38 7F   90 38 00   @Toggle
   10 =  90 39 7F   90 39 00   @Toggle
   11 =  90 3A 7F   90 3A 00   @Toggle
   12 =  90 3B 7F   90 3B 00   @Toggle
   13 =  90 3C 7F   90 3C 00   @Toggle
   14 =  90 3D 7F   90 3D 00   @Toggle
   15 =  90 3E 7F   90 3E 00   @Toggle
   16 =  90 3F 7F   90 3F 00   @Toggle

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   17 =  90 40 7F   90 40 00   @Toggle
   18 =  90 41 7F   90 41 00   @Toggle
   19 =  90 42 7F   90 42 00   @Toggle
   20 =  90 43 7F   90 43 00   @Toggle
   21 =  90 44 7F   90 44 00   @Toggle
   22 =  90 45 7F   90 45 00   @Toggle
   23 =  90 46 7F   90 46 00   @Toggle
   24 =  90 47 7F   90 47 00   @Toggle
   25 =  90 48 7F   90 48 00   @Toggle
   26 =  90 49 7F   90 49 00   @Toggle
   27 =  90 4A 7F   90 4A 00   @Toggle
   28 =  90 4B 7F   90 4B 00   @Toggle
   29 =  90 4C 7F   90 4C 00   @Toggle
   30 =  90 4D 7F   90 4D 00   @Toggle
   31 =  90 4E 7F   90 4E 00   @Toggle
   32 =  90 4F 7F   90 4F 00   @Toggle

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   33 =  90 50 7F   90 50 00   @OnOff 
   34 =  90 51 7F   90 51 00   @OnOff 
   35 =  90 52 7F   90 52 00   @OnOff 
   36 =  90 53 7F   90 53 00   @OnOff 
   37 =  90 54 7F   90 54 00   @OnOff 
   38 =  90 55 7F   90 55 00   @OnOff 
   39 =  90 56 7F   90 56 00   @OnOff 
   40 =  90 57 7F   90 57 00   @OnOff 
   41 =  90 58 7F   90 58 00   @OnOff 
   42 =  90 59 7F   90 59 00   @OnOff 
   43 =  90 5A 7F   90 5A 00   @OnOff 
   44 =  90 5B 7F   90 5B 00   @OnOff 
   45 =  90 5C 7F   90 5C 00   @OnOff 
   46 =  90 5D 7F   90 5D 00   @OnOff 
   47 =  90 5E 7F   90 5E 00   @OnOff 
   48 =  90 5F 7F   90 5F 00   @OnOff 

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   49 =  90 60 7F   90 60 00   @OnOff 
   50 =  90 61 7F   90 61 00   @OnOff 
   51 =  90 62 7F   90 62 00   @OnOff 
   52 =  90 63 7F   90 63 00   @OnOff 
   53 =  90 64 7F   90 64 00   @OnOff 
   54 =  90 65 7F   90 65 00   @OnOff 
   55 =  90 66 7F   90 66 00   @OnOff 
   56 =  90 67 7F   90 67 00   @OnOff 
   57 =  90 68 7F   90 68 00   @OnOff 
   58 =  90 69 7F   90 69 00   @OnOff 
   59 =  90 6A 7F   90 6A 00   @OnOff 
   60 =  90 6B 7F   90 6B 00   @OnOff 
   61 =  90 6C 7F   90 6C 00   @OnOff 
   62 =  90 6D 7F   90 6D 00   @OnOff 
   63 =  90 6E 7F   90 6E 00   @OnOff 
   64 =  90 6F 7F   90 6F 00   @OnOff 

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   65 =  B0 10 7F   B0 10 00   @OnOff 
   66 =  B0 11 7F   B0 11 00   @OnOff 
   67 =  B0 12 7F   B0 12 00   @OnOff 
   68 =  B0 13 7F   B0 13 00   @OnOff 
   69 =  B0 14 7F   B0 14 00   @OnOff 
   70 =  B0 15 7F   B0 15 00   @OnOff 
   71 =  B0 16 7F   B0 16 00   @OnOff 
   72 =  B0 17 7F   B0 17 00   @OnOff 
   73 =  B0 18 7F   B0 18 00   @OnOff 
   74 =  B0 19 7F   B0 19 00   @OnOff 
   75 =  B0 1A 7F   B0 1A 00   @OnOff 
   76 =  B0 1B 7F   B0 1B 00   @OnOff 
   77 =  B0 1C 7F   B0 1C 00   @OnOff 
   78 =  B0 1D 7F   B0 1D 00   @OnOff 
   79 =  B0 1E 7F   B0 1E 00   @OnOff 
   80 =  B0 1F 7F   B0 1F 00   @OnOff 

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   81 =  B0 20 7F   B0 20 00   @OnOff 
   82 =  B0 21 7F   B0 21 00   @OnOff 
   83 =  B0 22 7F   B0 22 00   @OnOff 
   84 =  B0 23 7F   B0 23 00   @OnOff 
   85 =  B0 24 7F   B0 24 00   @OnOff 
   86 =  B0 25 7F   B0 25 00   @OnOff 
   87 =  B0 26 7F   B0 26 00   @OnOff 
   88 =  B0 27 7F   B0 27 00   @OnOff 
   89 =  B0 28 7F   B0 28 00   @OnOff 
   90 =  B0 29 7F   B0 29 00   @OnOff 
   91 =  B0 2A 7F   B0 2A 00   @OnOff 
   92 =  B0 2B 7F   B0 2B 00   @OnOff 
   93 =  B0 2C 7F   B0 2C 00   @OnOff 
   94 =  B0 2D 7F   B0 2D 00   @OnOff 
   95 =  B0 2E 7F   B0 2E 00   @OnOff 
   96 =  B0 2F 7F   B0 2F 00   @OnOff 

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
   97 =  B0 30 7F   B0 30 00   @OnOff 
   98 =  B0 31 7F   B0 31 00   @OnOff 
   99 =  B0 32 7F   B0 32 00   @OnOff 
  100 =  B0 33 7F   B0 33 00   @OnOff 
  101 =  B0 34 7F   B0 34 00   @OnOff 
  102 =  B0 35 7F   B0 35 00   @OnOff 
  103 =  B0 36 7F   B0 36 00   @OnOff 
  104 =  B0 37 7F   B0 37 00   @OnOff 
  105 =  B0 38 7F   B0 38 00   @OnOff 
  106 =  B0 39 7F   B0 39 00   @OnOff 
  107 =  B0 3A 7F   B0 3A 00   @OnOff 
  108 =  B0 3B 7F   B0 3B 00   @OnOff 
  109 =  B0 3C 7F   B0 3C 00   @OnOff 
  110 =  B0 3D 7F   B0 3D 00   @OnOff 
  111 =  B0 3E 7F   B0 3E 00   @OnOff 
  112 =  B0 3F 7F   B0 3F 00   @OnOff 

##########################################
# Pin   # On Evnt # Off Evnt # Behaviour #
##########################################
  113 =  B0 40 7F   B0 40 00   @OnOff 
  114 =  B0 41 7F   B0 41 00   @OnOff 
  115 =  B0 42 7F   B0 42 00   @OnOff 
  116 =  B0 43 7F   B0 43 00   @OnOff 
  117 =  B0 44 7F   B0 44 00   @OnOff 
  118 =  B0 45 7F   B0 45 00   @OnOff 
  119 =  B0 46 7F   B0 46 00   @OnOff 
  120 =  B0 47 7F   B0 47 00   @OnOff 
  121 =  B0 48 7F   B0 48 00   @OnOff 
  122 =  B0 49 7F   B0 49 00   @OnOff 
  123 =  B0 4A 7F   B0 4A 00   @OnOff 
  124 =  B0 4B 7F   B0 4B 00   @OnOff 
  125 =  B0 4C 7F   B0 4C 00   @OnOff 
  126 =  B0 4D 7F   B0 4D 00   @OnOff 
  127 =  B0 4E 7F   B0 4E 00   @OnOff 
  128 =  B0 4F 7F   B0 4F 00   @OnOff 

Was ist passiert?

Entweder ich krieg Alsheimer oder es hat sich irgendwas an der Software geändert...

Wenn ich die AIN_DIN_etc Testapp lade, kann ich die LEDs und die Relais einwandfrei über die Taster ansprechen.

Hardwarefehler somit ausgeschlossen.

Hilfe!

Gruss

Doc

Posted

Hallo Thorsten,

vielen Dank, dass Du mein Weltbild wieder gerade gerückt hast.

Ich begann schon an mir zu zweifeln ....

Ein Gutes hatte die Sache:

Da mich dieser Fall nicht loslies und ich ihn auch nicht lösen könnte, habe ich endlich meinen C Schmöker ausm Regal geholt und angefangen, mir selber ne Applikation zu basteln (MTE hat mich ein wenig angeschubbst ...).

Es funktioniert eigentlich schon alles und die PDU (Power Distribution Unit) kann ihre Arbeit aufnehmen.

Ich werde aber die neue MIDIO128 trotzdem versuchen.

Ach ja, Fotos gibts auch schon von meiner PDU oder Total Recall Controller...

http://www.docstudios.de/pcu.htm

Ach ja... Der Controller soll das gesamte Outboard-Equipment und die Beleuchtung steuern. Nicht nur über die Taster, sondern auch über Midi. Ich kann also jedem Cubase-Track sagen, welche Geräte er für den Song braucht und diese gleich automatisch einschalten lassen.

In Zeiten teuerster Energie, ist dies auch ein Beitrag zum aktiven Strom-Sparen! ;D

Vielen Dank nochmal, Thorsten

(.. und MTE fürs anschubsen...)

Gruss

Doc

Posted

Hi Ilmenator,

Klingt interessant - kannst du ein bisschen mehr ueber das Schalten der Netzspannung sagen? Sicherheitsmassnahmen, Relais, etc.?

Nun, generell könnte ich alles über das Schalten von Netzspannung sagen.

Ich möchte dies aber nicht hier veröffentlichen, da der Nachbau als Solcher für den Laien LEBENSGEFÄHRLICH ist. Durch die Box können theoretisch 400V und 75A fließen.

Hier nur eine grobe Beschreibung. Den Rest (Schaltplan, Platinen, etc.) kann ich Dir gerne per PM zukommen lassen.

Die Douts steuern über ULN Treiber die Relais. Die Relais schalten bei 12V. Am Ausgang kann jedes Relais 16/2500V schalten. Die Relaisspule hat noch eine Freilaufdiode. Die Schaltkontakte sind jeweils mit einem Funkenlöschkondensator versehen (10n/250V), damit auch "knackfrei" geschalten wird.

Die Steuerspannung für die Relais (12V, max 1,8A) wird durch ein seperates Netzteil zur Verfügung gestellt. Ein  Schlüsselschalter (in der 12V Leitung) schützt vor unbefugtem Einschalten der Verbraucher. Die 12V werden außerdem über eine Verzögerungsschaltung etwa erst 5 Sec nach dem Einschalten den Relais zur Verfügung gestellt. Dies war notwendig, da sonst unter bestimmten Umständen alle Relais beim Einschalten der Box kurz anziehen. Das wäre der Tod jeder Sicherung gewesen ...

Die Verkabelung der Relais erfolgte (mit 2,5 btw 4 qmm Leitung) hinten auf Wago-Klemmen. Wichtig dabei sind vernünftige Sammelschienen für Erde und Nulleiter.

Die einschlägigen Vorschriften zum Umgang mit Netzspannung sind hierbei unbedingt einzuhalten.

So, das wars in Kürze.

Ach ja: Die Platinen sollten auch VDE gerecht mit mindestens 6mm Leiterbahnen und genügend Abstand ausgestattet sein. Die Relais benötigen auch einen Mindestabstand von 7,5mm zueinander.

Netzteile und Relais erzeugen Wärme. Eine zugriffgeschütze Luftzufuhr muss also auch gewährleistet sein.

Noch mal meine Warnung:

Ich helfe Jedem gerne, wenn er eine solche Unterverteilung bauen will. Es muß jedoch sichergestellt sein, das Jeder für sich weiß, was er tut, denn es geht hier um echte Ströme und diese können im Fall der Fälle, neben versicherungsrechtlichen Fragen, auch absolut lebensgefährlich tödlich sein.

Gruss

Doc

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...