Jump to content

Neubau - Design


ThomasT
 Share

Recommended Posts

Hi Thorsten und alle anderen!

Auch wenn ich eigl. immer noch keine Zeit habe möchte ich doch so langsam mal damit beginnen die elektronik meiner Midibox komplett neu zu bauen.

Deshalb erstmal ein paar Fragen:

- können die Motorfadermodule nebenher noch andere Aufgaben wahrnehmen? Oder sollten sie nur 8 Motorfader betreiben und sonst nix?

- Oder nochmal allgemein formuliert: Was ist die günstigste Konfiguration um 34 Motorfader, 76Poties, 74 Buttons mit LED zu betreiben.

- Was ist mit den ursprünglichen 8 Buttons (cursor) bei dem MIOS. Insbesondere bei kaskadierten. Ich brauche die ursprünglichen 4 für Navigation wie gehabt. Die anderen 4 wollte ich mit Presets belegen. Nur wie diese ansprechen? Einen Bankstick mit 4 Presets für jedes Modul? Oder geht das noch besser?

- Das Display (die zwei) soll so ähnlich funktionieren wie das alte. Allerdings die Stati von allen Modulen anzeigen können. Wie genau weiss ich auch noch nicht. Aber irgendwas sinnvolles soll auf beiden Displays erscheinen. Vielleicht das eine Detailinfos zum aktuellen Bedienelement, das andere eine Übersicht.

Welche Optionen geht es da?

Fragen über Fragen...

Gruss Thomas

Link to comment
Share on other sites

Hallo Thomas,

eine andere Loesung als die direkte MF/Core Modul Kopplung kann ich leider nicht supporten. Theoretisch waere es schon machbar, mit einem Grab and Logik-Gattern die Ausgangssignale zu multiplexen, um MF und Core Module einzusparen, aber solch eine Loesung wuerde auf jeden Fall Performance kosten, die Fader wuerden sich auf keinen Fall mehr "smooth" bewegen, ausserdem wuerde sich die Fehleranfaelligkeit des Systems erhoehen. Die Softwareerweiterung fuer MIOS wuerde fuer mich eine Menge Aufwand bedeuten, und ich haette noch nicht einmal die Moeglichkeit, das System zu testen, geschweige denn Dir zu sagen, wo es hakt, wenn mal etwas "klemmt". Deshalb bevorzuge ich die jetzige Loesung.

Von den Kosten her sehe ich kein grosses Problem - bei diesen Mengen lohnt es sich die Bauteile in Amiland zu bestellen, suche mal unter http://www.findchips.com nach den ICs, den TC4427 gibt es bspw. schon ab  $1 (TC4427AEPA-ND), den PIC18F452 fuer $5.70 (PIC18F452-I/PG-ND) bei Digi-Key. Und der US-Dollar steht gerade guenstig...

Navigationsbuttons, Displays, etc.: wie man das prinzipiell loest habe ich ja schonmal geschrieben:

http://www.ucapps.de/midibox_link/tunnel4.gif

konkretere Vorschlaege kann ich eigentlich erst dann machen, wenn Du Dir ueber die Hardware klar geworden bist. Vor einiger Zeit hast Du bspw. mal den Vorschlag gepostet, fuer jeden Kanalzug ein eigenes Display vorzusehen. Ab MIOS V1.2 koennen mehr > 2 LCDs an jedes Core Modul angeschlossen werden, der Umsetzung steht also nichts mehr im Weg.

Gruss,

       Thorsten.

P.S.: noch etwas zu den BankSticks: bei 4 Presets werden die nicht mehr benoetigt. Die Daten koenntest Du stattdessen auch direkt im Flash speichern (der Flash-Speicher des PIC18F452 ist 32k gross), der Update funktioniert nun ueber den Bootstrap Loader via MIDI in sekundenschnelle :) Da Du sowieso mehrere PICs benoetigst, sehe ich keine Notwendigkeit fuer eine "Speichererweiterung"

Link to comment
Share on other sites

Hi Thorsten!

Also je 8 Motorfader ein PIC und dann noch 2e für den Rest.

konkretere Vorschlaege kann ich eigentlich erst dann machen, wenn Du Dir ueber die Hardware klar geworden bist. Vor einiger Zeit hast Du bspw. mal den Vorschlag gepostet, fuer jeden Kanalzug ein eigenes Display vorzusehen. Ab MIOS V1.2 koennen mehr > 2 LCDs an jedes Core Modul angeschlossen werden, der Umsetzung steht also nichts mehr im Weg

Die Hardware ist klar. Die bleibt die alte. Der Vorschlag war prinzipiell nicht schlecht nur werde ich aus baulichen Gründen in dieser Midibox nicht realisieren. Nicht dass ich ihn nicht genial finden würde... ;)

Mir fiel auch noch einiger andere Kram ein. Müsste ich aber mal ordnen.

Wie schauts aus mit der Dokumentation. Im _Prinzip_ ist mir alles klar. Nur mit dem konkreten Ablauf nicht.

Wo finde ich was. Wenn ich z.B. die Display-Routine "überschreibe" und möchte einen Wert ausgeben (oder den aktuellen Fader haben) wo finde ich die?

Beispiel: das CoreModul N steuert das Display an und soll den jeweils zuletzt bewegten Fader anzeigen.

Der zuletzt bewegte Fader ist der 2. an der 1sten MF-Modul. Wie sähe der Ablauf auf?

Ich muss ja quasi ein Event an N schicken. Und es dort bis zum nächsten Displaytick speichern.

So richtig klar ist mir das noch alles nicht. Vorallem möchte ich nicht wild drauflos programmieren und dann inkompatibel werden, falls ein geniales Update zur Verfügung steht.

Hi pay_c!

