Forum - MCS Electronics

 

FAQFAQ SearchSearch RegisterRegister Log inLog in

EA DOGM128M vertically

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    www.mcselec.com Forum Index -> BASCOM-AVR Archive
View previous topic :: View next topic  
Author Message
olive2222

Bascom Member



Joined: 31 May 2006
Posts: 88

belgium.gif
PostPosted: Sun Jun 29, 2014 3:41 pm    Post subject: EA DOGM128M vertically Reply with quote

Dear Bascom Addicts,

I need to use a EA DOGM128M display vertically mounted.
Graphics are easy to handle but characters gives me troubles.
I have created few 5x7 90°rotated fonts but row and columns being swapped I have 3 dot spacing between each characters
due to the (mandatory) 8x8 grid.
For 2 digits a workaround can be 2 libraries with right and left shifted characters ensure one dot separation.
However I have no way to display correctly more than 2 digits, even by using smalls BGF, again because of the 8x8 "format".

A one dot step would be far better and this looks possible with the GLCD_VDI/GLCD_VDI_INIT.BAS find on bascomforum.de but
downloads links are dead (and my German skills are none!).

Does anybody have that code laying around or any suggestions ?

Thank you in advance,
Olivier

(BASCOM-AVR version : 2.0.7.7 )
Back to top
View user's profile
albertsm

Administrator



Joined: 09 Apr 2004
Posts: 5917
Location: Holland

blank.gif
PostPosted: Sun Jun 29, 2014 10:27 pm    Post subject: Reply with quote

I think all you need to do is add a constant named EADOGM_rotate to your program.
I think MWS added support for rotation.

Thus : CONST EADOGM_rotate = 1
should do the trick when using glcdEADOGM128x6.lib or lbx

_________________
Mark
Back to top
View user's profile Visit poster's website
olive2222

Bascom Member



Joined: 31 May 2006
Posts: 88

belgium.gif
PostPosted: Mon Jun 30, 2014 5:19 am    Post subject: Reply with quote

Thanks for your feedback Mark !
I have seen the rotate function in the EADOGM128 library, however it's rotate 180°, still horizontal so!
An idea can be to"tap" the LCD data in the registers to alter them (90° rotation + 1 dot alignment) before they are handled by the library, but it's look tricky !
I only need half of the display to be dot step controllable mean 512 bytes, it' s can be handled in RAM so (I have 4KB).
Yep this mean starting from scratch to control the ST7565R lcd driver serially. I don't need line, frame, circle, functions so mainly it's a matter
of store a BMP in the flash and to handle the leaving half display characters/graphics mix in RAM.
My better bet still to give a try to the GLCD_VDI code !

Olivier
Back to top
View user's profile
albertsm

Administrator



Joined: 09 Apr 2004
Posts: 5917
Location: Holland

blank.gif
PostPosted: Mon Jun 30, 2014 8:47 am    Post subject: Reply with quote

In one of the other posts i explained what you need to do to using sram to store the buffer. it is relatively simple.
- in the _glocate routine you need to store the address that is set.
- in the _gwrite_data you need to write the data both to the chip and the sram buffer using the data address pointer. you also need to increase this address after each write.
- when reading is required for setting a pixel, read from the sram buffer.
that is basically what is required. of course using halve the size of the buffer will complicate things. if there is example code you can best start with that.

_________________
Mark
Back to top
View user's profile Visit poster's website
olive2222

Bascom Member



Joined: 31 May 2006
Posts: 88

belgium.gif
PostPosted: Mon Jun 30, 2014 10:11 am    Post subject: Reply with quote

Thanks to point me in the right direction, I will have a look on your _glocate, _gwrite suggestion post.
In the meantime I find out that the glcdcmd can handle the ST7565R registers.
I test it with the contrast command but the Display data write command need that A0 was handled, not the case apparently.
is there any way to set A0 outside the library control?
Back to top
View user's profile
albertsm

Administrator



Joined: 09 Apr 2004
Posts: 5917
Location: Holland

blank.gif
PostPosted: Mon Jun 30, 2014 2:23 pm    Post subject: Reply with quote

both command and data handle the a0. so that should not be a problem

the glcdcmd calls _gwrite_cmd in the lib which will set a0 to 0 and the data will call _gwrite_data which will set a0 to 1.
it is always possible to change the levels outside the lib.

_________________
Mark
Back to top
View user's profile Visit poster's website
olive2222

Bascom Member



Joined: 31 May 2006
Posts: 88

belgium.gif
PostPosted: Mon Jun 30, 2014 7:54 pm    Post subject: Reply with quote

Thank you Mark ! It's working now, just forget to add Glcddata before my data (yep not needed in my contrast test)
I can so set EADOGM128 display data on dot basis with the start line and the column address commands of the ST7565.
Nice, will tweak my fonts locations now! Thanks Again.
Olivier
Back to top
View user's profile
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    www.mcselec.com Forum Index -> BASCOM-AVR Archive All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum