View previous topic :: View next topic |
Author |
Message |
olive2222
Joined: 31 May 2006 Posts: 88
|
Posted: Sun Jun 29, 2014 3:41 pm Post subject: EA DOGM128M vertically |
|
|
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 |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Sun Jun 29, 2014 10:27 pm Post subject: |
|
|
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 |
|
|
olive2222
Joined: 31 May 2006 Posts: 88
|
Posted: Mon Jun 30, 2014 5:19 am Post subject: |
|
|
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 |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Mon Jun 30, 2014 8:47 am Post subject: |
|
|
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 |
|
|
olive2222
Joined: 31 May 2006 Posts: 88
|
Posted: Mon Jun 30, 2014 10:11 am Post subject: |
|
|
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 |
|
|
albertsm
Joined: 09 Apr 2004 Posts: 5913 Location: Holland
|
Posted: Mon Jun 30, 2014 2:23 pm Post subject: |
|
|
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 |
|
|
olive2222
Joined: 31 May 2006 Posts: 88
|
Posted: Mon Jun 30, 2014 7:54 pm Post subject: |
|
|
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 |
|
|
|