Schau mal unter www.krachwerk.de/projekte.html.

War übrigens einst MIDIbox der Woche...

Link to comment
Share on other sites

Hi Thomas,

Ich weiss nicht genau was für ein Midibox du dir zwar bauen möchtest oder erweitern möchtest, aber ich habe z.b den Midibox NG (Logic control emu) gebaut und bin sehr zufrieden damit. Nur mit einen einzigen wert in der emulation datei kann ich es als Logic XT modul betreiben. Das heisst, ich würde an deiner stelle 4 Midibox NG's bauen, den ersten als Logic control, und die anderen 3 als XT benutzen, so hast du praktisch 32 motorfader (natürlich kannst du dir noch eins bauen und hast dann 40 motorfader).

Selbstverständlich kannst du alle module in einem gehäuse einbauen, dann würde das evtl. wie dein früheres projekt aussehen.

Mit LC emu brauchst du selber ja auch nichts zu programmieren da die DAW's und die emulation ja sowieso alles von selbst erledigen. Wichtig ist mit was für einen DAW du den controller benutzen möchtest. Im moment sind halt emus für mackie control, logic control , steinberg houston verfügbar. Und auch eine Pre version von einem Generic Purpose controller für die Encoder hat TK schon  programmiert, somit senden die encoder ganz normale CC daten  ;)

Für 4 stk Midibox NGs würdest du dann 4x core und 4x MF module brauchen. Weitere infos zur Midibox NG kannst du auch unter

www.ucapps.de -> how to's ->midibox NG faq

finden.

Gruß

Link to comment
Share on other sites

Hallo Thomas,

Wie schauts aus mit der Dokumentation. Im _Prinzip_ ist mir alles klar. Nur mit dem konkreten Ablauf nicht.

Wo finde ich was. Wenn ich z.B. die Display-Routine "überschreibe" und möchte einen Wert ausgeben (oder den aktuellen Fader haben) wo finde ich die?

Beispiel: das CoreModul N steuert das Display an und soll den jeweils zuletzt bewegten Fader anzeigen.

Der zuletzt bewegte Fader ist der 2. an der 1sten MF-Modul. Wie sähe der Ablauf auf?

Ich muss ja quasi ein Event an N schicken. Und es dort bis zum nächsten Displaytick speichern.

So richtig klar ist mir das noch alles nicht. Vorallem möchte ich nicht wild drauflos programmieren und dann inkompatibel werden, falls ein geniales Update zur Verfügung steht.

Vielleicht macht es Sinn, erstmal die bestehenden Applikationen herzunehmen und diese dann Schritt fuer Schritt anzupassen. So wie ich Dich verstanden habe, moechtest Du keine Logic Control Emulation betreiben, sondern eher Deine Pulsar ansteuern. Trotzdem wuerde es Sinn machen, zumindest auf dem letzten Core in der MIDI-Kette (der die Display-Meldungen ausgibt) eine modifizierte Version der MIDIbox LC oder HN laufen zu lassen. Somit waere die Displayausgabe schonmal via SysEx moeglich, und der Rest kommt beim Buegeln...

Angenommen Du nimmst die MIDIbox LC applikation, weil sie am weitesten entwickelt ist, so koenntest Du von jedem beliebigen Core aus eine Textmeldung auf dem Bildschirm erscheinen lassen, der dazugehoerige SysEx String sieht so aus:

F0 00 00 66 10 12 <position> <zeichen1> <zeichen2> ... <zeichen_n> F7

Du hast zwei 2x16 LCDs? Kein Problem, Du kannst sie beide mit einem Core betreiben und seperat bedienen (das zweite LCD wird mit dem Cursor-Offset 0x80 bedient).

Der Slave sollte die Meldung bereits so aufbereiten, dass der Master sie nur noch darstellen braucht. Die Strings koennte er sich bspw. aus einer Tabelle holen. Fuer Werte (Zahlen) solltest Du vielleicht ebenfalls eine Tabelle anfertigen, so koennten sie sehr einfach mit der passenden Einheit (also nicht von 0-127 sondern bspw. von oo dB bis +6 dB) angezeigt werden.

Zusaetzlich zum SysEx String verschickt der Slave dann noch das MIDI-Event, das letztendlich an die Pulsar geht. Der MIDI-Link ;echanismus (der MBLink Endpoint filtert alle MIDI-Events heraus, die in der MIOS-Applikation nicht mit einem "call MIOS_MIDI_BeginStream" und "call MIOS_MIDI_EndStream" eingerahmt wurden) sorgt dafuer, dass die SysEx Control Meldungen automatisch herausgefiltert werden.

Ich glaube das reicht erstmal als Denkanstoss ;-)

Gruss,

       Thorsten.

Link to comment
Share on other sites

...und hier vielleicht auch noch ein Tip, um den aufkommenden MIDI-Traffic zu minimieren. Fuer die MIDIbox SID habe ich einen Timer hergenommen, der dafuer sorgt, dass beim Umschalten der Patches via Rotary Encoder der erste SysEx Dump sofort gesendet wird, der naechste Update ueber die MIDI-Leitung aber erst 500 ms spaeter erfolgt. In dieser Zeit hat man die Patch-Nummer vielleicht schon um einige Werte inkrementiert, aber das ist egal, nur die letzte Aenderung ist wirklich von Interesse, das was innerhalb der 500 ms passiert ist, nimmt man sowieso nicht wahr.

Die gleiche Methode laesst sich auch auf die Textmeldungen uebertragen. Aber das waere dann eher etwas, was Du umsetzen koenntest, wenn die prinzipielle Ansteuerung bereits funktioniert.

Gruss,

       Thorsten.

Link to comment
Share on other sites

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...
 Share

×
×
  • Create New...