Merge pull request #526 from geeksville/pr-powermon2

Add protobufs for forthcoming firmware and python PRs
pull/527/head
Ben Meadors 2024-06-29 19:01:57 -05:00 zatwierdzone przez GitHub
commit e7327e76bd
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
3 zmienionych plików z 59 dodań i 2 usunięć

Wyświetl plik

@ -40,8 +40,8 @@
*Routing.variant anonymous_oneof:true
*LogRecord.message max_size:64
*LogRecord.source max_size:8
*LogRecord.message max_size:384
*LogRecord.source max_size:32
*FileInfo.file_name max_size:228

Wyświetl plik

@ -196,6 +196,11 @@ enum PortNum {
*/
MAP_REPORT_APP = 73;
/*
* PowerStress based monitoring support (for automated power consumption testing)
*/
POWERSTRESS_APP = 74;
/*
* Private applications should use portnums >= 256.
* To simplify initial development and testing you can use "PRIVATE_APP"

Wyświetl plik

@ -49,4 +49,56 @@ message PowerMon {
*/
GPS_Active = 0x800;
}
}
/*
* PowerStress testing support via the C++ PowerStress module
*/
message PowerStressMessage {
/*
* What operation would we like the UUT to perform.
note: senders should probably set want_response in their request packets, so that they can know when the state
machine has started processing their request
*/
enum Opcode {
/*
* Unset/unused
*/
UNSET = 0;
PRINT_INFO = 1; // Print board version slog and send an ack that we are alive and ready to process commands
FORCE_QUIET = 2; // Try to turn off all automatic processing of packets, screen, sleeping, etc (to make it easier to measure in isolation)
END_QUIET = 3; // Stop powerstress processing - probably by just rebooting the board
SCREEN_ON = 16; // Turn the screen on
SCREEN_OFF = 17; // Turn the screen off
CPU_IDLE = 32; // Let the CPU run but we assume mostly idling for num_seconds
CPU_DEEPSLEEP = 33; // Force deep sleep for FIXME seconds
CPU_FULLON = 34; // Spin the CPU as fast as possible for num_seconds
LED_ON = 48; // Turn the LED on for num_seconds (and leave it on - for baseline power measurement purposes)
LED_OFF = 49; // Force the LED off for num_seconds
LORA_OFF = 64; // Completely turn off the LORA radio for num_seconds
LORA_TX = 65; // Send Lora packets for num_seconds
LORA_RX = 66; // Receive Lora packets for num_seconds (node will be mostly just listening, unless an external agent is helping stress this by sending packets on the current channel)
BT_OFF = 80; // Turn off the BT radio for num_seconds
BT_ON = 81; // Turn on the BT radio for num_seconds
WIFI_OFF = 96; // Turn off the WIFI radio for num_seconds
WIFI_ON = 97; // Turn on the WIFI radio for num_seconds
GPS_OFF = 112; // Turn off the GPS radio for num_seconds
GPS_ON = 113; // Turn on the GPS radio for num_seconds
}
/*
* What type of HardwareMessage is this?
*/
Opcode cmd = 1;
float num_seconds = 2;
}