chrisk

MIDIO128 V3 mehr DIN/DOUT Ports möglich? Vergleich zum NG

11 posts in this topic

Hallo,

 

ich arbeite schon seit einiger Zeit an einem Midi-Controller mit mehr als 128 Ein-/Ausgängen. Mein Controller basiert auf einem LPC17 Core mit MIDIO128 V3 Firmware, für die "restlichen" Taster und LEDs wollte ich einen PIC Core verbauen.

 

Nun habe ich die MidiBOX NG gesehen und überlege mein Projekt darauf um zu stellen. Wenn ich das richtig überblicke, fehlen mir in der MidiBOX NG keinerlei Funktionen, die das MIDIO128 bietet.

 

Das einzige was mich stört: Ich habe mich an die Konfiguration in Excel gewöhnt und schon nahezu alle 128 Taster und LEDs konfiguriert. Die Umstellung würde vermutlich ziemlich viel Zeit in Anspruch nehmen.

 

Daher meine Frage: Wäre es möglich auch an ein MIDIO128 mehr Taster/LEDs an zu schließen? Dann könnte ich auf den Core8 verzichten und später auch noch problemlos auf die NG Firmware umstellen.

 

 

Vielen Dank!

 

 

Grüße,

Chris

Share this post


Link to post
Share on other sites

Hallo Chris,

 

das groesste Problem an dieser Aenderung ist der Applikationsname: "MIDIO128" soll ja 128 digitale Ein- und Ausgaenge implizieren. ;-)

 

Softwaremaessig ist es ansonsten keine grosse Sache, die Anzahl der Shift Register zu erhoehen.

Dies geschieht im mios32_config.h file, die Applikation muss anschliessend neu kompiliert werden.

 

Hier etwas Vorkompiliertes: http://www.ucapps.de/mios32/midio128_v3_013_pre1_32sr.zip

 

Hardwaremaessig musst Du nun besonders darauf achten, dass die Verbindungen zwischen den DIN/DOUT Modulen so kurz wie moeglich gehalten werden.

Auch eine Terminierung koennte evtl. erforderlich sein - falls es also Probleme gibt (unstabile Werte, LEDs fangen an zu flackern, o.ae.) gib bitte bescheid - die erforderlichen Massnahmen sind noch nicht sauber dokumentiert.

 

Gruss, Thorsten.

Share this post


Link to post
Share on other sites

Hallo Thorsten, was ist denn deiner Meinung nach sinnvoller? Eine eigene MIO128 bzw. MIO256 Version basteln oder das komplett auf MidiBox NG umswitchen? Nachteile hat man durch die NG Firmware ja keine gegenüber der MIO128 Firmware oder?

 

gruß Alexander

Share this post


Link to post
Share on other sites

Hallo Alexander,

gegenueber der MBNG hat die MIDIO128 den Vorteil, dass die Konfiguration einfacher gehalten ist - dafuer muss man jedoch auch mit den beschraenkten Mitteln auskommen. MIDIO128 hat auch einen integrierten MIDI File Player und Recorder - ein Feature, das gerade bei unseren Organisten sehr beliebt ist.

MBNG ist hingegen universeller. So koennen bspw. neben "normalen MIDI events" auch NRPN und SysEx Daten verarbeitet werden. Im Gegensatz zur MIDIO128 werden Encoder, LED Matrizen, Motorfader und CV Ausgaenge unterstuetzt. Die LCD-Meldungen sind frei definierbar, es gibt Radio-Groups fuer Buttons/LEDs, Baenke, Wertetabellen, und und und... ;)

MBNG deckt viele Anwendungsfaelle ab, die bisher direkt ausprogrammiert werden mussten. Insofern waere in Deinem Fall der Umstieg auf MBNG wohl die beste Loesung. :)

Gruss, Thorsten.

Share this post


Link to post
Share on other sites

Hallo Thorsten, Danke für die schnelle Antwort. Ich werde dann wohl auf NG umsteigen! Genügend Programierbeispiele gibt es ja und da ich sowieso noch kaum an der Config Datei gearbeitet habe ist es für mich eifach ,öglich zu wechseln.

 

LG Alexander

 

PS: Wo stellt man am besten eine Projektdokumentation ein? Also jetzt Hardwaremäßig ähnlich wie ein Showcase. Denke das wäre ganz gut weil andere Leute enem dann be Problemen realtiv schnell helfen können.

Share this post


Link to post
Share on other sites

Ich habe nochmal eine schnelle Frage, kann ich mit der Midibox NG auch individuelle Noten in der Matrix zuweisen. Ich habe schonmal entsprechende Stelle in der User Manual gesucht ist das damit gemeint? ->

 

button_emu_id_offset=<1..4095>

 

gruß Alexander

Share this post


Link to post
Share on other sites
PS: Wo stellt man am besten eine Projektdokumentation ein? Also jetzt Hardwaremäßig ähnlich wie ein Showcase. Denke das wäre ganz gut weil andere Leute enem dann be Problemen realtiv schnell helfen können.

Am besten in der MIDIbox NG Sektion des Forums, so dass die interessierten Bastler direktes Feedback geben koennen.

Hier habe ich den Anfang gemacht:

Am besten oeffnest Du einen neuen Thread mit dem Titel "Project: <name-deines-projekts>"

Spaeter werde ich vom MIDIbox NG Manual aus die Artikel verlinken, so dass wir nicht die Uebersicht verlieren. ;)

Dein .NGC File kannst Du uebrigens einfach in einen code-block setzen, und/oder in ein .zip packen und dann an den Thread anhaengen.

 

