|
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: ![](/news/x.gif) | | 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 (...) (17 years ago, 24-Jan-07, to lugnet.robotics.nxt, lugnet.robotics)
|
Message is in Reply To:
12 Messages in This Thread: ![Not eXactly C beta release news -John Hansen (20-Dec-06 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/46.gif) ![What do these macros do? -Jeff Elliott (11-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/246.gif) ![Re: What do these macros do? -Chris Magno (11-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif)
![](/news/x.gif) ![](/news/x.gif) ![](/news/68.gif) ![Re: What do these macros do? -Jeff Elliott (11-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/46.gif) ![Re: What do these macros do? -John Hansen (16-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/246.gif) ![Re: What do these macros do? -Jeff Elliott (21-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/46.gif) ![RE: What do these macros do? [IOMAP Access Execution Times -"Dick Swan" <dickswan@sbcglobal.net> (21-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif)
![](/news/x.gif) ![](/news/x.gif) ![](/news/68.gif) ![Re: What do these macros do? -Julien Letrouit (23-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/46.gif) ![You are here](/news/here.gif) ![](/news/246.gif) ![Re: What do these macros do? -Jason J Railton (24-Jan-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif)
![](/news/x.gif) ![](/news/x.gif) ![](/news/68.gif) ![compilation switch in BrickCC Command Center? -Elizabeth Mabrey (6-Feb-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif) ![](/news/46.gif) ![Re: compilation switch in BrickCC Command Center? -John Hansen (6-Feb-07 to lugnet.robotics.nxt, lugnet.robotics)](/news/x.gif)
- 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
|
|
|
|