Merge pull request #263 from meshtastic/xmodem

Chunked File Transfer
pull/276/head^2
Thomas Göttgens 2023-01-16 10:08:32 +01:00 zatwierdzone przez GitHub
commit 1763fe4a38
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 47 dodań i 1 usunięć

Wyświetl plik

@ -9,6 +9,7 @@ import "config.proto";
import "module_config.proto";
import "portnums.proto";
import "telemetry.proto";
import "xmodem.proto";
option java_outer_classname = "MeshProtos";
option csharp_namespace = "Meshtastic.Protobufs";
@ -1288,8 +1289,15 @@ message FromRadio {
*/
Channel channel = 10;
/* Queue status info */
/*
* Queue status info
*/
QueueStatus queueStatus = 11;
/*
* File Transfer Chunk
*/
XModem xmodemPacket = 12;
}
}
@ -1328,6 +1336,12 @@ message ToRadio {
* (Sending this message is optional for clients)
*/
bool disconnect = 4;
/*
* File Transfer Chunk
*/
XModem xmodemPacket = 5;
}
}

6
xmodem.options 100644
Wyświetl plik

@ -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

26
xmodem.proto 100644
Wyświetl plik

@ -0,0 +1,26 @@
syntax = "proto3";
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;
}