Ich habe nochmal eine schnelle Frage, kann ich mit der Midibox NG auch individuelle Noten in der Matrix zuweisen. Ich habe schonmal entsprechende Stelle in der User Manual gesucht ist das damit gemeint? ->

Ja, das geht mit dem "button_emu_id_offset".

Hier ist ein Beispiel fuer die 16x4 BLM: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fblm16x4e.ngc

und hier fuer die 8x8 Matrix von Wilba's Frontpanel: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftk%2Fmbseq.ngc

Gruss, Thorsten.

Share this post


Link to post
Share on other sites

Hallo Thorsten,

 

Vielen Dank für Deine Antworten und die Datei. Ich denke ich werde mein Projekt dennoch auch auf NG umstellen.

 

Hardwaremaessig musst Du nun besonders darauf achten, dass die Verbindungen zwischen den DIN/DOUT Modulen so kurz wie moeglich gehalten werden.

Auch eine Terminierung koennte evtl. erforderlich sein - falls es also Probleme gibt (unstabile Werte, LEDs fangen an zu flackern, o.ae.) gib bitte bescheid - die erforderlichen Massnahmen sind noch nicht sauber dokumentiert.

Diese Probleme treten dann aber auch bei der NG ggf. auf, oder? Ich hätte vermutlich auch ausreichende Messtechnik hier um das ganze zu untersuchen (a.A. 4Ch 500mHz/1Gs Digitalscope).

 

Bei der Gelegenheit kommen aber noch zwei andere Fragen zur NG Firmware auf:

1. Ist es möglich auch direkten Text an ein Display zu senden? z.B. über SySex?

2. Wie ist die Implementierung von RGB LEDs geplant? Ist ein Farbmischen/Dimmen per PWM möglich?

 

 

Vielen Dank & Grüße,

Chris

Share this post


Link to post
Share on other sites

Hallo Chris,

 

Diese Probleme treten dann aber auch bei der NG ggf. auf, oder? Ich hätte vermutlich auch ausreichende Messtechnik hier um das ganze zu untersuchen (a.A. 4Ch 500mHz/1Gs Digitalscope).

 

ja - falls es Probleme gibt, treten sie auch mit der NG Firmware auf.

 

 

 

1. Ist es möglich auch direkten Text an ein Display zu senden? z.B. über SySex?

 

Das wird in Zukunft moeglich sein.

Als Usecase sehe ich das http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftemplates%2Flogictrl.ngc'>logictrl.ngc template, bei dem noch die Unterstuetzung der LCD Meldungen fehlt, die von der DAW gesendet werden.

Die Implementierung wird sehr wahrscheinlich so aussehen, dass man einen EVENT_RECEIVER scharfschaltet, der auf den SysEx-Header reagiert, und anschliessend mit ^cursor die empfangene Cursor-Position extrahiert (optional), den Cursor setzt und mit ^txt dann die restlichen Bytes bis zum F7 auf dem LCD ausgibt.

 

 

 

2. Wie ist die Implementierung von RGB LEDs geplant? Ist ein Farbmischen/Dimmen per PWM möglich?

 

RGB LEDs werden bereits voll unterstuetzt: mit Hilfe des DOUT_MATRIX Kommandos lassen sich DOUT Register fuer R/G/B definieren.

Die Farben werden ueber den Wertebereich gemischt, also bspw. mit range=0:7 sind alle 8 Kombinationen direkt addressierbar.

 

Dimmen wird evtl. mal moeglich sein, doch hier moechte ich nicht zuviel versprechen (ich muesste mir dazu erstmal die Hardware aufbauen...)

 

Gruss, Thorsten.

Share this post


Link to post
Share on other sites

Weil es so einfach war, habe ich ^cursor, ^txt und ^txt56 in V0.010 eingebaut und released.

 

Beispiel:

 LCD Messages
# Note: we use ^txt56 instead of ^txt, so that the cursor will jump 
#       to the next line after the 56th character has been reached
EVENT_RECEIVER id=  4 \
               type=SysEx stream="0xf0 0x00 0x00 0x66 ^dev 0x12 ^cursor ^txt56"

 

 

^txt56 ist also bereits eine Spezialbehandlung fuer das Logic Protocol.

Falls noch weitere Extras erwuenscht sind, einfach bescheid geben.

 

Was ich fuer meinen Anwendungsfall noch benoetige ist bspw. eine Cursor-Map, so dass die 2x56 Zeichen ueber zwei 2x40 LCDs (also 2x80) verteilt werden koennen (mit Spaces dazwischen). Das werde ich wahrscheinlich mit dem MAP Feature loesen, bei dem man dann fuer jede "Host-Cursor-Position" eine "physikalische Position" auf den beiden LCDs angeben kann.

 

Ausserdem fehlt noch die Moeglichkeit, fuer graphische LCDs eine Default-Font zu setzen - kommt dann auch noch...

 

Gruss, Thorsten.

Share this post


Link to post
Share on other sites

Hallo Thorsten,

 

vielen Dank für die ausfürliche Antwort und die Implementierung! Ich kann Dir im Moment noch nicht ganz folgen, muss erstmal selber anfangen mich damit richtig zu beschäftigen. Momentan arbeite ich auf zwei Klausuren hin, sodass ich leider erst im Februar dazu kommen werde.

 

Ich würde mich dann einfach nochmal melden, falls es noch Fragen gibt!

 

 

Viele Grüße,

Chris

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now