mirror of
https://github.com/meshtastic/protobufs.git
synced 2026-04-20 22:13:55 +00:00
PowerMon initial protobufs
for https://github.com/meshtastic/firmware/issues/4136
This commit is contained in:
parent
1c3029f286
commit
97138a78dc
2 changed files with 60 additions and 0 deletions
|
|
@ -409,6 +409,12 @@ message Config {
|
|||
* I2C address of INA_2XX to use for reading device battery voltage
|
||||
*/
|
||||
uint32 device_battery_ina_address = 9;
|
||||
|
||||
/*
|
||||
* If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled.
|
||||
* Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options.
|
||||
*/
|
||||
uint64 powermon_enables = 32;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
54
meshtastic/powermon.proto
Normal file
54
meshtastic/powermon.proto
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
syntax = "proto3";
|
||||
|
||||
option csharp_namespace = "Meshtastic.Protobufs";
|
||||
option go_package = "github.com/meshtastic/go/generated";
|
||||
option java_outer_classname = "PowerMonProtos";
|
||||
option java_package = "com.geeksville.mesh";
|
||||
option swift_prefix = "";
|
||||
|
||||
package meshtastic.PowerMon;
|
||||
|
||||
/* Any significant power changing event in meshtastic should be tagged with a powermon state transition.
|
||||
If you are making new meshtastic features feel free to add new entries at the end of this definition.
|
||||
*/
|
||||
enum State {
|
||||
None = 0;
|
||||
|
||||
CPU_DeepSleep = 0x01;
|
||||
CPU_LightSleep = 0x02;
|
||||
|
||||
/*
|
||||
The external Vext1 power is on. Many boards have auxillary power rails that the CPU turns on only
|
||||
occasionally. In cases where that rail has multiple devices on it we usually want to have logging on
|
||||
the state of that rail as an independent record.
|
||||
For instance on the Heltec Tracker 1.1 board, this rail is the power source for the GPS and screen.
|
||||
*/
|
||||
Vext1_On = 0x04;
|
||||
|
||||
Lora_RXOn = 0x08;
|
||||
Lora_TXOn = 0x10;
|
||||
Lora_RXActive = 0x20;
|
||||
BT_On = 0x40;
|
||||
LED_On = 0x80;
|
||||
|
||||
Screen_On = 0x100;
|
||||
Screen_Drawing = 0x200;
|
||||
Wifi_On = 0x400;
|
||||
|
||||
/*
|
||||
GPS is actively trying to find our location
|
||||
See GPSPowerState for more details
|
||||
*/
|
||||
GPS_Active = 0x800;
|
||||
}
|
||||
|
||||
/*
|
||||
the log messages will be short and complete (see PowerMon.Event in the protobufs for details).
|
||||
something like "PwrMon,C,0x00001234,REASON" where the hex number is the bitmask of all current states.
|
||||
(We use a bitmask for states so that if a log message gets lost it won't be fatal)
|
||||
*/
|
||||
message Event {
|
||||
|
||||
// Bitwise-OR of States
|
||||
optional uint64 states = 1;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue