diff --git a/meshtastic/config.proto b/meshtastic/config.proto index 4ba2ee1..6b842d4 100644 --- a/meshtastic/config.proto +++ b/meshtastic/config.proto @@ -576,6 +576,16 @@ message Config { * WLAN Band */ LORA_24 = 13; + + /* + * Ukraine 433mhz + */ + UA_433 = 14; + + /* + * Ukraine 868mhz + */ + UA_868 = 15; } /* diff --git a/meshtastic/mesh.proto b/meshtastic/mesh.proto index 67dc362..9aae938 100644 --- a/meshtastic/mesh.proto +++ b/meshtastic/mesh.proto @@ -13,6 +13,7 @@ import "meshtastic/config.proto"; import "meshtastic/module_config.proto"; import "meshtastic/portnums.proto"; import "meshtastic/telemetry.proto"; +import "meshtastic/xmodem.proto"; /* * a gps position @@ -639,9 +640,10 @@ message Waypoint { uint32 expire = 4; /* - * If true, only allow the original sender to update the waypoint. + * If greater than zero, treat the value as a nodenum only allowing them to update the waypoint. + * If zero, the waypoint is open to be edited by any member of the mesh. */ - bool locked = 5; + uint32 locked_to = 5; /* * Name of the waypoint - max 30 chars @@ -1288,8 +1290,15 @@ message FromRadio { */ Channel channel = 10; - /* Queue status info */ + /* + * Queue status info + */ QueueStatus queueStatus = 11; + + /* + * File Transfer Chunk + */ + XModem xmodemPacket = 12; } } @@ -1328,6 +1337,12 @@ message ToRadio { * (Sending this message is optional for clients) */ bool disconnect = 4; + + /* + * File Transfer Chunk + */ + + XModem xmodemPacket = 5; } } diff --git a/xmodem.options b/xmodem.options new file mode 100644 index 0000000..3af6125 --- /dev/null +++ b/xmodem.options @@ -0,0 +1,6 @@ +# options for nanopb +# https://jpa.kapsi.fi/nanopb/docs/reference.html#proto-file-options + +*XModem.buffer max_size:128 +*XModem.seq int_size:16 +*XModem.crc16 int_size:16 diff --git a/xmodem.proto b/xmodem.proto new file mode 100644 index 0000000..6fdd1b5 --- /dev/null +++ b/xmodem.proto @@ -0,0 +1,27 @@ +syntax = "proto3"; + +package meshtastic; + +option java_package = "com.geeksville.mesh"; +option optimize_for = LITE_RUNTIME; +option go_package = "github.com/meshtastic/go/generated"; +option java_outer_classname = "XmodemProtos"; +option csharp_namespace = "Meshtastic.Protobufs"; + +message XModem { + enum Control { + NUL = 0; + SOH = 1; + STX = 2; + EOT = 4; + ACK = 6; + NAK = 21; + CAN = 24; + CTRLZ = 26; + } + + Control control = 1; + uint32 seq = 2; + uint32 crc16 = 3; + bytes buffer = 4; +} \ No newline at end of file