Jump to content

Displayprogrammierung


ThomasT
 Share

Recommended Posts

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?

Link to comment
Share on other sites

  • 2 weeks later...

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

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