LCD display performance

This is where you talk about the NXJ hardware related topics such as the brick, sensors, LEGO pieces, etc.

Moderators: roger, imaqine, 99jonathan

takashic
Novice
Posts: 32
Joined: Mon May 21, 2007 2:22 am

LCD display performance

Postby takashic » Tue Aug 07, 2007 3:45 am

I have tested performance of LCD display of leJOS NXJ (platform C) and
it seems that current implementation of spi interface for display update uses software polling to send the data and it causes slower performance. I noticed that leJOS developers already noticed and listed up in the Priority List:

11. Performance improvements. Some things like the way the display is updated mean that leJOS NXJ could be much faster. Its currently a lot slower than RobotC.

Then, I have two questions:
1. If spi interrupt is used instead of software polling, will the performance be dramatically improved?
2. what is your plan on this?

Thanks,

User avatar
bbagnall
Site Admin
Posts: 392
Joined: Fri Aug 04, 2006 4:03 pm

Postby bbagnall » Mon Aug 27, 2007 3:04 pm

Hi Takashi,

Sorry for the slow reply.

Yes, our plan is to make it interrupt driven. One of our earlier developers who isn't active anymore was going to make this change but never got around to it. If it's something you'd like to tackle we would be very thankful as we want to submit some speed comparisons for NXJ and the LCD slowness is stopping us from doing it currently.

takashic
Novice
Posts: 32
Joined: Mon May 21, 2007 2:22 am

Postby takashic » Thu Nov 15, 2007 12:01 am

The new LCD display functions seem to be progressed well in the trunk.
Once I used to tacle this feature, but have't done it. Sorry.

I would like to contribute as a tester.

Thanks,
Takashi

takashic
Novice
Posts: 32
Joined: Mon May 21, 2007 2:22 am

Postby takashic » Fri Nov 23, 2007 6:41 am

I have tested the new LCD diplay code and it works pretty well!
However, there is one question about "nxt_lcd_init".

void
nxt_lcd_init(void)
{
systick_wait_ms(1000); <- This one

nxt_spi_init();

nxt_lcd_power_up();

}

nxt_lcd_init has 1 sec wait and This will be included in the next NXT offcial release? or it will be moved to main function?

Thanks,
Takashi

User avatar
gloomyandy
leJOS Team Member
Posts: 4611
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby gloomyandy » Sun Dec 23, 2007 9:41 pm

Hi,
To be honest I'm not sure why there is the 1s delay in this function. I'll take a look. It may be there to allow things to settle before updating the hardware....

Andy

takashic
Novice
Posts: 32
Joined: Mon May 21, 2007 2:22 am

Postby takashic » Tue Dec 25, 2007 4:52 am

gloomyandy wrote:Hi,
To be honest I'm not sure why there is the 1s delay in this function. I'll take a look. It may be there to allow things to settle before updating the hardware....

Andy


Thanks Andy,

As far as I tested, if the 1s delay was removed, there would be no issue in a LEJOS OSEK program.

Takashi

lawrie
leJOS Team Member
Posts: 955
Joined: Mon Feb 05, 2007 1:27 pm

Postby lawrie » Thu Dec 27, 2007 9:00 am

I put the 1 second delay in when I first got leJOS running from flash memory. Without it, my NXT sometimes started up with the LCD not working. Even with it this still occasionally happens. It could be a problem with the specific NXT as I have not noticed it on my other NXT.

I will test this again and remove it if it appears unnecessary now, or move it to main.c.


Return to “NXJ Hardware”

Who is online

Users browsing this forum: No registered users and 0 guests