ThomasT Posted April 15, 2004 Report Share Posted April 15, 2004 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 returnAufgerufen 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_DISPLAYAlso 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? Quote Link to comment Share on other sites More sharing options...
TK. Posted April 26, 2004 Report Share Posted April 26, 2004 Hallo,spontan fallen mir zwei Fehler auf: zum einen beinhaltet der String hinter TEXT_GROUP/TEXT_BANK/TEXT_FADER/TEXT_BUTTON bereits die Cursor Position, evtl. hast Du vergessen, diese anzupassen.Zum anderen sehe ich hinter dem movf ein "BANKED" Parameter, obwohl BSR nicht initialisiert wurde - das kann zu Problemen fuehren (vor allem, da die meisten MIOS Funktionen BSR aendern).Siehe auch http://www.ucapps.de/mios/mios_ram_handling.txtGruss, Thorsten. Quote Link to comment Share on other sites More sharing options...
ThomasT Posted April 27, 2004 Author Report Share Posted April 27, 2004 >TEXT_GROUP/TEXT_BANK/TEXT_FADER/TEXT_BUTTON bereits die Cursor Position, evtl. hast Du vergessen, diese anzupassen. Das könnte es gewesen sein. 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.