-
Notifications
You must be signed in to change notification settings - Fork 714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement PowerMon #4136
Comments
geeksville
added a commit
to geeksville/Meshtastic-protobufs
that referenced
this issue
Jun 18, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 18, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 18, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 19, 2024
geeksville
added a commit
to geeksville/Meshtastic-protobufs
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-protobufs
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-protobufs
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-protobufs
that referenced
this issue
Jun 21, 2024
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 30, 2024
…s... Which is currently only tested with the LED but eventually will be used for shared GPIO/screen power rail enable and LED forcing (which is a sanity check in the power stress testing)
geeksville
added a commit
to geeksville/Meshtastic-esp32
that referenced
this issue
Jun 30, 2024
…s... Which is currently only tested with the LED but eventually will be used for shared GPIO/screen power rail enable and LED forcing (which is a sanity check in the power stress testing)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
PowerMon
(eventually I'll move this someplace better - but placing it here for feedback from other meshtastic devs)
On device API
PowerMon class
Users should try to call setState/clearState just before/after and significant power consuming device changes. It is assumed that the python code will slightly delay after receiving the log message (100ms?) before capturing the power meter measurement.
PowerStress class
PowerMon states
Use protobuf enums to define these states, so that python and device code can share definitions. Any eng can add new states by just adding a new enum value.
etc...
Runtime report collection
CSV report format
A row heading will be emitted based on the protobuf defs (so spreadsheet will have nice names)
Data rows
CSV summary report
Summary report (generated afterwards from that csv)
Have the python code look 200msish after a transition and do something like powerDueToState = currentPower - preStatePower
Graph results
Possibly use excel, but probably plottly-express (i.e. python) to make a nice graph showing stacked bars for states and the total height of the bars be based on the measured power. Each state segment in the bar will be sized based on average power consumption attributed to that state alone.
Structured log messages
We have defined a mini standard for log messages that are intended for machine parsing. We do this in the hopes that these messages will remain mostly stable for use over a long time (i.e. old logs can be compared to new for regression testing).
The standard designed to be short and easily machine parsable. The format for these messages must be:
S:SUBSYS:arg1,arg2,arg3,...
Where "S:" is a string constant prefix always used on such messages. Current defined subsystems:
Current notes-to-self TODO:
The text was updated successfully, but these errors were encountered: