howdy !
so i have this problem - instead of havinf both lcd’s in a line i have mounted them one beneath the other to get a more compact midibox.
the problem is only that now the “controlable” elements on the lcd are not alligned together. it looks like this:
status section | channel 1 | channel 2 | channel 3 | channel 4 |
O O O O
channel 5 | channel 6 | channel 7 | channel 8 | clock section
O O O O
the round “O” are knobs in my panel. of course you can immagine that this solution isn’t really very comfortable. what i try to achieve is the following:
status section | channel 1 | channel 2 | channel 3 | channel 4 |
O O O O
clock section | channel 5 | channel 6 | channel 7 | channel 8 |
O O O O
so i just want to move the “clock” part to the left of the lcd.
i tried to rewrite the code a bit but i’m quite stuck - the lc code is quite big with a lot of attachments and i get confused very easy.
could you maybe point me in the direction where i should go and search? i have 2x40 character lcd’s
thanks in advance
moxi
May 7, 2008, 7:57am
2
hi,
i think you have to edit the “lc_clcd.inc” file:
;; --------------------------------------------------------------------------
;; Some words to the x/y positions:
;; - x goes from 0 thru 39 (1st column to 40th column)
;; - y: when 0: first LCD, upper line
;; - y: when 1: first LCD, lower line
;; - y: when 2: second LCD, upper line
;; - y: when 3: second LCD, lower line
;; --------------------------------------------------------------------------
i guesss this won’t work without some more intensive recoding.
as far as i have understood the glcd.inc file there are no seperate functions for the host messages only one:
;; print host messages at position 12/0, (0=normal spacing)
SET_CLCD_HOST_MSG 1, 12, 0, 0
i guess that when it hits the end of the first lcd i automatically goes to the second. i guess i would have to make a seperate SET_CLCD_HOST_MSG for the first lcd and a seperate for the second.
correct ?
okay i actually solved it by myself…
the line
LC_CLCD_Msg_CursorUpdate_C2
movlw 0x80-40
addwf TMP1, F
has to be changed to
LC_CLCD_Msg_CursorUpdate_C2
movlw 0x80-28
addwf TMP1, F
also - to have everything correctly alined
LC_CLCD_Init_Page0
;; print status digits at position 38/2
SET_CLCD_STATUS 1, 38, 2
;; print “SMPTE/BEATS” at position: 28/2
SET_CLCD_SMPTE_BEATS 1, 1, 2
;; print MTC digits at position 27/3
SET_CLCD_MTC 1, 0, 3
;; print host messages at position 12/0, (0=normal spacing)
SET_CLCD_HOST_MSG 1, 13, 0, 0
;; don’t print meters
SET_CLCD_METER 0, 0, 0, 0
;; print rec/solo/mute status at 0/0
SET_CLCD_RSM_MSG 1, 0, 0
;; print select status at 0/1
SET_CLCD_SEL_MSG 1, 0, 1
return
and everything fits perfectly on screen. yikes !