Jump to content

ThomasT

Members
  • Posts

    95
  • Joined

  • Last visited

    Never

About ThomasT

  • Birthday 01/01/1

Profile Information

  • Gender
    Male

ThomasT's Achievements

MIDIbox Newbie

MIDIbox Newbie (1/4)

0

Reputation

  1. What do you mean with "fix"? Do you have an idea what a PSU for 22A looks like? Its not worth the efford, in normal operating it needs 2A or so. How should this be? No I havent.
  2. Puh...I don't remember the number. But they are on Thorsten's list. I have already built...I just wnat to do some improvement because I had some other things to fix, so I wanted to update the software as well. Just as an importent tipp: never combine midiboxes as I did. Chain them as single *independent* devices. -> debug horror. http://www.krachwerk.de/projekte.html http://www.krachwerk.de/midibox/midibox.html
  3. Hi, I'm just debugging an update of my software. I wanted to delay the fader movement so I tried to move them (after timing mechanism) in main::tick() or main::timer(). But this do not work correctly. Before I do further debugging I just want to asks if this can causes problems. Sometimes the fader moves, sometimes they don't. And there seems to be no rule. So I suspect a problem with interupt handling or something like this. Normal direct fader movment works perfectly. What's this for you my asks... I have 4 midiboxes with 8 faders each. Don't know why, but my ALPS faders take more current that Thorsten descriped. I think up to 700mA accourding datasheet. The problem is that my power supply offers only 5A on 12V. So I have only 150mA per faders. Thats not enough so movement of all faders together will not work properly. My idea was to delay the movement depending on the midibox id. midibox 4 moves directly, the next 8 faders of midibox 3 1s later, midibox 2 2s later midibox 1 3s later. Maybe the times need improvment. Why, midibox 1 as last and midibox 4 as first? The faders of midibox 4 moves faster. The ones of midibox 1 slowest. Don't know why. My be an problem of usage. (lower channels vs. higher channels) Only on events that causes movements of all faders. These are, reset (per menu or startup) and snap shot recall. In all other cases the faders move directly of cause. Thanks for any ideas. Thomas If this will work I will publish my whole code. But not before.
  4. Hallo! Ich habe hier noch zwei alte Platinen mit 16F877 Microcontrollern. Midibox64 PCB nach dem Layout von Greg. Soviel ich weiss ist die Platine im wesentlichen kompatibel zu den neuen PICs und MIOS Applications. Die Motorfader-Boards zum Ansteuern von 16motorfadern müssen leicht überarbeitetet werden, da die neue MF Application ein zusätzlichens Shiftregister braucht. Aber die Teile funktionieren (Baujahr 2001) und haben bis vor einem halben Jahr noch im Studio zu verlässig gewerkelt. Wenn jemand Interresse hat, bitte melden. Für Porto und einen kleinen Ausgleich für den 16F877 PIC würde ich die Teile verschicken, bei mir sammeln sie nur Staub. Ach, ja. Wer es nur zum Ausschlachten will: alle ICs ausser der PIC sind direkt gelötet und nicht gesockelt... Gruß Thomas
  5. Hi, I redesigned my electronics, so I have the two Midibox64 Module including Motorfader boards left. If someone is interested I would send them for very little money. Faeatures: PIC 16F877 PCB design by Greg with no modifications. Motorfader-Board design by myself. (see: http://krachwerk.de/projekte.html and http://krachwerk.de/midibox/midibox.html) You can use those boards with little modifications with MIOS. As far as I remember the the main board can be used without any modifications but the motorfaderbaord need an additional shiftregister. Maybe it's useful for someone. Thomas
  6. ThomasT

    BankStick

    Übrigens, bin ich auch dabei eine Art Gruppenkonzept zu realisieren. Na ja dabei ist gut...Zeitmangel... Aber Konzept steht bereits. Wenn du mir die Arbeit abnehmen möchtest, Thorsten... ;) Und zwar plane ich mehrere Midiboxen in Kette zu verbinden. Die erste MIDI-Box hat die Steuerbuttons, die letzte die Displays. Ansonsten halt alles ganz trivial MIOS like mit einem Unterschied dass ich die MIDI-Befehle direkt in hex codieren will (so wie beim Peavey 1600). Die leaning Funktion hat sich nicht wirklich bewährt. Zu den Gruppen: Die Elemente (Buttons, Fader, Poties) sind in 3 Bänken aufgeteilt. D.h. sie existieren virtuell dreimal. (mehr geht nicht ohne die MIOS Funktionen per Hand zu umschiffen, MIOS Table etc.) Diese drei Bänke (Bankstick brauch und will ich nicht...) werden umgeschaltet. Für alle MIDIboxen in der Kette. Nun möchte ich aber nicht alle umschalten, sondern nur bestimmte Elemente, z.B. die letzten 8 Fader nebst den dazugehörigen Buttons und Poties. Also eine Befehl "schalte alles was zu den letzten 8 Fadern gehört auf Bank 2 um". Und alle was dazu gehört - die Poties und Buttons und die Fader selbst - werden dazu als Gruppe zusammengefasst. Auch wenn sie physikalisch auf verschiedenen cores liegen. Natürlich inklusive den Editierfunktionen Gruppe anlegen/umbennen, Bank Name editieren. Gruppe und Bank umschalten. (wobei Bankumschaltung nur auf Gruppe wirkt, Gruppe 0 == alle Gruppen). Jeder Fader etc. hat also nicht nur die üblichen Parameter, sondern zusätzlich noch eine Gruppenzugehörigkeit.
  7. >TEXT_GROUP/TEXT_BANK/TEXT_FADER/TEXT_BUTTON bereits die Cursor Position, evtl. hast Du vergessen, diese anzupassen. Das könnte es gewesen sein.
  8. >ist wirklich sehr vorteilhaft, per midi...sonst musst du immer den pic aus dem sockel nehmen, in den JDM rein und wieder zurück..... Falsch. Der lässt sich doch inline programmieren. Thorsten hat doch auch in seinen Layouts ein entsprechende Buchsenleiste vorgesehen. Meine sind sogar aufgelötet (SMD).
  9. >mich würde mal interessieren, ob es möglich ist ein komplettes, lauffähiges MIOS (für MIDIBox 64 mit 64 pots/faders und 64 buttons) mit dem JDM zu brennen, da ich probleme mit dem "upload-via-midi" habe. ich habe schon mehrfach ein MIOS v1.6 (direkt) draufgebrannt. Das ist natürlich möglich. Allerdings musst du da entweder den AssemblerCode oder Hex Code umarbeiten, da im MIOS der Bootloader nicht mit drin ist. Ist aber nicht allzuschwer, allerdings weitaus schwerer als das MIOS per MIDI zu laden. >wenn ich den PIC (18F452) dann in das core-modul schnall, ein lcd anschließe (sonst nichts!) und strom drauf gebe, dann meldet sich das lcd ganz verheissungsvoll mit dem "startbildschirm" und wechselt anschließend zur anzeige "ready". Also geht es doch! Mehr macht das MIOS nicht! Du hast keine Applikation geladen. Erst damit wird die MIDI-Box zum Leben erweckt. Die Funktionen die ein Buttondrücke im MIOS auslösen laufen so ins Leere. Nichtmal ein nop wird gemacht... >aber danach passiert leider nix mehr!!! auch die buttons für die menü-steuerung (die ich schon versuchsweise angeschlossen hatte) helfen nicht weiter. Lade mal eine Applikation drauf die ungefähr das macht was du erwartest. Also z.B. Buttons bedient.
  10. Hallo! Ich sehen kein Problem ein AT-Netzteil zu benutzen. Klar ist es oversized aber möglich. Du kannst direkt die 12V (mit Regler auf 8V runtergesetzt für Motorfader) und 5V benutzen. Ohne Spannungsregler. Mache ich grad auch hier. Allerdings nur zum Testen. Ich wollte das 100W NT eigl. in die Midibox einbauen. Ging aber vom Platz her nicht. Du verbrätst auch keine 197W! Sondern im wesentlichen natürlich nur das was du abnimmst. Also eben auch nur ein paar Watt. Deswegen kann der Lüfter eigl. auch abgeklemmt werden. Viele NT brauchen keine Mindestbelastung. Manche schon. NImm halt eine Glühlampe... Netzteil startet man indem "PS-ON" (meinst ein grünes oder braunes Kabel) auf Masse geklemmt wird.
  11. Hi Thorsten und alle anderen! Mühsam ernährt sich das Eichhörnchen... Stand: Endlich Maincore mit zwei PICs fertig. D.h. erstmal der letzte PIC in der Kette montiert. An ihm hängen u.U. die zwei Displays. Hat sich einfach als günstig erwiesen. Ohne Display zu debuggen ist horror... Gestern tadellos hochgefahren bis zum "READY". :) Natürlich wieder von Freundin eingeweiht da temporär auf Fussboden abgelegt...diesmal musste aber nur der Versorgungsstecker dran glauben, letztens wars ein 25Euro Motorfader. :( Allerdings gibts ein klitzekleines Problem mit der Anzeige Software. Ich denke es ist nichts kritisches, aber ich frage halt mal parallel. Codeschnipsel: TMB_UI_DISPLAY ;clear screen call MIOS_LCD_Clear ;group in first line TABLE_ADDR TEXT_GROUP call MIOS_LCD_PrintString movf TMB_CURRENT_GROUP, W, BANKED call MIOS_LCD_PrintBCD1 ;@todo: group name ;bank in second line movlw 0x40 call MIOS_LCD_CursorSet TABLE_ADDR TEXT_BANK call MIOS_LCD_PrintString movf TMB_CURRENT_BANK, W, BANKED call MIOS_LCD_PrintBCD1 ;@todo: bank name ;last moved fader/poti/button ;a fader is a motorized poti... movlw 0x80 call MIOS_LCD_CursorSet TABLE_ADDR TEXT_FADER call MIOS_LCD_PrintString movf TMB_CURRENT_BANK, W, BANKED call MIOS_LCD_PrintBCD1 ;@todo: switch between faders/poti/button ; getting their names or printing its number ;last sent or recieved midi-event movlw 0xC0 call MIOS_LCD_CursorSet TABLE_ADDR TEXT_BUTTON call MIOS_LCD_PrintString movf TMB_CURRENT_BANK, W, BANKED call MIOS_LCD_PrintBCD1 ;@todo: use the last midi event ; not this dummy here return Aufgerufen wird die Funktion in main.asm in den User_Display Funktionen: ;; -------------------------------------------------------------------------- ;; This function is called by MIOS when the display content should be ;; initialized. Thats the case during startup and after a temporary message ;; has been printed on the screen ;; -------------------------------------------------------------------------- USER_DISPLAY_Init goto TMB_UI_DISPLAY ;; -------------------------------------------------------------------------- ;; This function is called in the mainloop when no temporary message is shown ;; on screen. Print the realtime messages here ;; -------------------------------------------------------------------------- USER_DISPLAY_Tick goto TMB_UI_DISPLAY Also eigl. simpel. Nur der Effekt ist nicht, dass alle vier Displayzeilen belegt werden, sondern immer nur in der ersten geschrieben wird. Es blinkt halt fröhlich wenn "BANK", "GROUP", "FADER" etc. nacheinander in der ersten Zeile des ersten Displays erscheinen. Nach der Doku und den Beispielanwendungen und den MIOS Sourcen sollte es doch so funktionieren. Wo habe ich was übersehen?
  12. Hi Thorsten! I know the documentation. But I wanted to know if not only USER_MPROC_NotifyFoundEvent is called, but also USER_MPROC_NotifyReceivedEvent and three times USER_MPROC_NotifyReceivedByte during a midi-event. But I saw you uploaded the source code of MIOS. This will answer such questions. Thomas.
  13. Hi Thorsten! After getting the first board running, I developed the main core board first. It's a horror for debugging without any dispplay or even a single LED. This board is ready (it may be still have some errors...) but not soldered. I have to check out what I need and then contact farnell and reichelt. And even then I will solder only the displays and the PIC. (some Rs, Cs and Ts too) It contains on one 200x150 board two core modules with 80 poties, 80 buttons, 80 leds and two displays connects to the second PIC which will be the last in the chain. It took a week to layout it. For some reasons I will not publish it... In this time I want to start to develope the software. And I have some questions and lack of knowlegdes... 1. How can the Inter-MB communication realized by MIOS? On your MB-Link page there are no hints how to handle such "masked" events in the software. Communication is neccessary for display (only the last PIC has a display) and for bank changes etc. pp. The first MB (this one you debugged...) must send a "all MBs please change the bank to 2" to all MBs in the chain. Or "only special faders change your bank". etc. 2. When exactly will this functions be called USER_MPROC_NotifyFoundEvent USER_MPROC_NotifyReceivedByte USER_MPROC_NotifyReceivedEvent What happens if two events come directy after each other? What happes if there are to many events to store? Does the last one win or will it be lost? What happens after MIDI-Timeout?
  14. Post ist unterwegs. Weitere Infos im Beipackzettel.
×
×
  • Create New...