Some issues and possible improvements
-
@enniom No problem
Thank you for the feedback. I will notify you when I solve the issue regarding the widgets on different screens.
Best regards,
Kl3m3n -
@kl3m3n Hi kl3m3n,
Going back to item #2 in the initial post....
Now using the Beta version v1.0.88 downloaded on November 24, I have not been fully able to replicate the issue discussed in the first post. However, in part, some aspects of the issue remain. Specifically, this code snippet shows it:
"|CH UID:ch20 YASC:0 VIS:1 X:50 Y:78 W:94 H:19 DRA:0 BGC:#000000 FGC:#FFFFFF CHT:0 CDTF:'HH:mm' BSZ:10800 FSZ:0.8 RAD:1.5 BTH:0 LT:0.2 XTC:12 XMA:5 YMA:3.0 YLO:0 YHI:7000 YTC:7 VLP:0 DRAT:0.2 PZO:1 SHVL:1 CHN:'All Values' SCI:0" while True: #pseudo code Y = time.seconds * 100 "@ch20 PLI:'pl1' PLC:'#FE642E' YP:'" + Str(y) + "'" time.sleep(250) # 250 milliseconds Y = Y + 1000 "@ch20 PLI:'pl2' PLC:'#FACC2E' YP:'" + Str(y) + "'" time.sleep(250) # 250 milliseconds Y = Y + 1000 "@ch20 PLI:'pl3' PLC:'#C8FE2E' YP:'" + Str(y) + "'"
Observations:
As the Chart is first populated with values, there appears to be a "flash" of the SHVL:1 values. Then, as the Chart progresses, ultimately it seems the SHVL:1 values are limited to 2 characters.Enniom
-
@enniom Thanks for the minimal example, I will try it.
Best regards,
Kl3m3n -
@enniom Hi.
I tried your example, but I am unable to see the issue? Can you please explain what does "flash" of the SHVL:1 values mean? You are talking about the values on the Y axis and the last value?
Best regards,
Kl3m3n -
@kl3m3n Yes.
What I see is the SHVL:1 values written on the last value at the start of the chart and the x axis increment is large. With each new value, it seems they move forward until the x axis increment becomes small and the values are only shown at the far right. More importantly though, is that when the value is over 99 only the first 2 characters are displayed - not all 4.
-
I tried to take some photos that show the two issues. The flashing one is difficult to catch in a photo but can be seen while watching.
-
@enniom Hi.
Ok, I see now. The labels are not entirely visible.
Can you try setting the YASC:1 and see if the issue persists?
BR,
Kl3m3n -
@kl3m3n Yes, all digits are fully visible with YASC:1 and SHVL:1. This has been one of the issues all along since when the chart is first stated, the values are zero(0) thus creating a large scale for the Y-axis. The chart is not useful with that format.
Enniom
-
-
@enniom Thanks, I can see this "flashing".
Since you are using the time chart, you should send all the data points simultaneously in one message, so that the drawing of data points is synchronized.
A simple example:
@ch1 PLI:"id0,id1" PLC:"#ff0000,#0000ff" XP:"0.0,0.0" YP:"10.3,20.4"Can you try this and see if the issue persists?
Meanwhile, I will fix the labels showing only partially...
Best regards,
Kl3mn3 -
@kl3m3n Thanks for the hint.
Yes, this suggestion can be adopted in this case and does eliminate the "flashing". However, waiting to plot Y values in one command compromises the purpose of "real-time" plotting and charting.
Enniom
-
@enniom Hi.
Generally, time chart updates should occur at predefined (fixed) interval to avoid synchronization issues. New values should be added in one operation to maintain temporal alignment. I will add this note to the manual!
If you need asynchronous plotting, switch to XY chart type. I think that should work without "flashing".
Best regards,
Kl3m3n -
@kl3m3n THANK-YOU Kl3m3n. I will try using a XY chart.
One favor though, I do not know how to send "time" values to a XY chart and have the X-axis tick marks show up in the form "12:34:56". Any help would be appreciated.
Enniom
-
@enniom Hi.
XY chart does not support time on X axis... You can use index-based approach.
But, I would suggest that you synchronize the data using time chart. I argue that it does not matter if you send the same value multiple times.
For example, if you have three variables / values... On initialization, set all three values based on your measurements. Then send each new measured value along with two "old" values (they are actually not old, they just haven't been re-measured yet) in the same message.
This is how you synchronize the data and keep the time chart while still maintaining valid values.
Does this make sense?
Best regards,
Kl3m3n -
@kl3m3n Got it. The XY chart will not work in this case.
I do understand your recommendation to use the Time Chart and aggregate new values with older ones. That is, send all when a newest one is added. This will provide a "real-time stamp" on the new value and simply carry the values of the old ones which have not changed.
I will do some experiments with this approach.
Enniom
-
@enniom Exactly
-
@enniom said in Some issues and possible improvements:
@kl3m3n thanks for looking into this issue.
Yes, each page has "remnants" - more specifically it is generally those defined - for example - at position X:90 W:20 or X:10 W:20. In the case of this application, the goal was to squeeze 4-6 charts per page and put them at the left or right page boundary so that the image and real-time data can be shown in the center.
Secondly, the widgets at these positions may not be fully shown in the page they are defined. To be more clear, in this case they are fully shown in the Tablet view but may be cut off slightly at the left or right in the Galaxy view.
Enniom
Hi,
GUI-O version 1.0.89 is being released. Additionally to the chart labels fix, this version introduces a new parameter: widgets bounding (WBE, which can be enabled / disabled via @guis WBE: command - it is disabled by default. Please see the updated manual).
Enabling this ensures the widget is never off-screen as GUI-O application internally moves the widgets in-view. This can be useful when developing for various screen sizes. Note that the widgets' sizes remain the same, only the position is updated. So, if your widgets are too close together, they might overlap.
You can try this approach on your tablet and phone.
Best regards,
Kl3m3n