update mesh.proto to add new hardware models

This commit is contained in:
liamcottle
2024-07-17 17:12:06 +12:00
parent a252967ea9
commit f6f0970d21

View File

@ -319,6 +319,26 @@ enum HardwareModel {
*/ */
LORA_TYPE = 19; LORA_TYPE = 19;
/*
* wiphone https://www.wiphone.io/
*/
WIPHONE = 20;
/*
* WIO Tracker WM1110 family from Seeed Studio. Includes wio-1110-tracker and wio-1110-sdk
*/
WIO_WM1110 = 21;
/*
* RAK2560 Solar base station based on RAK4630
*/
RAK2560 = 22;
/*
* Heltec HRU-3601: https://heltec.org/project/hru-3601/
*/
HELTEC_HRU_3601 = 23;
/* /*
* B&Q Consulting Station Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:station * B&Q Consulting Station Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:station
*/ */
@ -340,8 +360,8 @@ enum HardwareModel {
SENSELORA_S3 = 28; SENSELORA_S3 = 28;
/* /*
* Canary Radio Company - CanaryOne: https://canaryradio.io/products/canaryone * Canary Radio Company - CanaryOne: https://canaryradio.io/products/canaryone
*/ */
CANARYONE = 29; CANARYONE = 29;
/* /*
@ -456,13 +476,13 @@ enum HardwareModel {
* LilyGo T-Watch S3 with ESP32-S3 CPU and IPS display * LilyGo T-Watch S3 with ESP32-S3 CPU and IPS display
*/ */
T_WATCH_S3 = 51; T_WATCH_S3 = 51;
/* /*
* Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display * Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display
*/ */
PICOMPUTER_S3 = 52; PICOMPUTER_S3 = 52;
/* /*
* Heltec HT-CT62 with ESP32-C3 CPU and SX1262 LoRa * Heltec HT-CT62 with ESP32-C3 CPU and SX1262 LoRa
*/ */
HELTEC_HT62 = 53; HELTEC_HT62 = 53;
@ -481,7 +501,7 @@ enum HardwareModel {
* CircuitMess Chatter 2 LLCC68 Lora Module and ESP32 Wroom * CircuitMess Chatter 2 LLCC68 Lora Module and ESP32 Wroom
* Lora module can be swapped out for a Heltec RA-62 which is "almost" pin compatible * Lora module can be swapped out for a Heltec RA-62 which is "almost" pin compatible
* with one cut and one jumper Meshtastic works * with one cut and one jumper Meshtastic works
*/ */
CHATTER_2 = 56; CHATTER_2 = 56;
/* /*
@ -498,7 +518,67 @@ enum HardwareModel {
* Older "V1.0" Variant * Older "V1.0" Variant
*/ */
HELTEC_WIRELESS_TRACKER_V1_0 = 58; HELTEC_WIRELESS_TRACKER_V1_0 = 58;
/*
* unPhone with ESP32-S3, TFT touchscreen, LSM6DS3TR-C accelerometer and gyroscope
*/
UNPHONE = 59;
/*
* Teledatics TD-LORAC NRF52840 based M.2 LoRA module
* Compatible with the TD-WRLS development board
*/
TD_LORAC = 60;
/*
* CDEBYTE EoRa-S3 board using their own MM modules, clone of LILYGO T3S3
*/
CDEBYTE_EORA_S3 = 61;
/*
* TWC_MESH_V4
* Adafruit NRF52840 feather express with SX1262, SSD1306 OLED and NEO6M GPS
*/
TWC_MESH_V4 = 62;
/*
* NRF52_PROMICRO_DIY
* Promicro NRF52840 with SX1262/LLCC68, SSD1306 OLED and NEO6M GPS
*/
NRF52_PROMICRO_DIY = 63;
/*
* RadioMaster 900 Bandit Nano, https://www.radiomasterrc.com/products/bandit-nano-expresslrs-rf-module
* ESP32-D0WDQ6 With SX1276/SKY66122, SSD1306 OLED and No GPS
*/
RADIOMASTER_900_BANDIT_NANO = 64;
/*
* Heltec Capsule Sensor V3 with ESP32-S3 CPU, Portable LoRa device that can replace GNSS modules or sensors
*/
HELTEC_CAPSULE_SENSOR_V3 = 65;
/*
* Heltec Vision Master T190 with ESP32-S3 CPU, and a 1.90 inch TFT display
*/
HELTEC_VISION_MASTER_T190 = 66;
/*
* Heltec Vision Master E213 with ESP32-S3 CPU, and a 2.13 inch E-Ink display
*/
HELTEC_VISION_MASTER_E213 = 67;
/*
* Heltec Vision Master E290 with ESP32-S3 CPU, and a 2.9 inch E-Ink display
*/
HELTEC_VISION_MASTER_E290 = 68;
/*
* Heltec Mesh Node T114 board with nRF52840 CPU, and a 1.14 inch TFT display, Ultimate low-power design,
* specifically adapted for the Meshtatic project
*/
HELTEC_MESH_NODE_T114 = 69;
/* /*
* ------------------------------------------------------------------------------------------------------------------------------------------ * ------------------------------------------------------------------------------------------------------------------------------------------
* Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. * Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits.
@ -784,7 +864,7 @@ message Waypoint {
/* /*
* This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server * This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
*/ */
message MqttClientProxyMessage { message MqttClientProxyMessage {
/* /*
* The MQTT topic this message will be sent /received on * The MQTT topic this message will be sent /received on
*/ */
@ -1010,10 +1090,10 @@ message MeshPacket {
*/ */
bool via_mqtt = 14; bool via_mqtt = 14;
/* /*
* Hop limit with which the original packet started. Sent via LoRa using three bits in the unencrypted header. * Hop limit with which the original packet started. Sent via LoRa using three bits in the unencrypted header.
* When receiving a packet, the difference between hop_start and hop_limit gives how many hops it traveled. * When receiving a packet, the difference between hop_start and hop_limit gives how many hops it traveled.
*/ */
uint32 hop_start = 15; uint32 hop_start = 15;
} }
@ -1126,6 +1206,12 @@ message NodeInfo {
* Number of hops away from us this node is (0 if adjacent) * Number of hops away from us this node is (0 if adjacent)
*/ */
uint32 hops_away = 9; uint32 hops_away = 9;
/*
* True if node is in our favorites list
* Persists between NodeDB internal clean ups
*/
bool is_favorite = 10;
} }
/* /*
@ -1394,9 +1480,29 @@ message FromRadio {
* MQTT Client Proxy Message (device sending to client / phone for publishing to MQTT) * MQTT Client Proxy Message (device sending to client / phone for publishing to MQTT)
*/ */
MqttClientProxyMessage mqttClientProxyMessage = 14; MqttClientProxyMessage mqttClientProxyMessage = 14;
/*
* File system manifest messages
*/
FileInfo fileInfo = 15;
} }
} }
/*
* Individual File info for the device
*/
message FileInfo {
/*
* The fully qualified path of the file
*/
string file_name = 1;
/*
* The size of the file in bytes
*/
uint32 size_bytes = 2;
}
/* /*
* Packets/commands to the radio will be written (reliably) to the toRadio characteristic. * Packets/commands to the radio will be written (reliably) to the toRadio characteristic.
* Once the write completes the phone can assume it is handled. * Once the write completes the phone can assume it is handled.
@ -1440,6 +1546,11 @@ message ToRadio {
* MQTT Client Proxy Message (for client / phone subscribed to MQTT sending to device) * MQTT Client Proxy Message (for client / phone subscribed to MQTT sending to device)
*/ */
MqttClientProxyMessage mqttClientProxyMessage = 6; MqttClientProxyMessage mqttClientProxyMessage = 6;
/*
* Heartbeat message (used to keep the device connection awake on serial)
*/
Heartbeat heartbeat = 7;
} }
} }
@ -1496,9 +1607,9 @@ message Neighbor {
float snr = 2; float snr = 2;
/* /*
* Reception time (in secs since 1970) of last message that was last sent by this ID. * Reception time (in secs since 1970) of last message that was last sent by this ID.
* Note: this is for local storage only and will not be sent out over the mesh. * Note: this is for local storage only and will not be sent out over the mesh.
*/ */
fixed32 last_rx_time = 3; fixed32 last_rx_time = 3;
/* /*
@ -1561,4 +1672,80 @@ message DeviceMetadata {
* Has Remote Hardware enabled * Has Remote Hardware enabled
*/ */
bool hasRemoteHardware = 10; bool hasRemoteHardware = 10;
}
/*
* A heartbeat message is sent to the node from the client to keep the connection alive.
* This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
*/
message Heartbeat {}
/*
* RemoteHardwarePins associated with a node
*/
message NodeRemoteHardwarePin {
/*
* The node_num exposing the available gpio pin
*/
uint32 node_num = 1;
/*
* The the available gpio pin for usage with RemoteHardware module
*/
RemoteHardwarePin pin = 2;
}
message ChunkedPayload {
/*
* The ID of the entire payload
*/
uint32 payload_id = 1;
/*
* The total number of chunks in the payload
*/
uint32 chunk_count = 2;
/*
* The current chunk index in the total
*/
uint32 chunk_index = 3;
/*
* The binary data of the current chunk
*/
bytes payload_chunk = 4;
}
/*
* Wrapper message for broken repeated oneof support
*/
message resend_chunks {
repeated uint32 chunks = 1;
}
/*
* Responses to a ChunkedPayload request
*/
message ChunkedPayloadResponse {
/*
* The ID of the entire payload
*/
uint32 payload_id = 1;
oneof payload_variant {
/*
* Request to transfer chunked payload
*/
bool request_transfer = 2;
/*
* Accept the transfer chunked payload
*/
bool accept_transfer = 3;
/*
* Request missing indexes in the chunked payload
*/
resend_chunks resend_chunks = 4;
}
} }