Serial Monitor Project - Many Static Text Items - Slow Update Rate.

Discuss PC Developer and Web Developer projects and features here.
Post Reply
jay_dee
Posts: 130
http://meble-kuchenne.info.pl
Joined: Sun Dec 20, 2020 6:06 pm
Has thanked: 46 times
Been thanked: 29 times

Serial Monitor Project - Many Static Text Items - Slow Update Rate.

Post by jay_dee »

Hi,
I have a series of Static Text' stings in App Dev, these are derived from a Serial stream and I'm trying to get a fast update rate of the Static text.
The source data is also passed to a Text Console and I can see a rapid change in these values. The Static Text values seem sluggish.
Is there a maximum refresh rate for 2D Static text or other Graphical display components?
When I increase the number of Static Text items, the interface can get glitchy, not updating all Text.

I accept that I am limited by the data rate of the serial stream but I would like to send maybe 50+ values across at various rates in the future.
Any ideas to improve efficiency or speed of the App Dev GUI would be great.

The rest of this info is just background and a explanation of the example FC and AD files.

--Side Note--
If I had cursor control and Line clearing in the Console, I would just write to the Console and work it like a VT100 Console emulator. :)


A 'work in progress' examples attached.
-- Overview --
1) Serial Data is sent by a Microcontroller, It sends Row, Column and Value information; with header and footer bytes.
For testing..A simple PIC FlowCode does this.
Data Send_4.fcfx
send
(28.58 KiB) Downloaded 187 times
2) The Serial Data from the Microcontroller is used to populate a 2D String Array or 'Grid', thus the Row, Column, Value information, allowing a Spread Sheet type of storage of data.

3) An interupt checks for new Serial Data, If the Header Byte is detected the Macro will build a string from all recieved bytes, until a Footer Byte is detected.
4) The main loop breaks the recieved strings into seperate Row, Column and 'Value' String variables and Stores them in the large 'Grid' Array.
5) A Macro reads any new data added to the 'Grid' Array and updates a String, then displays it in the console and as Static Text.
6) As I increase the amount of data in the Grid and try to build lots of Static Text...I see the text update only around 2Hz max.
Monitor_Console_V1-0.fcsx
recieve
(43.25 KiB) Downloaded 193 times
I like the above method because the Microcontrooller can send any Value for a given Row or Column. AD Ccan then diaplay the data in any way we want.
I typically send 'Channel Names' for the First Column, The Channel Value for the Second and Units for the Third.
Since the Name and Units will rarely change, I only have to send them occationally..I can spend most of my Serial Bandwidth just updating the Values.
If I just want to update a single Name...thats all I have to send, not the whole array or a long string
Since all Data is recieved as Text Characters...I can display anything. Numbers, Text, a Complex 'constucted' string like CAN Data.

-- Why --
My on-going aim is to build a robust and efficient way of Displaying (within App-Developer) Serial data from a Microcontroller.
The microcontroller would be stand alone device and App developer is just being used to build a User GUI.

Thanks to all helping with the other Topics of Task Sequencing and CAN Interupts, these are both part of the same project
I am chipping away at this project from multiple angles!

I think AD will be a great tool for making Customer interfaces so they can Monitor a projects data. I'm looking to send lots of CAN messages so I want to get the basics right first!
J.

Post Reply