Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Steve

Pages: [1]
1
OLEDs / Re: NHD-0430DZW-AG5- Reinitializing in Nibble Mode - UPDATE
« on: November 18, 2014, 12:41:03 PM »
It seems that you can get this display into a funny state such that it will not respond properly.

And when it is in this state a simple power cycle will not recover this.

You really need to remove the display from the board and let it sit for some time (Or a really long time if you leave it connected).

I realized this while removing it to try my trusty Hitachi display LCD. After the Newhaven sat for some time (minute(s)) I plugged it back in and suddenly things are working properly.

That includes my initial post. I can now initialize many times without removing power.

So, if you are working with this part and get strange behavior, remove it from the circuit and let it sit a minute or two for it to internally reset. I suspect there are registers that when poked the wrong way cause the display to act funny and what makes it worse is that it holds this bad data down to a very low voltage.

2
OLEDs / NHD-0430DZW-AG5- Reinitializing in Nibble Mode
« on: November 18, 2014, 09:59:59 AM »
This is a nice looking display BUT it is the worst one I have ever had to work with!

I have asked this question before but since the forums got trashed I have to ask again.

How can I initialize it in nibble mode more than once without powering down the display?

As I develop I don't want to have to power cycle everything just to test changes. Surely there is a way as I have done with just about every other Hitachi compatible display from VFIP to LCD.

        self.nibc(0x30)                # put into 8 bit mode if not already there
        sleep(0.01)                     # this is 10ms., plenty of time!
        self.nibc(0x30)                # do it again to be sure
        sleep(0.01)
      
        self.nibc(0x20)                # now I know I am starting from known 8 bit mode.
        self.nibc(0x20)                #   so start the 4 bit handshake.
        self.nibc(0x80)
        sleep(0.01)
      
        self.nibc(0x00)
        self.nibc(0x10)
        sleep(0.01)
       
        self.nibc(0x00)
        self.nibc(0x20)
        sleep(0.01)
 
        self.nibc(0x00)
        self.nibc(0xF0)
        sleep(0.01)

If I run this many times it will often initialize correctly or often leave trash all over the display. Sometimes it seems like every other time is correct and other times not.

On first power up from zero volts this will run correctly every time. But what if I have a brown out which rattles the reset line but the voltage never really falls to zero?

Surely there is a way to do this?

Pages: [1]