looking at the timing constraints in the data sheet, I'm supprised the thing is working at all. ....If you are commited to using this type of display with it's down falls because it looks good then you MUST you it as it was intended to be used it you expect it to relay the information correctly. No more to say...


Anyhow, for anyone who is using a Newhaven OLED display and wants to use Darrel's bargraph routine, you only have to modify a few things, which only takes about 30 seconds to do so. Here is what you need to do:

Make this portion of the code:
Code:
    LCDOut $FE,$40,REP $15\8                  ; Custom char 0 - 3 lines  |||
    LCDOut $FE,$48,REP $14\8                  ; Custom char 1 - 2 lines  ||
    LCDOut $FE,$50,REP $10\8                  ; Custom char 2 - 1 line   |
To make it look like this:
Code:
    LCDOut $FE,$48,REP $15\8                  ; Custom char 0 - 3 lines  |||
    LCDOut $FE,$50,REP $14\8                  ; Custom char 1 - 2 lines  ||
    LCDOut $FE,$58,REP $10\8                  ; Custom char 2 - 1 line   |
You have change the numbers in the other two character sets if you use blocks and boxes.

You also have to modify this code:
Code:
ThreeBARS CON 0                                ; Identify the Custom Characters
TwoBARS   CON 1
OneBAR    CON 2
To this:
Code:
ThreeBARS CON 1                                ; Identify the Custom Characters
TwoBARS   CON 2
OneBAR    CON 3
By modifying the lines of code above, the bargraph will display correctly on your OLED screen. I tested the bargraph a few different ways and it worked 100% of the time. I hope this is able to help someone.