diff --git a/protobufs b/protobufs index e00b5ba7d..1763fe4a3 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit e00b5ba7d06053d820f1123351881fc4fa9270d1 +Subproject commit 1763fe4a389f0864f153a9986699e1ea56e67fac diff --git a/src/mesh/generated/config.pb.h b/src/mesh/generated/config.pb.h index 38e53d0c8..a6c84306e 100644 --- a/src/mesh/generated/config.pb.h +++ b/src/mesh/generated/config.pb.h @@ -147,7 +147,11 @@ typedef enum _Config_LoRaConfig_RegionCode { /* Thailand */ Config_LoRaConfig_RegionCode_TH = 12, /* WLAN Band */ - Config_LoRaConfig_RegionCode_LORA_24 = 13 + Config_LoRaConfig_RegionCode_LORA_24 = 13, + /* Ukraine 433mhz */ + Config_LoRaConfig_RegionCode_UA_433 = 14, + /* Ukraine 868mhz */ + Config_LoRaConfig_RegionCode_UA_868 = 15 } Config_LoRaConfig_RegionCode; /* Standard predefined channel settings @@ -437,8 +441,8 @@ extern "C" { #define _Config_DisplayConfig_DisplayMode_ARRAYSIZE ((Config_DisplayConfig_DisplayMode)(Config_DisplayConfig_DisplayMode_COLOR+1)) #define _Config_LoRaConfig_RegionCode_MIN Config_LoRaConfig_RegionCode_UNSET -#define _Config_LoRaConfig_RegionCode_MAX Config_LoRaConfig_RegionCode_LORA_24 -#define _Config_LoRaConfig_RegionCode_ARRAYSIZE ((Config_LoRaConfig_RegionCode)(Config_LoRaConfig_RegionCode_LORA_24+1)) +#define _Config_LoRaConfig_RegionCode_MAX Config_LoRaConfig_RegionCode_UA_868 +#define _Config_LoRaConfig_RegionCode_ARRAYSIZE ((Config_LoRaConfig_RegionCode)(Config_LoRaConfig_RegionCode_UA_868+1)) #define _Config_LoRaConfig_ModemPreset_MIN Config_LoRaConfig_ModemPreset_LONG_FAST #define _Config_LoRaConfig_ModemPreset_MAX Config_LoRaConfig_ModemPreset_SHORT_FAST diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 984ae33ee..2e0b66629 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -9,6 +9,7 @@ #include "module_config.pb.h" #include "portnums.pb.h" #include "telemetry.pb.h" +#include "xmodem.pb.h" #if PB_PROTO_HEADER_VERSION != 40 #error Regenerate this file with the current version of nanopb generator. @@ -437,8 +438,9 @@ typedef struct _Waypoint { int32_t longitude_i; /* Time the waypoint is to expire (epoch) */ uint32_t expire; - /* If true, only allow the original sender to update the waypoint. */ - bool locked; + /* 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. */ + uint32_t locked_to; /* Name of the waypoint - max 30 chars */ char name[30]; /* Description of the waypoint - max 100 chars */ @@ -673,6 +675,8 @@ typedef struct _FromRadio { Channel channel; /* Queue status info */ QueueStatus queueStatus; + /* File Transfer Chunk */ + XModem xmodemPacket; }; } FromRadio; @@ -696,6 +700,7 @@ typedef struct _ToRadio { This is useful for serial links where there is no hardware/protocol based notification that the client has dropped the link. (Sending this message is optional for clients) */ bool disconnect; + XModem xmodemPacket; }; } ToRadio; @@ -850,7 +855,7 @@ extern "C" { #define Waypoint_latitude_i_tag 2 #define Waypoint_longitude_i_tag 3 #define Waypoint_expire_tag 4 -#define Waypoint_locked_tag 5 +#define Waypoint_locked_to_tag 5 #define Waypoint_name_tag 6 #define Waypoint_description_tag 7 #define Waypoint_icon_tag 8 @@ -908,9 +913,11 @@ extern "C" { #define FromRadio_moduleConfig_tag 9 #define FromRadio_channel_tag 10 #define FromRadio_queueStatus_tag 11 +#define FromRadio_xmodemPacket_tag 12 #define ToRadio_packet_tag 1 #define ToRadio_want_config_id_tag 3 #define ToRadio_disconnect_tag 4 +#define ToRadio_xmodemPacket_tag 5 #define Compressed_portnum_tag 1 #define Compressed_data_tag 2 @@ -982,7 +989,7 @@ X(a, STATIC, SINGULAR, UINT32, id, 1) \ X(a, STATIC, SINGULAR, SFIXED32, latitude_i, 2) \ X(a, STATIC, SINGULAR, SFIXED32, longitude_i, 3) \ X(a, STATIC, SINGULAR, UINT32, expire, 4) \ -X(a, STATIC, SINGULAR, BOOL, locked, 5) \ +X(a, STATIC, SINGULAR, UINT32, locked_to, 5) \ X(a, STATIC, SINGULAR, STRING, name, 6) \ X(a, STATIC, SINGULAR, STRING, description, 7) \ X(a, STATIC, SINGULAR, FIXED32, icon, 8) @@ -1067,7 +1074,8 @@ X(a, STATIC, ONEOF, UINT32, (payload_variant,config_complete_id,config_co X(a, STATIC, ONEOF, BOOL, (payload_variant,rebooted,rebooted), 8) \ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,moduleConfig,moduleConfig), 9) \ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,channel,channel), 10) \ -X(a, STATIC, ONEOF, MESSAGE, (payload_variant,queueStatus,queueStatus), 11) +X(a, STATIC, ONEOF, MESSAGE, (payload_variant,queueStatus,queueStatus), 11) \ +X(a, STATIC, ONEOF, MESSAGE, (payload_variant,xmodemPacket,xmodemPacket), 12) #define FromRadio_CALLBACK NULL #define FromRadio_DEFAULT NULL #define FromRadio_payload_variant_packet_MSGTYPE MeshPacket @@ -1078,14 +1086,17 @@ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,queueStatus,queueStatus), 1 #define FromRadio_payload_variant_moduleConfig_MSGTYPE ModuleConfig #define FromRadio_payload_variant_channel_MSGTYPE Channel #define FromRadio_payload_variant_queueStatus_MSGTYPE QueueStatus +#define FromRadio_payload_variant_xmodemPacket_MSGTYPE XModem #define ToRadio_FIELDLIST(X, a) \ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,packet,packet), 1) \ X(a, STATIC, ONEOF, UINT32, (payload_variant,want_config_id,want_config_id), 3) \ -X(a, STATIC, ONEOF, BOOL, (payload_variant,disconnect,disconnect), 4) +X(a, STATIC, ONEOF, BOOL, (payload_variant,disconnect,disconnect), 4) \ +X(a, STATIC, ONEOF, MESSAGE, (payload_variant,xmodemPacket,xmodemPacket), 5) #define ToRadio_CALLBACK NULL #define ToRadio_DEFAULT NULL #define ToRadio_payload_variant_packet_MSGTYPE MeshPacket +#define ToRadio_payload_variant_xmodemPacket_MSGTYPE XModem #define Compressed_FIELDLIST(X, a) \ X(a, STATIC, SINGULAR, UENUM, portnum, 1) \ @@ -1138,7 +1149,7 @@ extern const pb_msgdesc_t Compressed_msg; #define Routing_size 42 #define ToRadio_size 324 #define User_size 77 -#define Waypoint_size 161 +#define Waypoint_size 165 #ifdef __cplusplus } /* extern "C" */ diff --git a/src/mesh/generated/xmodem.pb.c b/src/mesh/generated/xmodem.pb.c new file mode 100644 index 000000000..f210380fe --- /dev/null +++ b/src/mesh/generated/xmodem.pb.c @@ -0,0 +1,13 @@ +/* Automatically generated nanopb constant definitions */ +/* Generated by nanopb-0.4.7 */ + +#include "xmodem.pb.h" +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +PB_BIND(XModem, XModem, AUTO) + + + + diff --git a/src/mesh/generated/xmodem.pb.h b/src/mesh/generated/xmodem.pb.h new file mode 100644 index 000000000..453c8ce7c --- /dev/null +++ b/src/mesh/generated/xmodem.pb.h @@ -0,0 +1,77 @@ +/* Automatically generated nanopb header */ +/* Generated by nanopb-0.4.7 */ + +#ifndef PB_XMODEM_PB_H_INCLUDED +#define PB_XMODEM_PB_H_INCLUDED +#include + +#if PB_PROTO_HEADER_VERSION != 40 +#error Regenerate this file with the current version of nanopb generator. +#endif + +/* Enum definitions */ +typedef enum _XModem_Control { + XModem_Control_NUL = 0, + XModem_Control_SOH = 1, + XModem_Control_STX = 2, + XModem_Control_EOT = 4, + XModem_Control_ACK = 6, + XModem_Control_NAK = 21, + XModem_Control_CAN = 24, + XModem_Control_CTRLZ = 26 +} XModem_Control; + +/* Struct definitions */ +typedef PB_BYTES_ARRAY_T(128) XModem_buffer_t; +typedef struct _XModem { + XModem_Control control; + uint16_t seq; + uint16_t crc16; + XModem_buffer_t buffer; +} XModem; + + +#ifdef __cplusplus +extern "C" { +#endif + +/* Helper constants for enums */ +#define _XModem_Control_MIN XModem_Control_NUL +#define _XModem_Control_MAX XModem_Control_CTRLZ +#define _XModem_Control_ARRAYSIZE ((XModem_Control)(XModem_Control_CTRLZ+1)) + +#define XModem_control_ENUMTYPE XModem_Control + + +/* Initializer values for message structs */ +#define XModem_init_default {_XModem_Control_MIN, 0, 0, {0, {0}}} +#define XModem_init_zero {_XModem_Control_MIN, 0, 0, {0, {0}}} + +/* Field tags (for use in manual encoding/decoding) */ +#define XModem_control_tag 1 +#define XModem_seq_tag 2 +#define XModem_crc16_tag 3 +#define XModem_buffer_tag 4 + +/* Struct field encoding specification for nanopb */ +#define XModem_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, UENUM, control, 1) \ +X(a, STATIC, SINGULAR, UINT32, seq, 2) \ +X(a, STATIC, SINGULAR, UINT32, crc16, 3) \ +X(a, STATIC, SINGULAR, BYTES, buffer, 4) +#define XModem_CALLBACK NULL +#define XModem_DEFAULT NULL + +extern const pb_msgdesc_t XModem_msg; + +/* Defines for backwards compatibility with code written before nanopb-0.4.0 */ +#define XModem_fields &XModem_msg + +/* Maximum encoded size of messages (where known) */ +#define XModem_size 141 + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif