High Speed Screen Access

GTT TFT Support

Moderator: Mods

Post Reply
mpetty
LCD Geek
Posts: 25
Joined: Mon Jul 26, 2010 10:31 am

High Speed Screen Access

Post by mpetty »

We have a couple of displays that we were planning on using to show some bar graphs, some line graphs, etc.

We've been utilizing the SDK, but it's fairly limitedi n scope, and would like to be able to stream pixels to specific display regions.

One problem is that our bargraphs can go +/-, and that doesn't appear to be a way to do that with your current bargraph setup. I tried creating my own bargraphs by essentially drawing three rectangle (above the bar black, the bar, and then below the bar black), but doing this for two bargraphs gives me a <1Hz framerate! I also can't get the "Manual Update" function to work. It crashes the display, so even if the framerate was acceptable, it's very flickery.

I would really, really, like to be able to just stream pixels to specific parts of the display, but that doesn't seem to be an option. It really limits this display that I can't dynamically create a nice gradient or anything other than a solid color. I've tried creating rectangles with other rectangles as outlines, etc. Creating nice looking items with multiple commands, but it's just slow! These are dynamically sized and generated, so loading a BMP wouldn't work since aspect ratios, outlining colors, etc change with infinite variability based upon various statuses of the application.

One topic mentioned that there was a low-level command that would allow SD card access, or just directly streaming data to pixels. Is it possible to get that information? I have no problem being an alpha tester, especially since I'm pretty much stuck at this point due to the framerate issues.

I have a big powerful PC hooked up to this display, it would be nice if I could generate my images on the PC, do all the calculations to see what regions need to be updated with my new image, and just send out commands updating those regions with my specific data. If you changed the FTDI chip divisor up to 2 or 3Mbps you could probably squeak out 10fps or more with 100% user customization, and it would be awesome!

Clark
Matrix Orbital
Matrix Orbital
Posts: 881
Joined: Fri Aug 17, 2007 10:58 am
Location: Matrix Orbital
Contact:

Post by Clark »

Hi Mike,

Thanks again for your insight; I'm working on your email as well but I'll respond here too for the community. First up, the exclusion of a raw bitmap command could be described an initial oversight. Our previous monochrome units had a Draw Bitmap Directly command that took start coordinates, a width, a height, then a string of pixel data. I suspect we will work to add a similar command to the GTT code base.

If I understand correctly regarding your bargraphs, you have a mid point representing 0 and would like the graph to rise or fall to represent positive or negative values. For a simple solution at this time you may try creating two graphs, one up and one down, with the same origin. I can't confirm that we will make a new command for the specific behaviour described, but it is enlightening to hear about how our units our used in the field and it will be taken under consideration.

We have, and continue to, work here with frame rates as we know how important they will be in an end product. If we can reliably optimize this feature I'm sure you'll see an update.

As always, if you have any further questions, or would like to share what you are doing with the unit and your ideas of how that could be easier, please post anytime.

Thanks,
~Troy
Troy Clark
Design & Development
Matrix Orbital

mpetty
LCD Geek
Posts: 25
Joined: Mon Jul 26, 2010 10:31 am

Post by mpetty »

Troy,

Thanks for the idea of the double bar graph in order to simulate a +/-. That will probably work quite well.

We have a bar graph mode and a line graph mode in our application. The linegraph works pretty well how I have it set up. But it would be nice to be able to set a "pen width" or have a command that allows you to set a pixel width for the line. Right now the line graph looks pretty thin at a distance and can be hard to see. I went through and generated a thick line by drawing rectangles between points, and it worked, but was obviously less efficient than the the ContinueLine command.

This is also a case where sometimes I use a PC-based graphics library to perform the right type of curve fit on the graph points and antialiasing on the thick line to get a clean looking curve out of it, and being able to bitmap draw that directly to the screen would rock. Just prodding a little more for that feature given the chance ;) I know you guys are plenty busy.

Oh, and drawing text vertically or rotated 90 degrees (like for the y-axis of a graph) is pretty rough given how I have to call a SetTextInsertionPoint call for each letter, and having to have a custom font for the rotated 90 degrees. I guess that I could pre-generate bitmaps and put them on the SD card rather than drawing dynamically, but I'd rather not take away the option from the user to be able to specify any string as their units for the graph.

Clark
Matrix Orbital
Matrix Orbital
Posts: 881
Joined: Fri Aug 17, 2007 10:58 am
Location: Matrix Orbital
Contact:

Post by Clark »

Hi Mike,

No worries, glad to hear the bargraph issue may be resolved, but cut off one head and two more shall spring forth, right :wink: .

The line thickness command is something I have dealt with personally while creating a paint style app for our older GLT screen; I know your pain. As a result I have requested it, but there is nothing in legacy, so I really can't promise anything will come of it.

Finally, rotating, or portrait mode, is something that has been requested on older units and was initially spec'd for the GTT. Obviously nothing is ready for release yet, but if we can make life easier by even adding a command to change the orientation of character progression (think right to left too) we will look at adding something in an upgrade. For the record the recommendation for the older units was a custom, mono-spaced, font and that insertion command.

Thanks,
~Troy
Troy Clark
Design & Development
Matrix Orbital

Post Reply