|
In lugnet.robotics.nxt, Julien Letrouit wrote:
> Is it possible to write in the display popup buffer? So that we can do double
> buffering? I made some quick tests, but it seems the drawing routines always
> write in the normal display buffer...
It is possible to write to the popup buffer but only by using the IOMap routine
(SetDisplayPopup). The regular system calls which write to the LCD all write to
the normal display memory.
Unfortunately, as Dick Swan suggested, the current NXT Firmware code limits the
number of bytes you can write using the IOMapWrite system call to a maximum of
64 bytes. I thought at first that that must be just a Fantom restriction but
the VM has this code in it:
#define MAX_IOM_BUFFER_SIZE 64
// [...]
if (Count > MAX_IOM_BUFFER_SIZE)
{
//Request to read too much data at once; return error and give up
*pReturnVal = ERR_INVALID_SIZE;
return (NO_ERR);
}
The comment says "read" but it really should say "write". This same sort of
code is in both cCmdWrapIOMapRead and cCmdWrapIOMapWrite.
I will lobby for fixing that in the next firmware release as well as adding new
system calls for reading/writing to the IOMaps without having to search through
the list of modules doing string comparisons.
John Hansen
|
|
Message has 2 Replies: | | Re: What do these macros do?
|
| (...) John - if you've got someone's ear in this, could you also see if a GCC build of the firmware can be released? I know LEGO are unlikely to use GCC themselves as they can afford more specialised tools, but so far, I don't see much of a (...) (18 years ago, 24-Jan-07, to lugnet.robotics.nxt, lugnet.robotics)
|
Message is in Reply To:
12 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
|
|
|
|