AXE131Y 8x2 OLED 18M2 custom firmware

matchbox

Senior Member
To start with. The 18M2 on the OLED driver board does the job. But only in a simple way.

I have found the basic commands rather lacking. In the way, that if you want the display to scroll, it scrolls both lines. Rather than just being able to scroll the top or just the bottom line. While leaving the other as is. This defeats the whole purpose of having a multi-line display.
I bring this up, because the scroll feature is very useful on the small 8x2 unit.

Has anyone written? Or is there a different firmware for the 18M2 that will perform these functions?

Thanks
 

hippy

Technical Support
Staff member
The OLED ( and LCD ) scroll both lines at the same time because that's a feature of the display driver chip hardware. This feature probably came about because it was useful for single line displays and they simply kept it for backwards compatibility when new LCD driver chips came along which could support single and multiple line displays. OLED driver chips then simply replicated everything to allow them to be used as drop-in replacements. It is, as you say, not really that useful for multi-line displays.

The easiest way to have scrolling text is to repeatedly send a line of text to the display but starting from a different first character position. For example -
Code:
Symbol LCD = B.7

Do
  For b1 = 0 To 33
    SerOut LCD, N2400, ( 254,$80 )
    For b2 = 0 To 15
      b3 = b1 + b2 // 34
      ;            0123456789-123456789-123456789-123
      LookUp b3, ("This is a scrolling line of text. " ), b4
      SerOut LCD, N2400, (b4)
    Next
  Next
  Pause 500
Loop
Doing something like that, automatically within the the OLED firmware, isn't however easy, because, while it's scrolling, it cannot be receiving data from the PICAXE which sends to it, so the sending PICAXE never knows when to send without risking losing data to display.

The easiest solution is therefore to leave the OLED firmware alone, and do it as suggested above.

If data sent isn't just static text then the scheme can be modified to write data from RAM or Scratchpad, then have a routine which sets that RAM or Scratchpad to whatever needs to be sent before sending it.
 

westaust55

Moderator
More as clarification/expansion of what Hippy has already stated,

There scroll function for character type LCD/OLED displays is a function of the driver chip on the display. And those displays scroll all the lines together.
If is not a limitation brought about by the PICAXE chip or the firmware developed by Rev Ed.

Hippy has already provided the basis to scroll text left/right on a single line.

The same concept applies when you wish to scroll a menu up and down on a display - such as having 8 options and a 4 line display.
 
Last edited:
Top