|
In lugnet.robotics.nxt.nxthacking, Jason J Railton wrote:
|
I already got one shade of grey out of it by flicking between two images at
the current rate:
I use all those spare cycles to mix and merge screen layers in real time, so
this image has full parallax scrolling. Ive been trying to do something
like this since the MDP call-up went out.
You can update the screen data faster by messing around with the interrupts,
but you run up against a big problem.
What youre doing in code is transferring screen data over a serial link to
the single-frame buffer held on the LCD driver chip. Youre not controlling
the displays pixels directly. The LCD controller then refreshes the
physical screen from that buffer at a rate of around 60Hz or 70Hz. It
doesnt matter how quickly you actually dump data over the serial link, the
display only gets refreshed at the rate dictated by the LCD controller.
Thats why small matrix passive LCD devices (like calculators, the original
Nintendo Game Boy, and the Grapevine PDA on my desk) only have two shades of
grey. They flick between two images as fast as possible, but are able to
control the delay between refreshes slightly so that one of the frames lasts
a little longer than the other, and you get two different shades of grey.
They cant regulate the brightness of individual pixels like more recent
active colour LCD displays do (TFTs have a discrete transistor for each
pixel).
Im not sure its possible to affect the refresh rate of the actual LCD
controller on the NXT, so one shade of grey may well be its limit. Ive
tried longer cycles (four frame patterns), but the flicker is too great.
This may improve if I can get the data refresh in synch with the screen
refresh, but thats a tough one.
Only one shade of grey does have an up-side, but Im working on that at the
moment.
|
Okay, theres a little more to it than this. If you have a display that
supports greyscales, it can control the level of the voltage jolt thats applied
to each pixel during the actual refresh cycle. That way you get a smoother
display with less flicker, as the pixels designated as grey never get turned
completely black. You still get a little flicker though from the paler shades
as they fade out before the next refresh cycle.
Unfortunately, you cant do this with the NXT unless you want to completely
replace the display module. So, it seems a two-frame flicker is about as far as
it can go.
Jason R
|
|
Message is in Reply To:
| | Re: Faster NXT LCD Screen Refresh
|
| (...) I already got one shade of grey out of it by flicking between two images at the current rate: (URL) I use all those spare cycles to mix and merge screen layers in real time, so this image has full parallax scrolling. I've been trying to do (...) (18 years ago, 22-Mar-07, to lugnet.robotics.nxt.nxthacking, FTX)
|
8 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|