Guest wolfgang Posted August 25, 2003 Report Share Posted August 25, 2003 Hi Leute,ich würde mir gerne eine Midibox als Ergänzung zu meinem Gitarrenequipment bauen.Ich habe dazu die Infos auf der Website und diverse Beiträge im Forum gelesen. Allerdings habe ich immer noch einige Fragen, um die ganze Thematik besser zu verstehen:Zur Programmierung:-------------------Die Logik, d.h. das was der Prozessor später machen soll, muß ich zunächst als Programm schreiben. Dazu steht mir z.B. die MPLAB IDE zur Verfügung (wobei hier nur Assembler oder C++ unterstützt wird).Wird auch bereits Java unterstützt?Bei der Verwendung des PIC18F452 wird nur einmalig der Bootstrap-Loader mit Hilfe eines PIC-Programmers (wie z.b: dem JDM-Programmer) und der entsprechenden Brennsoftware (z.B. IC-Prog) auf den Chip geschrieben. Das Programm (und alle Updates) kann ich über MIDI hochladen. Wie funktioniert das denn? Zur Funktionalität/Module:--------------------------Was soll die Midibox können:Die Midibox soll Teil meines Gitarrenequipments werden. Über meinen Midifußschalter schalte ich mein Effektgerät und meinen Verstärker (Patches). Die Effekte meines Effektgerätes sind in Effektblöcken (Delay, Chorus, ...) gruppiert. Die Midibox soll: - den Status der Effektblöcke (an/aus) anzeigen - über ein LED-Display alle Midinachrichten (eingehend/ausgehend) anzeigen - über 7-Segment LED Digits Patch- oder Songnamen im Klartext anzeigen - einen Teil der eingegangenen Mididaten verändern (z.B. CC-Nummer verändern: statt 0..127 --> 1..128) - zusätzliche Midinachrichten (z.B. ein Schaltersignal on(off) dem eingegangenen Midisignal hinzufügen (Midi-Merge) Module:-------Soweit ich mich bisher in die Thematik eingelesen habe, brauche ich dazu folgende Module: - Core-Module (Basis) - LCD-Modul (für die Darstellung der Mididaten) - DIN-Modul (für den Schalter) - DOUT-Modul (für die LED'S)Fragen:-------- Kann ich an die Midibox eine 6,3mm Klinkenbuchse für einen externen Schalter anschließen?- Kann ich eine Schalterinformation über eine 6,3mm Klinkenbuchse auch nach außen weiterleiten?- wieviele LED-Digits kann ich denn verwenden ?- mein Effektgerät liefert den Status der Effektblöcke auch zurück - diese Infos müßte ich doch über einen zweiten Midi-IN Anschluß und eine Midi-Merge Funktion verarbeiten können? Ist es möglich, einen zweiten Midi-In Anschluß zu realisieren?Das sind so mal die im Moment wichtigsten Fragen zu meinem Vorhaben.Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted August 25, 2003 Report Share Posted August 25, 2003 Hallo Wolfgang,zunaechst einmal eine schlechte Nachricht: C wird derzeit von MIOS nicht unterstuetzt, weil es noch keinen freien PIC18F compiler gibt (hoffen wir, dass sich jemand aus der gcc-Gemeinde dieses Thema annimmt). Einen Java compiler wird es mit Sicherheit nicht geben, weil der Resourcenverbrauch ungleich hoeher ist.Das Programm (und alle Updates) kann ich über MIDI hochladen. Wie funktioniert das denn? Perl installieren, DOS-Shell oeffnen, in das Projekt-Verzeichnis gehen, "make" ausfuehren, das main.syx file via MIDI-Ox uploaden.Zu den Anforderungen fuer Deine Applikation: laesst sich alles problemlos realisierenModule: passt soFragen:Kann ich an die Midibox eine 6,3mm Klinkenbuchse für einen externen Schalter anschließen?ja, die Leitungslaenge spielt bei den digitalen Eingaengen keine RolleKann ich eine Schalterinformation über eine 6,3mm Klinkenbuchse auch nach außen weiterleiten?ditowieviele LED-Digits kann ich denn verwenden ? Das haengt davon ab, wie die Digits angesteuert werden. Leider gibt es hierzu noch kein Programmierbeispiel, aber lange kann es nicht mehr dauern, bis ich mich dazu aufraffe ;-)Auf der DOUT-Seite gibt es einen Schaltplan fuer das MTC-Display. Daraus sollte hervor gehen, wie die Digits anzuschliessen sind, und wieviele Pins benoetigt werden. Wichtig ist nur zu wissen, dass bis zu 4 DOUTX4 Module (-> 128 ausgaenge) hintereinander angeschlossen werden koennen mein Effektgerät liefert den Status der Effektblöcke auch zurück - diese Infos müßte ich doch über einen zweiten Midi-IN Anschluß und eine Midi-Merge Funktion verarbeiten können? Ist es möglich, einen zweiten Midi-In Anschluß zu realisieren? Letztes Wochenende habe ich zufaellig ein Modul implementiert, das einer MIOS-Applikation einen zweiten MIDI I/O Port zur Verfuegung stellt. Der Datentransfer geschieht ueber das IIC Protokoll (hoert sich kompliziert an, ist aber relativ simpel zu bedienen). Das Modul arbeitet mit einem PIC16F874 und wird an CORE::J4 angeschlossen. Da der IIC Bus Multislave faehig ist, koennen sogar mehrere Module gleichzeitig betrieben werden. Ich werde das Modul mit der naechsten MIOS Version releasen.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted August 26, 2003 Report Share Posted August 26, 2003 Hallo Thorsten,erstmal danke für deine Antworten. Ich werde mir mal die Bauteile bestellen, die Platinen löten und mich ein wenig mit dem Assemblercode beschäftigen. Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted August 26, 2003 Report Share Posted August 26, 2003 Hallo Thorsten,du schreibst: "C [und auch Java] wird derzeit von MIOS nicht unterstuetzt". Ich habe mal ein wenig im Web gesucht und bin auf das Projekt muvuim (www.muvium.com) gestoßen. Es scheint so, daß dadurch die PIC18Fxxx auch über Java zu programmieren sind. Inwiefern ist diese Lösung kompatibel (oder auch nicht) zu MIOS ???Und für wann hast du denn das Release der neuen MIOS-Version geplant (wg. des zweiten MIDI-Eingangs)??Un noch eine Nachfrage: mit zwei DOUTX4-Modulen bin ich bei 16 7-Digits-LED-Modulen?! Das sollte eigentlich reichen ... ;-)Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted August 27, 2003 Report Share Posted August 27, 2003 Hallo Wolfgang,zum einen handelt es sich hier um eine kommerzielle Loesung ("muvium sells...") die mit Sicherheit nicht billig ist, zum anderen bezweifle ich, dass MIOS mit dem ganzen Java overhead noch performant laufen wuerde... MIOS muesste auf alle Faelle an den Compiler angepasst werden - eine sehr aufwaendige Angelegenheit, die unter Umstaenden sogar zu Abstrichen in der Funktionalitaet fuehren koennte. Deshalb werde ich auch damit nicht anfangen, bis ein wirklich brauchbarer (und vor allem fehlerfreier) C compiler verfuegbar sein wird, der frei erhaeltlich ist.Neue MIOS Release: in 1-2 WochenMit 2 DOUTX4 Modulen kann man sogar bis zu 24 Digits ansteuern, wenn man den Driver dementsprechend anpasst. :)Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted August 27, 2003 Report Share Posted August 27, 2003 Hallo Thorsten,das muvium Projekt unterstützt Java, nicht C. Und da ich mich auch beruflich etwas mit Java beschäftigen muß, käme mir das natürlich sehr gelegen. ;-)Neues MIOS Release in 1-2 Wochen - da warte ich doch mal, was es an Neuerungen gibt. Bin schon mal gespannt!Und 24 Digits mit 2 DOUTX4 Modulen klingt enorm gut ... !!Noch eine Frage zum LCD-Modul: Ich kaufe ein LCD und klemme es an den Port 15 des Core Module an? Eine eigene Platine ist nicht erforderlich?Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
ThomasT Posted August 27, 2003 Report Share Posted August 27, 2003 Zu den programmiersprachen:Am besten eignet sich immer noch Assembler. Obwohl es nicht ganz einfach ist und war sich durch Thorstens Code arbeiten. Nicht das Thorsten unsauber programmieren würde - im Gegenteil - aber Assembler liesst sich halt nicht so flüssig. Bei C und gar bei C++ und Java sehe ich das Problem, dass die PIC - Architektur nicht unbedingt in der Lage ist die Sprache 100% zu unterstützen. Z.B. gibt es nur eine Einsprungtiefe von 2 (stack is nur grösse 2). Es gibt workarounds aber die gehen sehr auf Kosten der Funktionalität. Java dagegen sollte eigl. nicht weniger performant sein als C++ oder C. Alle können auf C abgebildet werden. Es soll ja keine Java-VM auf dem PIC laufen *brrr*. Aber es gibt von der Firma ajile einen Microprocessor der JAVA-Bytecode direkt ausführen kann. Ob sowas sinnvoll ist sei dahingestellt. JAVA ist eh C++ für Arme und ob man das sinkende Programmiererniveau durch Hardware ausgleichen soll...ich weiss nicht. Aber der Trend geht wohl dahin. Quote Link to comment Share on other sites More sharing options...
TK. Posted August 28, 2003 Report Share Posted August 28, 2003 Und 24 Digits mit 2 DOUTX4 Modulen klingt enorm gut ... !!daraus sind mittlerweile 16 digits pro DOUTX4 modul geworden :)Noch eine Frage zum LCD-Modul: Ich kaufe ein LCD und klemme es an den Port 15 des Core Module an? Eine eigene Platine ist nicht erforderlich?nein - das LCD wird einfach direkt an J15 angeschlossenGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted August 28, 2003 Report Share Posted August 28, 2003 Hallo Thorsten,>> daraus sind mittlerweile 16 digits pro DOUTX4 modul geworden das nimmt ja langsam inflationäre Züge an ... ;-))Ich vermute, das ist auf das kommende MIOS-Release zurückzuführen?!Ja, dann werde ich wohl oder übel mich mal mit Assembler beschäftigen. Obwohl auch Java seine Reize hätte ...Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted August 30, 2003 Report Share Posted August 30, 2003 Hallo,>> daraus sind mittlerweile 16 digits pro DOUTX4 modul geworden das nimmt ja langsam inflationäre Züge an ... ;-))Die Anzahl der Digits, die von der Applikation angesteuert werden koennen, ist nahezu unbegrenzt :)Siehe auch: http://www.midibox.org/cgi-bin/yabb/YaBB.cgi?board=concepts;action=display;num=1061838266Ich vermute, das ist auf das kommende MIOS-Release zurückzuführen?!Nein, MIOS hat schon immer die Ansteuerung von LED Digits unterstuetzt, lediglich das Programmierbeispiel fehlte... es ist nun unter MIOS->Downloads zu finden.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted September 7, 2003 Report Share Posted September 7, 2003 Hallo Thorsten,danke für den Hinweis. Noch 'ne Frage: Zmm Projekt MIDIBOX-LC gibt eine FAQ, aus der hervorgeht, daß zwei LED-Module verwendet werden. Auch andere interessante Informationen sind enthalten.Nur ... was ist das für ein Projekt? Gibt es dazu auch ein Foto, eine kleine Beschreibung, ...???Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted September 7, 2003 Report Share Posted September 7, 2003 Hallo Wolfgang,die Informationen zur MIDIbox LC sind quer ueber das Forum verteilt ;-)Hier gibt es Photos: http://www.midibox.org/midibox_lc_photos/Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted September 10, 2003 Report Share Posted September 10, 2003 Hallo Thorsten,ich habe das Core-Modul jetzt soweit zusammengelötet bis auf die Diode (1N 4148). Wierum gehört denn dieses Teil eingesetzt? Ich gehe davon aus, daß das schwarz gekennzeichnete Ende (der Lötfuß hat hier die rote Markierung) in Richtung des Widerstandes R11 schaut.Zu den PIC's: ich würde gerne auf dein Angebot zurückkommen und mir von dir den Bootstrap-Loader aufspielen lassen. Wohin soll ich denn die PIC's schicken?Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted September 10, 2003 Report Share Posted September 10, 2003 und noch 'ne Frage:Das DOUT-Modul ist - soweit habe ich es verstanden - für die Ansteuerung der LED-Digits UND die Ansteuerung von LED's zuständig. Für 16 Digits löte ich ein DOUTX4-Modul wie in leddigits_16.pdf beschrieben. Wie sieht es denn für die Ansteuerung von LED's aus? Löte ich es mit allen Widerständen wie auf der DOUT-Seite beschrieben?(Ich brauche sowohl LED-Digits als auch LED's für mein Projekt!!)Und nochmal zum Dokument leddigits_16.pdf: Für die LED-Digits auf der linken Seite steht nur: "resistors not mounted", für die LED's auf der rechten Seite steht: "(no resistors) 8 bridges".Müssen nicht auch auf der linken Seite statt den Widerständen Brücken gelötet werden?Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted September 11, 2003 Report Share Posted September 11, 2003 Hallo Wolfgang,die Diode dient quasi als Schutzmassnahme um den Optokoppler vor Verpolung zu schuetzen.LEDs koenntest Du ebenfalls multiplexen (bspw. 64 LEDs anzwei Shiftregistern), oder auch direkt an die DOUT pinsanschliessen, falls Dir die Programmierung des entsprechendenDrivers zu kompliziert erscheint. Wenn eine LED direkt an einem DOUT angeschlossen ist, kann man sie besonders bequem umschalten: MIOS_DOUT_PinSet0 oder MIOS_DOUT_PinSet1Beim Multiplexen muss man die Ansteuerung selbst in dieHand nehmen, so wie in den "leddigits*" Beispielen, oderauch in der MIDIbox LC und der MIDIbox SID Applikation.Egal ob gemultiplexed oder nicht, es sollte sich jeweils ein Widerstand im Signalpfad befinden, eine LED sollte niemals direkt mit 5V betrieben werden! leddigits_16.pdf: ja Du hast Recht - danke fuer den Hinweis - fixed Gruss, Thorsten.P.S.: Meine Adresse habe ich Dir gerade per Forum-Mail geschickt. Quote Link to comment Share on other sites More sharing options...
Guest wolfgang Posted September 11, 2003 Report Share Posted September 11, 2003 Hallo Thorsten,mir ist schon klar, was die Diode macht. Ich wollte nur wissen, wie herum diese einzusetzen ist. ich kenne das verwendete Zeichen im Schaltplan nicht - ich kenne nur dieses Zeichen -->| Gruß,Wolfgang Quote Link to comment Share on other sites More sharing options...
TK. Posted September 12, 2003 Report Share Posted September 12, 2003 Du lagst schon richtig, der Markierungsring (egal in welcher Farbe) befindet sich an der Kathode, und diese ist im Schaltplan mit einem Strich markiert.Hier: http://avi.dezines.com/mbhp/info.html gibt es uebrigens eine weitere Ansicht vom Core-Modul (US Version), in der die Polaritaet der Diode klar zu erkennen ist.Gruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.