|
In lugnet.robotics.nxt, John Hansen wrote:
> 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
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 community building around
the firmware.
Jason R
|
|
Message is in Reply To:
| | Re: What do these macros do?
|
| (...) 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 (...) (18 years ago, 24-Jan-07, to lugnet.robotics.nxt, lugnet.robotics)
|
12 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|