|
Dick Swan wrote:
> Here's a trick to get a faster rate on the LCD display refresh.
<snip>
> There's really no additional CPU real-time overhead for the faster
> refresh. The actual transmission of the screen buffer is done by DMA.
> RAM memory access is running at 48 MHz, so "stealing"~1000 of these
> cycles for the DMA every 5 milliseconds is 0.4%. And I didn't read the
> specs in detail, but it might be as small as 0.1% if the DMA operates
> on 32-bit words and not 8-bit bytes.
>
> The faster screen refresh will be in the next version of RobotC.
> Individual drawing functions in RobotC (text line draw, fill/erase
> rectangle, etc) almost all take under 100 microseconds to operate. So
> it would be easy to experiment with this via a simple RobotC program.
> You can do a lot of things in 5 milliseconds! If interested in
> exploring, send me a email and I'll ensure you get early access to the
> next version.
This is really interesting. If I understand correctly, to get colors,
or at least shades of grey, you have to refresh the screen quickly
and the "darker" the pixel, the more often it shows up in the pattern.
For example, let's say I have 3 shades of grey. I'd need 2 copies of
the screen, and the pixel set routine would figure out which copies to
set or clear the pixel in to get the desired shade.
For any particular pixel, the apparent grey shade would be proportional
to the number of times the pixel was on, for example:
off - 0 0
grey - 0 1
grey - 1 0
black - 1 1
For more shades, just add more copies of the display
off - 0 0 0
grey 1 - 0 0 1
grey 2 - 0 1 1
black - 1 1 1
Is that about right?
Ralph
|
|
Message has 1 Reply: | | Re: Faster NXT LCD Screen Refresh
|
| (...) This kind of works. In the first instance, you get two identical shades of grey. In the second instance (and I've tried this) you'd be surprised to see that the difference in shades between the two greys is actually very small. You really need (...) (18 years ago, 22-Mar-07, to lugnet.robotics.nxt.nxthacking)
|
Message is in Reply To:
| | Faster NXT LCD Screen Refresh
|
| Here's a trick to get a faster rate on the LCD display refresh. It currently takes 16 milliseconds to refresh the NXT LCD. 16 "messages" are sent to the LCD. One message is sent per millisecond. There are two messages from the ARM to the LCD for (...) (18 years ago, 22-Mar-07, to lugnet.robotics.nxt.nxthacking)
|
8 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|