You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I really wanted to make this work a couple of years back on a project with UDP datagrams. I got like 90% there, but eventually did a custom Python / Matplotlib solution. I wasn't 100% sure I understood how Serial Studio worked, because still had small issues from time to time, and also because doing it in Python myself (for a single custom project) turned out to not be that difficult.
Fast forward, I'd like to give Serial Studio try again, this time just using serial data. I find that I'm facing some of the same parsing challenges as before. It seems that is is still difficult (impossible?) to specify the delimiters such that a single line of white-space separated fields is recognized correctly. Looks like the custom JSON parser is the way to handle this, but I couldn't figure out how to specify using the custom parser or not. My first test was very simple, it turns out if you don't specify ANY parameter to the split() function, it parses white-space separated fields perfectly. When you put a space as the argument, you get a whole bunch of empty nonsense fields. I made this trivial change to the parser, but either it wasn't using this parser or I had some other problem.
Anyway, skipping that problem temporarily, I added the default delimiters to my line of text and now Serial Studio parses them correctly. Now I'm struggling with the JSON format definitions. I can 100% see that Serial Studio will display and plot my data as I need -- I think all the features I want exist and work. But setting up the JSON file is confusing and the documentation of the format seems to be mixed between the old and new styles.
Ignoring the display aspect, just the field definitions themselves are painful to setup. My telemetry has 20+ fields, and because the project is in development, these fields will change around, be expanded or reduced, redefined, etc. If I insert a field in the beginning of the line, suddenly all the remaining field numbers get shifted. Then I have to manually edit the JSON file for a dozen or more fields. I'm also having a tough time wrapping my head around groups, group datasets, datasets, widgets, data plots... Clearly there are good definitions of these, but I haven't grasped it yet. As well, the automatic project generation wizard doesn't make this any clearer, at least to my thick head. And furthermore, the automatically generated file has a lot of fields which (I think) don't apply for the majority of cases. So when you go to edit it, it looks like 90% default values and only 10% important information (in my case).
I wonder if there could be an even dumber wizard that would help the community? It seems to me that it should be possible to start plotting data almost immediately with very little effort... I'm thinking the moronic Arduino serial plotter, for example. My telemetry sends on startup, and can optionally send on command, a header line containing the column titles (field names). It would be nice if Serial Studio's "dumb wizard" could pick up on that and generate a minimalistic JSON file as a starting point for the user to edit. Or not even edit, if the project just needed something quick and simple. Maybe the thing I should do is write a simple Python preprocessor that reads my telemetry for a few seconds and generates a Serial Studio JSON file -- once I figure out how to make the file, of course.
Let me end by saying I really LOVE this project, and my remarks are meant as friendly suggestions -- not criticism. Serial Studio clicks so many boxes for general purpose telemetry plotting. If it could be made easier for the casual user to get started, I think it could help a lot more people.
p.s. I would like to see a comment feature added as well, like in a bash or python script. Such a character could be user-definable, but say the hash character.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
I really wanted to make this work a couple of years back on a project with UDP datagrams. I got like 90% there, but eventually did a custom Python / Matplotlib solution. I wasn't 100% sure I understood how Serial Studio worked, because still had small issues from time to time, and also because doing it in Python myself (for a single custom project) turned out to not be that difficult.
Fast forward, I'd like to give Serial Studio try again, this time just using serial data. I find that I'm facing some of the same parsing challenges as before. It seems that is is still difficult (impossible?) to specify the delimiters such that a single line of white-space separated fields is recognized correctly. Looks like the custom JSON parser is the way to handle this, but I couldn't figure out how to specify using the custom parser or not. My first test was very simple, it turns out if you don't specify ANY parameter to the
split()
function, it parses white-space separated fields perfectly. When you put a space as the argument, you get a whole bunch of empty nonsense fields. I made this trivial change to the parser, but either it wasn't using this parser or I had some other problem.Anyway, skipping that problem temporarily, I added the default delimiters to my line of text and now Serial Studio parses them correctly. Now I'm struggling with the JSON format definitions. I can 100% see that Serial Studio will display and plot my data as I need -- I think all the features I want exist and work. But setting up the JSON file is confusing and the documentation of the format seems to be mixed between the old and new styles.
Ignoring the display aspect, just the field definitions themselves are painful to setup. My telemetry has 20+ fields, and because the project is in development, these fields will change around, be expanded or reduced, redefined, etc. If I insert a field in the beginning of the line, suddenly all the remaining field numbers get shifted. Then I have to manually edit the JSON file for a dozen or more fields. I'm also having a tough time wrapping my head around groups, group datasets, datasets, widgets, data plots... Clearly there are good definitions of these, but I haven't grasped it yet. As well, the automatic project generation wizard doesn't make this any clearer, at least to my thick head. And furthermore, the automatically generated file has a lot of fields which (I think) don't apply for the majority of cases. So when you go to edit it, it looks like 90% default values and only 10% important information (in my case).
I wonder if there could be an even dumber wizard that would help the community? It seems to me that it should be possible to start plotting data almost immediately with very little effort... I'm thinking the moronic Arduino serial plotter, for example. My telemetry sends on startup, and can optionally send on command, a header line containing the column titles (field names). It would be nice if Serial Studio's "dumb wizard" could pick up on that and generate a minimalistic JSON file as a starting point for the user to edit. Or not even edit, if the project just needed something quick and simple. Maybe the thing I should do is write a simple Python preprocessor that reads my telemetry for a few seconds and generates a Serial Studio JSON file -- once I figure out how to make the file, of course.
Let me end by saying I really LOVE this project, and my remarks are meant as friendly suggestions -- not criticism. Serial Studio clicks so many boxes for general purpose telemetry plotting. If it could be made easier for the casual user to get started, I think it could help a lot more people.
p.s. I would like to see a comment feature added as well, like in a bash or python script. Such a character could be user-definable, but say the hash character.
Beta Was this translation helpful? Give feedback.
All reactions