ts-7000
[Top] [All Lists]

RE: [ts-7000] Re: About to give up

To: TS-7300 <>
Subject: RE: [ts-7000] Re: About to give up
From: pierrot lafouine <>
Date: Thu, 27 Aug 2009 10:01:37 -0400


Hi Peter
You have done an awesome job on TS.
We need you in our team, LOL
But honestly, the job you have done needs lots of skills, knowledge
and probably a lot of time. You are no newbie.

We have done same ping-pong display mechanism with Python,
on TS-7300.  Drawback of Python is it takes eternity to initialize.
But once initialize, speed is kinda ok, borderline for our app, but ok.

Cheers!

Pierre

Computers in the future may weigh no more than 1.5 tons
(Popular Mechanics, 1949)






To:
From:
Date: Thu, 27 Aug 2009 12:02:40 +0000
Subject: [ts-7000] Re: About to give up

 
--- In m("yahoogroups.com","ts-7000");">.com, Scott Zimmerman <> wrote:
>
> Can I ask what you do for graphics? Are you using X under the stock etch
> release that ships on the SD card?
>

Hi Scott,

My feelings are similar to Gary's. I'd like more documentation on the board specific aspects of the product - I shouldn't need to scan a script buried on the ftp site to find the watchdog address on a 7390 - but whenever I've contacted TS directly they've been very helpful in getting whatever information I've needed.

With regards graphics, on my application (industrial monitoring system running on the 7300 or 7390 platforms) I bypassed the off-the-shelf X and QT toolkits and write directly to the frame buffers using direct memory access and the available bitblt functions provided by the FPGA. I also wrote my own serial touch screen driver (7300) and touch screen handler (7390) for user input.

I quickly wrote as needed by the application optimized graphic functions for the various screen widgets and I feel I have a better control over the screen redraw process than via a 3rd party system. I now have functions to draw anti-aliased text in 10 different sizes/styles using different alignment and rotation from a single function call:

font_string(Size,"Line 1|Line2|Line3",BaseAdr,Color,TextAlignement);

Throughout my code I use a VGAxy(x,y) macro to calculate screen memory locations and then add offsets for speed. I also have functions for boxes, frames, lines (with/without anti-aliasing), circles, curved boxes and frames, Icons, BitBlt, etc....

I use a dual screen approach where I draw to one screen page while displaying a second and then flipping between them. Finally, I use icons and other graphics on the spare pages of the screen memory (6MB) to store graphics I need quick access to which is simply a bitblt away. My application consists of complete screen redraws triggered by an event, but using the multiple buffers it would be easy to store a base screen (such as a dashboard without the gauge needles) and bitblt that screen into the new screen being displayed very quickly...

Using this approach the screen responsiveness is very good - by the time my finger has finished pressing the screen the new screen has been displayed, and I have no reason to need any speed increase for the UI.

The one downside to my approach is that my application is now 7300/7390 specific, but if necessary it could be ported to any device which gave direct access to the screen buffer.

Hope this was helpful,

PJE




Stay on top of things, check email from other accounts! Check it out.

__._,_.___


Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: =Email Delivery: Digest | m("yahoogroups.com?subject","ts-7000-fullfeatured");=Change Delivery Format: Fully Featured">Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | =Unsubscribe

__,_._,___
<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU