Replies: 5 comments 10 replies
-
Hi @saturn77, Generally this is a use-case that we'd like to support - it has come up a few times in the past. There's no out-of-the-box solution right now, but I'm a curious about your use-case to see what the best path forward is. So I have a few questions :-) Is the amount of data and the type of visualisation well suited for generating the graphical representation on the CPU, or is this something that envision requiring a GPU? If the former is acceptable, then perhaps there's a rust crate out there that can generate suitable graphics (maybe https://lib.rs/keywords/plotting has something?) and all we need to provide is a way to allow doing the controls and feeding the generated image into SixtyFPS, as an image. We have If you require rendering on the GPU, then it depends whether this can be done with existing path rendering primitives or whether it requires custom shaders. If you can transform your data into meaningful path curves then we could perhaps either offer an imperative "Canvas" style API ("here's a canvas to paint on, it's an FBO") or the existing Path primitives with a bit more work. The iot-dashboard example tries the latter approach. If you're best off somehow feeding your data into a texture (or some other kind of buffer) and do the fragment generation entirely using custom shaders, then we need to provide hooks for that - even if they're initially maybe OpenGL specific. So I'm curious, are there already good supporting plotting crates in the Rust ecosystem that we could connect with somehow? |
Beta Was this translation helpful? Give feedback.
-
That is very good news. Plotters does indeed seem to be a good library, and having it connected to sixtyfps would allow for a host of applications . . . |
Beta Was this translation helpful? Give feedback.
-
Just a quick question/comment here on the merge request #392 for the code that you have with plotters.rs - it look like wasm bindgen attribute is being used, so I take it this example will run in the browser, that is very cool. I think I saw somewhere that people were saying sixty is for desktop and embedded, but I don't agree with that with respect to wasm tools. After all, that is how Yew and egui also do their webviews . . . |
Beta Was this translation helpful? Give feedback.
-
I'm interested in plotting, too. Not real time though. |
Beta Was this translation helpful? Give feedback.
-
I have a very similar need as @saturn77. Given that the discussion was stated a few years ago I am curios to hear what the current state of real time plotting is? I have several signals which are sampled at 1kHz. I want a GUI where I can choose a plot layout (how many columns and rows). Then I want to be able to add and remove signals from the different plots. Scaling of axis would also be very nice. Some examples of similar tools I have used is rqt_plot for ROS1 and Data Inspector for MATLAB. Would you recommend using slint with plotters for this? If so, how? Do you have any other recommendations for achieving this? Thanks! |
Beta Was this translation helpful? Give feedback.
-
I am a long time real time controls engineer, often using FPGA + SoC in conjunction with telemetry link to a Qt GUI where I have typically used PyQtGraph for real time plotting and in some cases C++.
I like the sixtyfps project, particularly as I have been writing applications in Rust for the past three years and really like its many advantages. I really like the native integration of Rust into SixtyFPS.
So I have a new project, in which I need to do real time plotting. Any suggestions on the applicability of doing that with SixtyFPS? I would need to plot say 2 variables at any one time, and it would be nice to expand or contract the "scene" like one can do in PyQtGraph. If anyone is working on something like this, I would be happy to help out or test. Thanks. James
Beta Was this translation helpful? Give feedback.
All reactions