FSW Info Component and Os API Changes #1096
Replies: 10 comments 7 replies
-
@sfregoso any additional information? @kevin-f-ortega any thoughts? |
Beta Was this translation helpful? Give feedback.
-
The idea is very relevant; I was working on a technology demonstrator where we needed to know the RAM and CPU usage to determine whether the hardware platform sizing was appropriate for the mission. What is the reason for the 16-channel limit? Is it an arbitrary value? |
Beta Was this translation helpful? Give feedback.
-
I wonder about the usefulness of CPU and RAM usage information for a product in flight. The interest in feasibility studies, technology demonstrators on the ground or in debugging configuration seems undeniable to me. However, in flight configuration, I am curious to know what can be done with this information and what decisions would have to be made if it is not nominal. I imagine that in special operational modes of the software system, it would be useful to monitor CPU and RAM usage. If they exceed a certain limit, the system could go into safe mode or something similar. Is there anything else I'm not aware of? |
Beta Was this translation helpful? Give feedback.
-
We use it quite frequently on our projects during testing and flight to get an idea of how much CPU is being used. Since we start activities by sequence and they can run in parallel, we can gauge how close to the limit we are. We encounter the real world in flight, and sometimes the system reacts differently than in testing. |
Beta Was this translation helpful? Give feedback.
-
This is how the telemetry looks in the GUI. Maybe units in the label would help. The "Util" is percentage. The "Total" value is a unit of such as KB. "CPU" is the average of all CPUs. |
Beta Was this translation helpful? Give feedback.
-
Telemetry channels have an attribute that lets you define a C format string for displaying data. For example:
|
Beta Was this translation helpful? Give feedback.
-
Check: commands guarded, or queued component. |
Beta Was this translation helpful? Give feedback.
-
Side note, I already have implementations like this in my projects so I think it is nice to see upstream recognition of the same concerns. For my ultra-small deployments, it gets rolled into some other component as a rather extreme space-saving measure. However, you can see that the following deployment template code I wrote alludes to the same need (and only slightly predates this call for comments): Deployment Template Main.cpp file lines 42-50
I never ever want to guess what version of software/firmware is running on the remote device. It should be obvious, somehow. |
Beta Was this translation helpful? Give feedback.
-
This item has been approved for implementation! |
Beta Was this translation helpful? Give feedback.
-
PR has been made: #1116 |
Beta Was this translation helpful? Give feedback.
-
We'd like to add to fprime a component that telemeters the following information while connected to a rate group:
This will be a component in the
Svc
package that will call into a new section of the API inOs
, which would supply the raw data.Users will be able to supply their own script to generate the version, where the default version will come from the git repo.
Note: the intention is to define 16 CPU channels for utilization, but only telemeter those channels when the given CPU is present. For systems with more than 16 CPUs, a custom component would be needed.
Beta Was this translation helpful? Give feedback.
All reactions