diff --git a/meshtastic/__main__.py b/meshtastic/__main__.py index 4c18660..fc3fdf9 100644 --- a/meshtastic/__main__.py +++ b/meshtastic/__main__.py @@ -119,6 +119,10 @@ def setPref(attributes, name, valStr): val = meshtastic.util.fromStr(valStr) logging.debug(f'valStr:{valStr} val:{val}') + if snake_name == 'wifi_password' and len(valStr) < 8: + print(f"Warning: wifi_password must be 8 or more characters.") + return + enumType = field.enum_type # pylint: disable=C0123 if enumType and type(val) == str: diff --git a/meshtastic/mesh_pb2.py b/meshtastic/mesh_pb2.py index 5105289..d7e029e 100644 --- a/meshtastic/mesh_pb2.py +++ b/meshtastic/mesh_pb2.py @@ -13,6 +13,7 @@ _sym_db = _symbol_database.Default() from . import portnums_pb2 as portnums__pb2 +from . import telemetry_pb2 as telemetry__pb2 DESCRIPTOR = _descriptor.FileDescriptor( @@ -20,9 +21,9 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='', syntax='proto3', serialized_options=b'\n\023com.geeksville.meshB\nMeshProtosH\003Z!github.com/meshtastic/gomeshproto', - serialized_pb=b'\n\nmesh.proto\x1a\x0eportnums.proto\"\x88\x06\n\x08Position\x12\x12\n\nlatitude_i\x18\x01 \x01(\x0f\x12\x13\n\x0blongitude_i\x18\x02 \x01(\x0f\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x05\x12\x15\n\rbattery_level\x18\x04 \x01(\x05\x12\x0c\n\x04time\x18\t \x01(\x07\x12,\n\x0flocation_source\x18\n \x01(\x0e\x32\x13.Position.LocSource\x12,\n\x0f\x61ltitude_source\x18\x0b \x01(\x0e\x32\x13.Position.AltSource\x12\x15\n\rpos_timestamp\x18\x0c \x01(\x07\x12\x17\n\x0fpos_time_millis\x18\r \x01(\x05\x12\x14\n\x0c\x61ltitude_hae\x18\x0e \x01(\x11\x12\x15\n\ralt_geoid_sep\x18\x0f \x01(\x11\x12\x0c\n\x04PDOP\x18\x10 \x01(\r\x12\x0c\n\x04HDOP\x18\x11 \x01(\r\x12\x0c\n\x04VDOP\x18\x12 \x01(\r\x12\x14\n\x0cgps_accuracy\x18\x13 \x01(\r\x12\x14\n\x0cground_speed\x18\x14 \x01(\r\x12\x14\n\x0cground_track\x18\x15 \x01(\r\x12\x13\n\x0b\x66ix_quality\x18\x16 \x01(\r\x12\x10\n\x08\x66ix_type\x18\x17 \x01(\r\x12\x14\n\x0csats_in_view\x18\x18 \x01(\r\x12\x11\n\tsensor_id\x18\x19 \x01(\r\x12\x17\n\x0fpos_next_update\x18( \x01(\r\x12\x16\n\x0epos_seq_number\x18) \x01(\r\"n\n\tLocSource\x12\x16\n\x12LOCSRC_UNSPECIFIED\x10\x00\x12\x17\n\x13LOCSRC_MANUAL_ENTRY\x10\x01\x12\x17\n\x13LOCSRC_GPS_INTERNAL\x10\x02\x12\x17\n\x13LOCSRC_GPS_EXTERNAL\x10\x03\"\x85\x01\n\tAltSource\x12\x16\n\x12\x41LTSRC_UNSPECIFIED\x10\x00\x12\x17\n\x13\x41LTSRC_MANUAL_ENTRY\x10\x01\x12\x17\n\x13\x41LTSRC_GPS_INTERNAL\x10\x02\x12\x17\n\x13\x41LTSRC_GPS_EXTERNAL\x10\x03\x12\x15\n\x11\x41LTSRC_BAROMETRIC\x10\x04\"\xd7\x01\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tlong_name\x18\x02 \x01(\t\x12\x12\n\nshort_name\x18\x03 \x01(\t\x12\x0f\n\x07macaddr\x18\x04 \x01(\x0c\x12 \n\x08hw_model\x18\x06 \x01(\x0e\x32\x0e.HardwareModel\x12\x13\n\x0bis_licensed\x18\x07 \x01(\x08\x12\x13\n\x04team\x18\x08 \x01(\x0e\x32\x05.Team\x12\x14\n\x0ctx_power_dbm\x18\n \x01(\r\x12\x14\n\x0c\x61nt_gain_dbi\x18\x0b \x01(\r\x12\x13\n\x0b\x61nt_azimuth\x18\x0c \x01(\r\"\x1f\n\x0eRouteDiscovery\x12\r\n\x05route\x18\x02 \x03(\x07\"\xc5\x02\n\x07Routing\x12(\n\rroute_request\x18\x01 \x01(\x0b\x32\x0f.RouteDiscoveryH\x00\x12&\n\x0broute_reply\x18\x02 \x01(\x0b\x32\x0f.RouteDiscoveryH\x00\x12&\n\x0c\x65rror_reason\x18\x03 \x01(\x0e\x32\x0e.Routing.ErrorH\x00\"\xb4\x01\n\x05\x45rror\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08NO_ROUTE\x10\x01\x12\x0b\n\x07GOT_NAK\x10\x02\x12\x0b\n\x07TIMEOUT\x10\x03\x12\x10\n\x0cNO_INTERFACE\x10\x04\x12\x12\n\x0eMAX_RETRANSMIT\x10\x05\x12\x0e\n\nNO_CHANNEL\x10\x06\x12\r\n\tTOO_LARGE\x10\x07\x12\x0f\n\x0bNO_RESPONSE\x10\x08\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10 \x12\x12\n\x0eNOT_AUTHORIZED\x10!B\t\n\x07variant\"\xa1\x01\n\x04\x44\x61ta\x12\x19\n\x07portnum\x18\x01 \x01(\x0e\x32\x08.PortNum\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x15\n\rwant_response\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x65st\x18\x04 \x01(\x07\x12\x0e\n\x06source\x18\x05 \x01(\x07\x12\x12\n\nrequest_id\x18\x06 \x01(\x07\x12\x10\n\x08reply_id\x18\x07 \x01(\x07\x12\x12\n\nis_tapback\x18\x08 \x01(\x08\"\xca\x03\n\nMeshPacket\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x07\x12\n\n\x02to\x18\x02 \x01(\x07\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\r\x12\x18\n\x07\x64\x65\x63oded\x18\x04 \x01(\x0b\x32\x05.DataH\x00\x12\x13\n\tencrypted\x18\x05 \x01(\x0cH\x00\x12\n\n\x02id\x18\x06 \x01(\x07\x12\x0f\n\x07rx_time\x18\x07 \x01(\x07\x12\x0e\n\x06rx_snr\x18\x08 \x01(\x02\x12\x11\n\thop_limit\x18\n \x01(\r\x12\x10\n\x08want_ack\x18\x0b \x01(\x08\x12&\n\x08priority\x18\x0c \x01(\x0e\x32\x14.MeshPacket.Priority\x12\x0f\n\x07rx_rssi\x18\r \x01(\x05\x12$\n\x07\x64\x65layed\x18\x0f \x01(\x0e\x32\x13.MeshPacket.Delayed\"[\n\x08Priority\x12\t\n\x05UNSET\x10\x00\x12\x07\n\x03MIN\x10\x01\x12\x0e\n\nBACKGROUND\x10\n\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10@\x12\x0c\n\x08RELIABLE\x10\x46\x12\x07\n\x03\x41\x43K\x10x\x12\x07\n\x03MAX\x10\x7f\"B\n\x07\x44\x65layed\x12\x0c\n\x08NO_DELAY\x10\x00\x12\x15\n\x11\x44\x45LAYED_BROADCAST\x10\x01\x12\x12\n\x0e\x44\x45LAYED_DIRECT\x10\x02\x42\x10\n\x0epayloadVariant\"j\n\x08NodeInfo\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x13\n\x04user\x18\x02 \x01(\x0b\x32\x05.User\x12\x1b\n\x08position\x18\x03 \x01(\x0b\x32\t.Position\x12\x0b\n\x03snr\x18\x07 \x01(\x02\x12\x12\n\nlast_heard\x18\x04 \x01(\x07\"\x9a\x03\n\nMyNodeInfo\x12\x13\n\x0bmy_node_num\x18\x01 \x01(\r\x12\x0f\n\x07has_gps\x18\x02 \x01(\x08\x12\x14\n\x0cmax_channels\x18\x0f \x01(\r\x12\x12\n\x06region\x18\x04 \x01(\tB\x02\x18\x01\x12\x18\n\x10\x66irmware_version\x18\x06 \x01(\t\x12&\n\nerror_code\x18\x07 \x01(\x0e\x32\x12.CriticalErrorCode\x12\x15\n\rerror_address\x18\x08 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\t \x01(\r\x12\x14\n\x0creboot_count\x18\n \x01(\r\x12\x0f\n\x07\x62itrate\x18\x0b \x01(\x02\x12\x1c\n\x14message_timeout_msec\x18\r \x01(\r\x12\x17\n\x0fmin_app_version\x18\x0e \x01(\r\x12\x15\n\rair_period_tx\x18\x10 \x03(\r\x12\x15\n\rair_period_rx\x18\x11 \x03(\r\x12\x10\n\x08has_wifi\x18\x12 \x01(\x08\x12\x1b\n\x13\x63hannel_utilization\x18\x13 \x01(\x02\x12\x13\n\x0b\x61ir_util_tx\x18\x14 \x01(\x02\"\xb5\x01\n\tLogRecord\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x07\x12\x0e\n\x06source\x18\x03 \x01(\t\x12\x1f\n\x05level\x18\x04 \x01(\x0e\x32\x10.LogRecord.Level\"X\n\x05Level\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x32\x12\t\n\x05\x45RROR\x10(\x12\x0b\n\x07WARNING\x10\x1e\x12\x08\n\x04INFO\x10\x14\x12\t\n\x05\x44\x45\x42UG\x10\n\x12\t\n\x05TRACE\x10\x05\"\xe9\x01\n\tFromRadio\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x1d\n\x06packet\x18\x0b \x01(\x0b\x32\x0b.MeshPacketH\x00\x12\x1e\n\x07my_info\x18\x03 \x01(\x0b\x32\x0b.MyNodeInfoH\x00\x12\x1e\n\tnode_info\x18\x04 \x01(\x0b\x32\t.NodeInfoH\x00\x12 \n\nlog_record\x18\x07 \x01(\x0b\x32\n.LogRecordH\x00\x12\x1c\n\x12\x63onfig_complete_id\x18\x08 \x01(\rH\x00\x12\x12\n\x08rebooted\x18\t \x01(\x08H\x00\x42\x10\n\x0epayloadVariantJ\x04\x08\x02\x10\x03J\x04\x08\x06\x10\x07\"\xe1\x01\n\x07ToRadio\x12\x1d\n\x06packet\x18\x02 \x01(\x0b\x32\x0b.MeshPacketH\x00\x12&\n\tpeer_info\x18\x03 \x01(\x0b\x32\x11.ToRadio.PeerInfoH\x00\x12\x18\n\x0ewant_config_id\x18\x64 \x01(\rH\x00\x12\x14\n\ndisconnect\x18h \x01(\x08H\x00\x1a\x35\n\x08PeerInfo\x12\x13\n\x0b\x61pp_version\x18\x01 \x01(\r\x12\x14\n\x0cmqtt_gateway\x18\x02 \x01(\x08\x42\x10\n\x0epayloadVariantJ\x04\x08\x01\x10\x02J\x04\x08\x65\x10\x66J\x04\x08\x66\x10gJ\x04\x08g\x10h*\xda\x02\n\rHardwareModel\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08TLORA_V2\x10\x01\x12\x0c\n\x08TLORA_V1\x10\x02\x12\x12\n\x0eTLORA_V2_1_1p6\x10\x03\x12\t\n\x05TBEAM\x10\x04\x12\x0f\n\x0bHELTEC_V2_0\x10\x05\x12\x0c\n\x08TBEAM0p7\x10\x06\x12\n\n\x06T_ECHO\x10\x07\x12\x10\n\x0cTLORA_V1_1p3\x10\x08\x12\x0b\n\x07RAK4631\x10\t\x12\x0f\n\x0bHELTEC_V2_1\x10\n\x12\r\n\tHELTEC_V1\x10\x0b\x12\x11\n\rLORA_RELAY_V1\x10 \x12\x0e\n\nNRF52840DK\x10!\x12\x07\n\x03PPR\x10\"\x12\x0f\n\x0bGENIEBLOCKS\x10#\x12\x11\n\rNRF52_UNKNOWN\x10$\x12\r\n\tPORTDUINO\x10%\x12\x0f\n\x0b\x41NDROID_SIM\x10&\x12\n\n\x06\x44IY_V1\x10\'\x12\x0c\n\x08RAK11200\x10(\x12\x0f\n\nPRIVATE_HW\x10\xff\x01*\xb5\x01\n\x04Team\x12\t\n\x05\x43LEAR\x10\x00\x12\x08\n\x04\x43YAN\x10\x01\x12\t\n\x05WHITE\x10\x02\x12\n\n\x06YELLOW\x10\x03\x12\n\n\x06ORANGE\x10\x04\x12\x0b\n\x07MAGENTA\x10\x05\x12\x07\n\x03RED\x10\x06\x12\n\n\x06MAROON\x10\x07\x12\n\n\x06PURPLE\x10\x08\x12\r\n\tDARK_BLUE\x10\t\x12\x08\n\x04\x42LUE\x10\n\x12\x08\n\x04TEAL\x10\x0b\x12\t\n\x05GREEN\x10\x0c\x12\x0e\n\nDARK_GREEN\x10\r\x12\t\n\x05\x42ROWN\x10\x0e*.\n\tConstants\x12\n\n\x06Unused\x10\x00\x12\x15\n\x10\x44\x41TA_PAYLOAD_LEN\x10\xed\x01*\xe1\x01\n\x11\x43riticalErrorCode\x12\x08\n\x04None\x10\x00\x12\x0e\n\nTxWatchdog\x10\x01\x12\x12\n\x0eSleepEnterWait\x10\x02\x12\x0b\n\x07NoRadio\x10\x03\x12\x0f\n\x0bUnspecified\x10\x04\x12\x13\n\x0fUBloxInitFailed\x10\x05\x12\x0c\n\x08NoAXP192\x10\x06\x12\x17\n\x13InvalidRadioSetting\x10\x07\x12\x12\n\x0eTransmitFailed\x10\x08\x12\x0c\n\x08\x42rownout\x10\t\x12\x11\n\rSX1262Failure\x10\n\x12\x0f\n\x0bRadioSpiBug\x10\x0b\x42\x46\n\x13\x63om.geeksville.meshB\nMeshProtosH\x03Z!github.com/meshtastic/gomeshprotob\x06proto3' + serialized_pb=b'\n\nmesh.proto\x1a\x0eportnums.proto\x1a\x0ftelemetry.proto\"\xf1\x05\n\x08Position\x12\x12\n\nlatitude_i\x18\x01 \x01(\x0f\x12\x13\n\x0blongitude_i\x18\x02 \x01(\x0f\x12\x10\n\x08\x61ltitude\x18\x03 \x01(\x05\x12\x0c\n\x04time\x18\t \x01(\x07\x12,\n\x0flocation_source\x18\n \x01(\x0e\x32\x13.Position.LocSource\x12,\n\x0f\x61ltitude_source\x18\x0b \x01(\x0e\x32\x13.Position.AltSource\x12\x15\n\rpos_timestamp\x18\x0c \x01(\x07\x12\x17\n\x0fpos_time_millis\x18\r \x01(\x05\x12\x14\n\x0c\x61ltitude_hae\x18\x0e \x01(\x11\x12\x15\n\ralt_geoid_sep\x18\x0f \x01(\x11\x12\x0c\n\x04PDOP\x18\x10 \x01(\r\x12\x0c\n\x04HDOP\x18\x11 \x01(\r\x12\x0c\n\x04VDOP\x18\x12 \x01(\r\x12\x14\n\x0cgps_accuracy\x18\x13 \x01(\r\x12\x14\n\x0cground_speed\x18\x14 \x01(\r\x12\x14\n\x0cground_track\x18\x15 \x01(\r\x12\x13\n\x0b\x66ix_quality\x18\x16 \x01(\r\x12\x10\n\x08\x66ix_type\x18\x17 \x01(\r\x12\x14\n\x0csats_in_view\x18\x18 \x01(\r\x12\x11\n\tsensor_id\x18\x19 \x01(\r\x12\x17\n\x0fpos_next_update\x18( \x01(\r\x12\x16\n\x0epos_seq_number\x18) \x01(\r\"n\n\tLocSource\x12\x16\n\x12LOCSRC_UNSPECIFIED\x10\x00\x12\x17\n\x13LOCSRC_MANUAL_ENTRY\x10\x01\x12\x17\n\x13LOCSRC_GPS_INTERNAL\x10\x02\x12\x17\n\x13LOCSRC_GPS_EXTERNAL\x10\x03\"\x85\x01\n\tAltSource\x12\x16\n\x12\x41LTSRC_UNSPECIFIED\x10\x00\x12\x17\n\x13\x41LTSRC_MANUAL_ENTRY\x10\x01\x12\x17\n\x13\x41LTSRC_GPS_INTERNAL\x10\x02\x12\x17\n\x13\x41LTSRC_GPS_EXTERNAL\x10\x03\x12\x15\n\x11\x41LTSRC_BAROMETRIC\x10\x04\"\xd7\x01\n\x04User\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tlong_name\x18\x02 \x01(\t\x12\x12\n\nshort_name\x18\x03 \x01(\t\x12\x0f\n\x07macaddr\x18\x04 \x01(\x0c\x12 \n\x08hw_model\x18\x06 \x01(\x0e\x32\x0e.HardwareModel\x12\x13\n\x0bis_licensed\x18\x07 \x01(\x08\x12\x13\n\x04team\x18\x08 \x01(\x0e\x32\x05.Team\x12\x14\n\x0ctx_power_dbm\x18\n \x01(\r\x12\x14\n\x0c\x61nt_gain_dbi\x18\x0b \x01(\r\x12\x13\n\x0b\x61nt_azimuth\x18\x0c \x01(\r\"\x1f\n\x0eRouteDiscovery\x12\r\n\x05route\x18\x02 \x03(\x07\"\xc5\x02\n\x07Routing\x12(\n\rroute_request\x18\x01 \x01(\x0b\x32\x0f.RouteDiscoveryH\x00\x12&\n\x0broute_reply\x18\x02 \x01(\x0b\x32\x0f.RouteDiscoveryH\x00\x12&\n\x0c\x65rror_reason\x18\x03 \x01(\x0e\x32\x0e.Routing.ErrorH\x00\"\xb4\x01\n\x05\x45rror\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08NO_ROUTE\x10\x01\x12\x0b\n\x07GOT_NAK\x10\x02\x12\x0b\n\x07TIMEOUT\x10\x03\x12\x10\n\x0cNO_INTERFACE\x10\x04\x12\x12\n\x0eMAX_RETRANSMIT\x10\x05\x12\x0e\n\nNO_CHANNEL\x10\x06\x12\r\n\tTOO_LARGE\x10\x07\x12\x0f\n\x0bNO_RESPONSE\x10\x08\x12\x0f\n\x0b\x42\x41\x44_REQUEST\x10 \x12\x12\n\x0eNOT_AUTHORIZED\x10!B\t\n\x07variant\"\xb9\x01\n\x04\x44\x61ta\x12\x19\n\x07portnum\x18\x01 \x01(\x0e\x32\x08.PortNum\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\x12\x15\n\rwant_response\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x65st\x18\x04 \x01(\x07\x12\x0e\n\x06source\x18\x05 \x01(\x07\x12\x12\n\nrequest_id\x18\x06 \x01(\x07\x12\x10\n\x08reply_id\x18\x07 \x01(\x07\x12\r\n\x05\x65moji\x18\x08 \x01(\x07\x12\x1b\n\x08location\x18\t \x01(\x0b\x32\t.Location\"_\n\x08Location\x12\n\n\x02id\x18\x01 \x01(\r\x12\x12\n\nlatitude_i\x18\x02 \x01(\x0f\x12\x13\n\x0blongitude_i\x18\x03 \x01(\x0f\x12\x0e\n\x06\x65xpire\x18\x04 \x01(\r\x12\x0e\n\x06locked\x18\x05 \x01(\x08\"\xca\x03\n\nMeshPacket\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x07\x12\n\n\x02to\x18\x02 \x01(\x07\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\r\x12\x18\n\x07\x64\x65\x63oded\x18\x04 \x01(\x0b\x32\x05.DataH\x00\x12\x13\n\tencrypted\x18\x05 \x01(\x0cH\x00\x12\n\n\x02id\x18\x06 \x01(\x07\x12\x0f\n\x07rx_time\x18\x07 \x01(\x07\x12\x0e\n\x06rx_snr\x18\x08 \x01(\x02\x12\x11\n\thop_limit\x18\n \x01(\r\x12\x10\n\x08want_ack\x18\x0b \x01(\x08\x12&\n\x08priority\x18\x0c \x01(\x0e\x32\x14.MeshPacket.Priority\x12\x0f\n\x07rx_rssi\x18\r \x01(\x05\x12$\n\x07\x64\x65layed\x18\x0f \x01(\x0e\x32\x13.MeshPacket.Delayed\"[\n\x08Priority\x12\t\n\x05UNSET\x10\x00\x12\x07\n\x03MIN\x10\x01\x12\x0e\n\nBACKGROUND\x10\n\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10@\x12\x0c\n\x08RELIABLE\x10\x46\x12\x07\n\x03\x41\x43K\x10x\x12\x07\n\x03MAX\x10\x7f\"B\n\x07\x44\x65layed\x12\x0c\n\x08NO_DELAY\x10\x00\x12\x15\n\x11\x44\x45LAYED_BROADCAST\x10\x01\x12\x12\n\x0e\x44\x45LAYED_DIRECT\x10\x02\x42\x10\n\x0epayloadVariant\"\x89\x01\n\x08NodeInfo\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\x13\n\x04user\x18\x02 \x01(\x0b\x32\x05.User\x12\x1b\n\x08position\x18\x03 \x01(\x0b\x32\t.Position\x12\x0b\n\x03snr\x18\x04 \x01(\x02\x12\x12\n\nlast_heard\x18\x05 \x01(\x07\x12\x1d\n\ttelemetry\x18\x06 \x01(\x0b\x32\n.Telemetry\"\x9a\x03\n\nMyNodeInfo\x12\x13\n\x0bmy_node_num\x18\x01 \x01(\r\x12\x0f\n\x07has_gps\x18\x02 \x01(\x08\x12\x14\n\x0cmax_channels\x18\x0f \x01(\r\x12\x12\n\x06region\x18\x04 \x01(\tB\x02\x18\x01\x12\x18\n\x10\x66irmware_version\x18\x06 \x01(\t\x12&\n\nerror_code\x18\x07 \x01(\x0e\x32\x12.CriticalErrorCode\x12\x15\n\rerror_address\x18\x08 \x01(\r\x12\x13\n\x0b\x65rror_count\x18\t \x01(\r\x12\x14\n\x0creboot_count\x18\n \x01(\r\x12\x0f\n\x07\x62itrate\x18\x0b \x01(\x02\x12\x1c\n\x14message_timeout_msec\x18\r \x01(\r\x12\x17\n\x0fmin_app_version\x18\x0e \x01(\r\x12\x15\n\rair_period_tx\x18\x10 \x03(\r\x12\x15\n\rair_period_rx\x18\x11 \x03(\r\x12\x10\n\x08has_wifi\x18\x12 \x01(\x08\x12\x1b\n\x13\x63hannel_utilization\x18\x13 \x01(\x02\x12\x13\n\x0b\x61ir_util_tx\x18\x14 \x01(\x02\"\xb5\x01\n\tLogRecord\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0c\n\x04time\x18\x02 \x01(\x07\x12\x0e\n\x06source\x18\x03 \x01(\t\x12\x1f\n\x05level\x18\x04 \x01(\x0e\x32\x10.LogRecord.Level\"X\n\x05Level\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x32\x12\t\n\x05\x45RROR\x10(\x12\x0b\n\x07WARNING\x10\x1e\x12\x08\n\x04INFO\x10\x14\x12\t\n\x05\x44\x45\x42UG\x10\n\x12\t\n\x05TRACE\x10\x05\"\xe8\x01\n\tFromRadio\x12\n\n\x02id\x18\x01 \x01(\r\x12\x1d\n\x06packet\x18\x0b \x01(\x0b\x32\x0b.MeshPacketH\x00\x12\x1e\n\x07my_info\x18\x03 \x01(\x0b\x32\x0b.MyNodeInfoH\x00\x12\x1e\n\tnode_info\x18\x04 \x01(\x0b\x32\t.NodeInfoH\x00\x12 \n\nlog_record\x18\x07 \x01(\x0b\x32\n.LogRecordH\x00\x12\x1c\n\x12\x63onfig_complete_id\x18\x08 \x01(\rH\x00\x12\x12\n\x08rebooted\x18\t \x01(\x08H\x00\x42\x10\n\x0epayloadVariantJ\x04\x08\x02\x10\x03J\x04\x08\x06\x10\x07\"\xe1\x01\n\x07ToRadio\x12\x1d\n\x06packet\x18\x02 \x01(\x0b\x32\x0b.MeshPacketH\x00\x12&\n\tpeer_info\x18\x03 \x01(\x0b\x32\x11.ToRadio.PeerInfoH\x00\x12\x18\n\x0ewant_config_id\x18\x64 \x01(\rH\x00\x12\x14\n\ndisconnect\x18h \x01(\x08H\x00\x1a\x35\n\x08PeerInfo\x12\x13\n\x0b\x61pp_version\x18\x01 \x01(\r\x12\x14\n\x0cmqtt_gateway\x18\x02 \x01(\x08\x42\x10\n\x0epayloadVariantJ\x04\x08\x01\x10\x02J\x04\x08\x65\x10\x66J\x04\x08\x66\x10gJ\x04\x08g\x10h*\xda\x02\n\rHardwareModel\x12\t\n\x05UNSET\x10\x00\x12\x0c\n\x08TLORA_V2\x10\x01\x12\x0c\n\x08TLORA_V1\x10\x02\x12\x12\n\x0eTLORA_V2_1_1p6\x10\x03\x12\t\n\x05TBEAM\x10\x04\x12\x0f\n\x0bHELTEC_V2_0\x10\x05\x12\x0c\n\x08TBEAM0p7\x10\x06\x12\n\n\x06T_ECHO\x10\x07\x12\x10\n\x0cTLORA_V1_1p3\x10\x08\x12\x0b\n\x07RAK4631\x10\t\x12\x0f\n\x0bHELTEC_V2_1\x10\n\x12\r\n\tHELTEC_V1\x10\x0b\x12\x11\n\rLORA_RELAY_V1\x10 \x12\x0e\n\nNRF52840DK\x10!\x12\x07\n\x03PPR\x10\"\x12\x0f\n\x0bGENIEBLOCKS\x10#\x12\x11\n\rNRF52_UNKNOWN\x10$\x12\r\n\tPORTDUINO\x10%\x12\x0f\n\x0b\x41NDROID_SIM\x10&\x12\n\n\x06\x44IY_V1\x10\'\x12\x0c\n\x08RAK11200\x10(\x12\x0f\n\nPRIVATE_HW\x10\xff\x01*\xb5\x01\n\x04Team\x12\t\n\x05\x43LEAR\x10\x00\x12\x08\n\x04\x43YAN\x10\x01\x12\t\n\x05WHITE\x10\x02\x12\n\n\x06YELLOW\x10\x03\x12\n\n\x06ORANGE\x10\x04\x12\x0b\n\x07MAGENTA\x10\x05\x12\x07\n\x03RED\x10\x06\x12\n\n\x06MAROON\x10\x07\x12\n\n\x06PURPLE\x10\x08\x12\r\n\tDARK_BLUE\x10\t\x12\x08\n\x04\x42LUE\x10\n\x12\x08\n\x04TEAL\x10\x0b\x12\t\n\x05GREEN\x10\x0c\x12\x0e\n\nDARK_GREEN\x10\r\x12\t\n\x05\x42ROWN\x10\x0e*.\n\tConstants\x12\n\n\x06Unused\x10\x00\x12\x15\n\x10\x44\x41TA_PAYLOAD_LEN\x10\xed\x01*\xe1\x01\n\x11\x43riticalErrorCode\x12\x08\n\x04None\x10\x00\x12\x0e\n\nTxWatchdog\x10\x01\x12\x12\n\x0eSleepEnterWait\x10\x02\x12\x0b\n\x07NoRadio\x10\x03\x12\x0f\n\x0bUnspecified\x10\x04\x12\x13\n\x0fUBloxInitFailed\x10\x05\x12\x0c\n\x08NoAXP192\x10\x06\x12\x17\n\x13InvalidRadioSetting\x10\x07\x12\x12\n\x0eTransmitFailed\x10\x08\x12\x0c\n\x08\x42rownout\x10\t\x12\x11\n\rSX1262Failure\x10\n\x12\x0f\n\x0bRadioSpiBug\x10\x0b\x42\x46\n\x13\x63om.geeksville.meshB\nMeshProtosH\x03Z!github.com/meshtastic/gomeshprotob\x06proto3' , - dependencies=[portnums__pb2.DESCRIPTOR,]) + dependencies=[portnums__pb2.DESCRIPTOR,telemetry__pb2.DESCRIPTOR,]) _HARDWAREMODEL = _descriptor.EnumDescriptor( name='HardwareModel', @@ -121,8 +122,8 @@ _HARDWAREMODEL = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3183, - serialized_end=3529, + serialized_start=3329, + serialized_end=3675, ) _sym_db.RegisterEnumDescriptor(_HARDWAREMODEL) @@ -196,8 +197,8 @@ _TEAM = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3532, - serialized_end=3713, + serialized_start=3678, + serialized_end=3859, ) _sym_db.RegisterEnumDescriptor(_TEAM) @@ -219,8 +220,8 @@ _CONSTANTS = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3715, - serialized_end=3761, + serialized_start=3861, + serialized_end=3907, ) _sym_db.RegisterEnumDescriptor(_CONSTANTS) @@ -282,8 +283,8 @@ _CRITICALERRORCODE = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3764, - serialized_end=3989, + serialized_start=3910, + serialized_end=4135, ) _sym_db.RegisterEnumDescriptor(_CRITICALERRORCODE) @@ -366,8 +367,8 @@ _POSITION_LOCSOURCE = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=561, - serialized_end=671, + serialized_start=555, + serialized_end=665, ) _sym_db.RegisterEnumDescriptor(_POSITION_LOCSOURCE) @@ -400,8 +401,8 @@ _POSITION_ALTSOURCE = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=674, - serialized_end=807, + serialized_start=668, + serialized_end=801, ) _sym_db.RegisterEnumDescriptor(_POSITION_ALTSOURCE) @@ -458,8 +459,8 @@ _ROUTING_ERROR = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=1195, - serialized_end=1375, + serialized_start=1189, + serialized_end=1369, ) _sym_db.RegisterEnumDescriptor(_ROUTING_ERROR) @@ -500,8 +501,8 @@ _MESHPACKET_PRIORITY = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=1834, - serialized_end=1925, + serialized_start=1949, + serialized_end=2040, ) _sym_db.RegisterEnumDescriptor(_MESHPACKET_PRIORITY) @@ -526,8 +527,8 @@ _MESHPACKET_DELAYED = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=1927, - serialized_end=1993, + serialized_start=2042, + serialized_end=2108, ) _sym_db.RegisterEnumDescriptor(_MESHPACKET_DELAYED) @@ -568,8 +569,8 @@ _LOGRECORD_LEVEL = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=2628, - serialized_end=2716, + serialized_start=2775, + serialized_end=2863, ) _sym_db.RegisterEnumDescriptor(_LOGRECORD_LEVEL) @@ -603,140 +604,133 @@ _POSITION = _descriptor.Descriptor( is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='battery_level', full_name='Position.battery_level', index=3, - number=4, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='time', full_name='Position.time', index=4, + name='time', full_name='Position.time', index=3, number=9, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='location_source', full_name='Position.location_source', index=5, + name='location_source', full_name='Position.location_source', index=4, number=10, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='altitude_source', full_name='Position.altitude_source', index=6, + name='altitude_source', full_name='Position.altitude_source', index=5, number=11, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='pos_timestamp', full_name='Position.pos_timestamp', index=7, + name='pos_timestamp', full_name='Position.pos_timestamp', index=6, number=12, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='pos_time_millis', full_name='Position.pos_time_millis', index=8, + name='pos_time_millis', full_name='Position.pos_time_millis', index=7, number=13, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='altitude_hae', full_name='Position.altitude_hae', index=9, + name='altitude_hae', full_name='Position.altitude_hae', index=8, number=14, type=17, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='alt_geoid_sep', full_name='Position.alt_geoid_sep', index=10, + name='alt_geoid_sep', full_name='Position.alt_geoid_sep', index=9, number=15, type=17, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='PDOP', full_name='Position.PDOP', index=11, + name='PDOP', full_name='Position.PDOP', index=10, number=16, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='HDOP', full_name='Position.HDOP', index=12, + name='HDOP', full_name='Position.HDOP', index=11, number=17, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='VDOP', full_name='Position.VDOP', index=13, + name='VDOP', full_name='Position.VDOP', index=12, number=18, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='gps_accuracy', full_name='Position.gps_accuracy', index=14, + name='gps_accuracy', full_name='Position.gps_accuracy', index=13, number=19, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ground_speed', full_name='Position.ground_speed', index=15, + name='ground_speed', full_name='Position.ground_speed', index=14, number=20, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='ground_track', full_name='Position.ground_track', index=16, + name='ground_track', full_name='Position.ground_track', index=15, number=21, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='fix_quality', full_name='Position.fix_quality', index=17, + name='fix_quality', full_name='Position.fix_quality', index=16, number=22, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='fix_type', full_name='Position.fix_type', index=18, + name='fix_type', full_name='Position.fix_type', index=17, number=23, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sats_in_view', full_name='Position.sats_in_view', index=19, + name='sats_in_view', full_name='Position.sats_in_view', index=18, number=24, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='sensor_id', full_name='Position.sensor_id', index=20, + name='sensor_id', full_name='Position.sensor_id', index=19, number=25, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='pos_next_update', full_name='Position.pos_next_update', index=21, + name='pos_next_update', full_name='Position.pos_next_update', index=20, number=40, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='pos_seq_number', full_name='Position.pos_seq_number', index=22, + name='pos_seq_number', full_name='Position.pos_seq_number', index=21, number=41, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -756,8 +750,8 @@ _POSITION = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=31, - serialized_end=807, + serialized_start=48, + serialized_end=801, ) @@ -850,8 +844,8 @@ _USER = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=810, - serialized_end=1025, + serialized_start=804, + serialized_end=1019, ) @@ -881,8 +875,8 @@ _ROUTEDISCOVERY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=1027, - serialized_end=1058, + serialized_start=1021, + serialized_end=1052, ) @@ -930,8 +924,8 @@ _ROUTING = _descriptor.Descriptor( name='variant', full_name='Routing.variant', index=0, containing_type=None, fields=[]), ], - serialized_start=1061, - serialized_end=1386, + serialized_start=1055, + serialized_end=1380, ) @@ -992,8 +986,74 @@ _DATA = _descriptor.Descriptor( is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='is_tapback', full_name='Data.is_tapback', index=7, - number=8, type=8, cpp_type=7, label=1, + name='emoji', full_name='Data.emoji', index=7, + number=8, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='location', full_name='Data.location', index=8, + number=9, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1383, + serialized_end=1568, +) + + +_LOCATION = _descriptor.Descriptor( + name='Location', + full_name='Location', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='Location.id', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='latitude_i', full_name='Location.latitude_i', index=1, + number=2, type=15, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='longitude_i', full_name='Location.longitude_i', index=2, + number=3, type=15, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='expire', full_name='Location.expire', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='locked', full_name='Location.locked', index=4, + number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -1010,8 +1070,8 @@ _DATA = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=1389, - serialized_end=1550, + serialized_start=1570, + serialized_end=1665, ) @@ -1130,8 +1190,8 @@ _MESHPACKET = _descriptor.Descriptor( name='payloadVariant', full_name='MeshPacket.payloadVariant', index=0, containing_type=None, fields=[]), ], - serialized_start=1553, - serialized_end=2011, + serialized_start=1668, + serialized_end=2126, ) @@ -1165,18 +1225,25 @@ _NODEINFO = _descriptor.Descriptor( serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='snr', full_name='NodeInfo.snr', index=3, - number=7, type=2, cpp_type=6, label=1, + number=4, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='last_heard', full_name='NodeInfo.last_heard', index=4, - number=4, type=7, cpp_type=3, label=1, + number=5, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='telemetry', full_name='NodeInfo.telemetry', index=5, + number=6, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1189,8 +1256,8 @@ _NODEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2013, - serialized_end=2119, + serialized_start=2129, + serialized_end=2266, ) @@ -1332,8 +1399,8 @@ _MYNODEINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2122, - serialized_end=2532, + serialized_start=2269, + serialized_end=2679, ) @@ -1385,8 +1452,8 @@ _LOGRECORD = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=2535, - serialized_end=2716, + serialized_start=2682, + serialized_end=2863, ) @@ -1398,7 +1465,7 @@ _FROMRADIO = _descriptor.Descriptor( containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='num', full_name='FromRadio.num', index=0, + name='id', full_name='FromRadio.id', index=0, number=1, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -1461,8 +1528,8 @@ _FROMRADIO = _descriptor.Descriptor( name='payloadVariant', full_name='FromRadio.payloadVariant', index=0, containing_type=None, fields=[]), ], - serialized_start=2719, - serialized_end=2952, + serialized_start=2866, + serialized_end=3098, ) @@ -1499,8 +1566,8 @@ _TORADIO_PEERINFO = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=3085, - serialized_end=3138, + serialized_start=3231, + serialized_end=3284, ) _TORADIO = _descriptor.Descriptor( @@ -1553,8 +1620,8 @@ _TORADIO = _descriptor.Descriptor( name='payloadVariant', full_name='ToRadio.payloadVariant', index=0, containing_type=None, fields=[]), ], - serialized_start=2955, - serialized_end=3180, + serialized_start=3101, + serialized_end=3326, ) _POSITION.fields_by_name['location_source'].enum_type = _POSITION_LOCSOURCE @@ -1577,6 +1644,7 @@ _ROUTING.oneofs_by_name['variant'].fields.append( _ROUTING.fields_by_name['error_reason']) _ROUTING.fields_by_name['error_reason'].containing_oneof = _ROUTING.oneofs_by_name['variant'] _DATA.fields_by_name['portnum'].enum_type = portnums__pb2._PORTNUM +_DATA.fields_by_name['location'].message_type = _LOCATION _MESHPACKET.fields_by_name['decoded'].message_type = _DATA _MESHPACKET.fields_by_name['priority'].enum_type = _MESHPACKET_PRIORITY _MESHPACKET.fields_by_name['delayed'].enum_type = _MESHPACKET_DELAYED @@ -1590,6 +1658,7 @@ _MESHPACKET.oneofs_by_name['payloadVariant'].fields.append( _MESHPACKET.fields_by_name['encrypted'].containing_oneof = _MESHPACKET.oneofs_by_name['payloadVariant'] _NODEINFO.fields_by_name['user'].message_type = _USER _NODEINFO.fields_by_name['position'].message_type = _POSITION +_NODEINFO.fields_by_name['telemetry'].message_type = telemetry__pb2._TELEMETRY _MYNODEINFO.fields_by_name['error_code'].enum_type = _CRITICALERRORCODE _LOGRECORD.fields_by_name['level'].enum_type = _LOGRECORD_LEVEL _LOGRECORD_LEVEL.containing_type = _LOGRECORD @@ -1635,6 +1704,7 @@ DESCRIPTOR.message_types_by_name['User'] = _USER DESCRIPTOR.message_types_by_name['RouteDiscovery'] = _ROUTEDISCOVERY DESCRIPTOR.message_types_by_name['Routing'] = _ROUTING DESCRIPTOR.message_types_by_name['Data'] = _DATA +DESCRIPTOR.message_types_by_name['Location'] = _LOCATION DESCRIPTOR.message_types_by_name['MeshPacket'] = _MESHPACKET DESCRIPTOR.message_types_by_name['NodeInfo'] = _NODEINFO DESCRIPTOR.message_types_by_name['MyNodeInfo'] = _MYNODEINFO @@ -1682,6 +1752,13 @@ Data = _reflection.GeneratedProtocolMessageType('Data', (_message.Message,), { }) _sym_db.RegisterMessage(Data) +Location = _reflection.GeneratedProtocolMessageType('Location', (_message.Message,), { + 'DESCRIPTOR' : _LOCATION, + '__module__' : 'mesh_pb2' + # @@protoc_insertion_point(class_scope:Location) + }) +_sym_db.RegisterMessage(Location) + MeshPacket = _reflection.GeneratedProtocolMessageType('MeshPacket', (_message.Message,), { 'DESCRIPTOR' : _MESHPACKET, '__module__' : 'mesh_pb2' diff --git a/meshtastic/radioconfig_pb2.py b/meshtastic/radioconfig_pb2.py index 8bfd886..d78e1a3 100644 --- a/meshtastic/radioconfig_pb2.py +++ b/meshtastic/radioconfig_pb2.py @@ -19,7 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='', syntax='proto3', serialized_options=b'\n\023com.geeksville.meshB\021RadioConfigProtosH\003Z!github.com/meshtastic/gomeshproto', - serialized_pb=b'\n\x11radioconfig.proto\"\xb7\x17\n\x0bRadioConfig\x12\x31\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x1c.RadioConfig.UserPreferences\x1a\xf4\x16\n\x0fUserPreferences\x12\x1f\n\x17position_broadcast_secs\x18\x01 \x01(\r\x12)\n!position_broadcast_smart_disabled\x18\x11 \x01(\x08\x12\x1b\n\x13send_owner_interval\x18\x02 \x01(\r\x12\x1b\n\x13wait_bluetooth_secs\x18\x04 \x01(\r\x12\x16\n\x0escreen_on_secs\x18\x05 \x01(\r\x12\x1a\n\x12phone_timeout_secs\x18\x06 \x01(\r\x12\x1d\n\x15phone_sds_timeout_sec\x18\x07 \x01(\r\x12\x1d\n\x15mesh_sds_timeout_secs\x18\x08 \x01(\r\x12\x10\n\x08sds_secs\x18\t \x01(\r\x12\x0f\n\x07ls_secs\x18\n \x01(\r\x12\x15\n\rmin_wake_secs\x18\x0b \x01(\r\x12\x11\n\twifi_ssid\x18\x0c \x01(\t\x12\x15\n\rwifi_password\x18\r \x01(\t\x12\x14\n\x0cwifi_ap_mode\x18\x0e \x01(\x08\x12\x1b\n\x06region\x18\x0f \x01(\x0e\x32\x0b.RegionCode\x12&\n\x0e\x63harge_current\x18\x10 \x01(\x0e\x32\x0e.ChargeCurrent\x12\x13\n\x04role\x18\x12 \x01(\x0e\x32\x05.Role\x12\x14\n\x0cis_low_power\x18& \x01(\x08\x12\x16\n\x0e\x66ixed_position\x18\' \x01(\x08\x12\x17\n\x0fserial_disabled\x18( \x01(\x08\x12(\n\x0elocation_share\x18 \x01(\x0e\x32\x10.LocationSharing\x12$\n\rgps_operation\x18! \x01(\x0e\x32\r.GpsOperation\x12\x1b\n\x13gps_update_interval\x18\" \x01(\r\x12\x18\n\x10gps_attempt_time\x18$ \x01(\r\x12\x15\n\rgps_accept_2d\x18- \x01(\x08\x12\x13\n\x0bgps_max_dop\x18. \x01(\r\x12\x18\n\x10\x66requency_offset\x18) \x01(\x02\x12\x13\n\x0bmqtt_server\x18* \x01(\t\x12\x15\n\rmqtt_disabled\x18+ \x01(\x08\x12(\n\ngps_format\x18, \x01(\x0e\x32\x14.GpsCoordinateFormat\x12\x15\n\rfactory_reset\x18\x64 \x01(\x08\x12\x19\n\x11\x64\x65\x62ug_log_enabled\x18\x65 \x01(\x08\x12\x17\n\x0fignore_incoming\x18g \x03(\r\x12\x1d\n\x15serial_module_enabled\x18x \x01(\x08\x12\x1a\n\x12serial_module_echo\x18y \x01(\x08\x12\x19\n\x11serial_module_rxd\x18z \x01(\r\x12\x19\n\x11serial_module_txd\x18{ \x01(\r\x12\x1b\n\x12serial_module_baud\x18\xb0\x01 \x01(\r\x12\x1d\n\x15serial_module_timeout\x18| \x01(\r\x12\x1a\n\x12serial_module_mode\x18} \x01(\r\x12\'\n\x1f\x65xt_notification_module_enabled\x18~ \x01(\x08\x12)\n!ext_notification_module_output_ms\x18\x7f \x01(\r\x12\'\n\x1e\x65xt_notification_module_output\x18\x80\x01 \x01(\r\x12\'\n\x1e\x65xt_notification_module_active\x18\x81\x01 \x01(\x08\x12.\n%ext_notification_module_alert_message\x18\x82\x01 \x01(\x08\x12+\n\"ext_notification_module_alert_bell\x18\x83\x01 \x01(\x08\x12\"\n\x19range_test_module_enabled\x18\x84\x01 \x01(\x08\x12!\n\x18range_test_module_sender\x18\x85\x01 \x01(\r\x12\x1f\n\x16range_test_module_save\x18\x86\x01 \x01(\x08\x12%\n\x1cstore_forward_module_enabled\x18\x94\x01 \x01(\x08\x12\'\n\x1estore_forward_module_heartbeat\x18\x95\x01 \x01(\x08\x12%\n\x1cstore_forward_module_records\x18\x89\x01 \x01(\r\x12\x30\n\'store_forward_module_history_return_max\x18\x8a\x01 \x01(\r\x12\x33\n*store_forward_module_history_return_window\x18\x8b\x01 \x01(\r\x12-\n$telemetry_module_measurement_enabled\x18\x8c\x01 \x01(\x08\x12(\n\x1ftelemetry_module_screen_enabled\x18\x8d\x01 \x01(\x08\x12\x34\n+telemetry_module_read_error_count_threshold\x18\x8e\x01 \x01(\r\x12)\n telemetry_module_update_interval\x18\x8f\x01 \x01(\r\x12+\n\"telemetry_module_recovery_interval\x18\x90\x01 \x01(\r\x12+\n\"telemetry_module_display_farenheit\x18\x91\x01 \x01(\x08\x12W\n\x1ctelemetry_module_sensor_type\x18\x92\x01 \x01(\x0e\x32\x30.RadioConfig.UserPreferences.TelemetrySensorType\x12$\n\x1btelemetry_module_sensor_pin\x18\x93\x01 \x01(\r\x12\x17\n\x0eposition_flags\x18\x96\x01 \x01(\r\x12\x1a\n\x11is_always_powered\x18\x97\x01 \x01(\x08\x12\"\n\x19\x61uto_screen_carousel_secs\x18\x98\x01 \x01(\r\x12\'\n\x1eon_battery_shutdown_after_secs\x18\x99\x01 \x01(\r\x12\x12\n\thop_limit\x18\x9a\x01 \x01(\r\x12\x16\n\rmqtt_username\x18\x9b\x01 \x01(\t\x12\x16\n\rmqtt_password\x18\x9c\x01 \x01(\t\x12\x1c\n\x13is_lora_tx_disabled\x18\x9d\x01 \x01(\x08\x12\x18\n\x0fis_power_saving\x18\x9e\x01 \x01(\x08\x12\x18\n\x0frotary1_enabled\x18\xa0\x01 \x01(\x08\x12\x16\n\rrotary1_pin_a\x18\xa1\x01 \x01(\r\x12\x16\n\rrotary1_pin_b\x18\xa2\x01 \x01(\r\x12\x1a\n\x11rotary1_pin_press\x18\xa3\x01 \x01(\r\x12*\n\x10rotary1_event_cw\x18\xa4\x01 \x01(\x0e\x32\x0f.InputEventChar\x12+\n\x11rotary1_event_ccw\x18\xa5\x01 \x01(\x0e\x32\x0f.InputEventChar\x12-\n\x13rotary1_event_press\x18\xa6\x01 \x01(\x0e\x32\x0f.InputEventChar\x12&\n\x1d\x63\x61nned_message_module_enabled\x18\xaa\x01 \x01(\x08\x12\x31\n(canned_message_module_allow_input_source\x18\xab\x01 \x01(\t\x12(\n\x1f\x63\x61nned_message_module_send_bell\x18\xad\x01 \x01(\x08\x12 \n\x17mqtt_encryption_enabled\x18\xae\x01 \x01(\x08\x12 \n\x17\x61\x64\x63_multiplier_override\x18\xaf\x01 \x01(\x02\"~\n\x13TelemetrySensorType\x12\t\n\x05\x44HT11\x10\x00\x12\x0b\n\x07\x44S18B20\x10\x01\x12\t\n\x05\x44HT12\x10\x02\x12\t\n\x05\x44HT21\x10\x03\x12\t\n\x05\x44HT22\x10\x04\x12\n\n\x06\x42ME280\x10\x05\x12\n\n\x06\x42ME680\x10\x06\x12\x0b\n\x07MCP9808\x10\x07\x12\t\n\x05SHTC3\x10\x08J\x06\x08\x88\x01\x10\x89\x01*\x81\x01\n\nRegionCode\x12\t\n\x05Unset\x10\x00\x12\x06\n\x02US\x10\x01\x12\t\n\x05\x45U433\x10\x02\x12\t\n\x05\x45U868\x10\x03\x12\x06\n\x02\x43N\x10\x04\x12\x06\n\x02JP\x10\x05\x12\x07\n\x03\x41NZ\x10\x06\x12\x06\n\x02KR\x10\x07\x12\x06\n\x02TW\x10\x08\x12\x06\n\x02RU\x10\t\x12\x06\n\x02IN\x10\n\x12\t\n\x05NZ865\x10\x0b\x12\x06\n\x02TH\x10\x0c*\x1f\n\x04Role\x12\x0b\n\x07\x44\x65\x66\x61ult\x10\x00\x12\n\n\x06Router\x10\x01*\xd1\x01\n\rChargeCurrent\x12\x0b\n\x07MAUnset\x10\x00\x12\t\n\x05MA100\x10\x01\x12\t\n\x05MA190\x10\x02\x12\t\n\x05MA280\x10\x03\x12\t\n\x05MA360\x10\x04\x12\t\n\x05MA450\x10\x05\x12\t\n\x05MA550\x10\x06\x12\t\n\x05MA630\x10\x07\x12\t\n\x05MA700\x10\x08\x12\t\n\x05MA780\x10\t\x12\t\n\x05MA880\x10\n\x12\t\n\x05MA960\x10\x0b\x12\n\n\x06MA1000\x10\x0c\x12\n\n\x06MA1080\x10\r\x12\n\n\x06MA1160\x10\x0e\x12\n\n\x06MA1240\x10\x0f\x12\n\n\x06MA1320\x10\x10*j\n\x0cGpsOperation\x12\x0e\n\nGpsOpUnset\x10\x00\x12\x13\n\x0fGpsOpStationary\x10\x01\x12\x0f\n\x0bGpsOpMobile\x10\x02\x12\x11\n\rGpsOpTimeOnly\x10\x03\x12\x11\n\rGpsOpDisabled\x10\x04*\x83\x01\n\x13GpsCoordinateFormat\x12\x10\n\x0cGpsFormatDec\x10\x00\x12\x10\n\x0cGpsFormatDMS\x10\x01\x12\x10\n\x0cGpsFormatUTM\x10\x02\x12\x11\n\rGpsFormatMGRS\x10\x03\x12\x10\n\x0cGpsFormatOLC\x10\x04\x12\x11\n\rGpsFormatOSGR\x10\x05*@\n\x0fLocationSharing\x12\x0c\n\x08LocUnset\x10\x00\x12\x0e\n\nLocEnabled\x10\x01\x12\x0f\n\x0bLocDisabled\x10\x02*\xbc\x01\n\rPositionFlags\x12\x11\n\rPOS_UNDEFINED\x10\x00\x12\x10\n\x0cPOS_ALTITUDE\x10\x01\x12\x0f\n\x0bPOS_ALT_MSL\x10\x02\x12\x0f\n\x0bPOS_GEO_SEP\x10\x04\x12\x0b\n\x07POS_DOP\x10\x08\x12\r\n\tPOS_HVDOP\x10\x10\x12\x0f\n\x0bPOS_BATTERY\x10 \x12\x11\n\rPOS_SATINVIEW\x10@\x12\x10\n\x0bPOS_SEQ_NOS\x10\x80\x01\x12\x12\n\rPOS_TIMESTAMP\x10\x80\x02*\x83\x01\n\x0eInputEventChar\x12\x0c\n\x08KEY_NONE\x10\x00\x12\n\n\x06KEY_UP\x10\x11\x12\x0c\n\x08KEY_DOWN\x10\x12\x12\x0c\n\x08KEY_LEFT\x10\x13\x12\r\n\tKEY_RIGHT\x10\x14\x12\x0e\n\nKEY_SELECT\x10\n\x12\x0c\n\x08KEY_BACK\x10\x1b\x12\x0e\n\nKEY_CANCEL\x10\x18\x42M\n\x13\x63om.geeksville.meshB\x11RadioConfigProtosH\x03Z!github.com/meshtastic/gomeshprotob\x06proto3' + serialized_pb=b'\n\x11radioconfig.proto\"\xd8\x1b\n\x0bRadioConfig\x12\x31\n\x0bpreferences\x18\x01 \x01(\x0b\x32\x1c.RadioConfig.UserPreferences\x1a\x95\x1b\n\x0fUserPreferences\x12\x1f\n\x17position_broadcast_secs\x18\x01 \x01(\r\x12)\n!position_broadcast_smart_disabled\x18\x11 \x01(\x08\x12\x1b\n\x13send_owner_interval\x18\x02 \x01(\r\x12\x1b\n\x13wait_bluetooth_secs\x18\x04 \x01(\r\x12\x16\n\x0escreen_on_secs\x18\x05 \x01(\r\x12\x1a\n\x12phone_timeout_secs\x18\x06 \x01(\r\x12\x1d\n\x15phone_sds_timeout_sec\x18\x07 \x01(\r\x12\x1d\n\x15mesh_sds_timeout_secs\x18\x08 \x01(\r\x12\x10\n\x08sds_secs\x18\t \x01(\r\x12\x0f\n\x07ls_secs\x18\n \x01(\r\x12\x15\n\rmin_wake_secs\x18\x0b \x01(\r\x12\x11\n\twifi_ssid\x18\x0c \x01(\t\x12\x15\n\rwifi_password\x18\r \x01(\t\x12\x14\n\x0cwifi_ap_mode\x18\x0e \x01(\x08\x12\x1b\n\x06region\x18\x0f \x01(\x0e\x32\x0b.RegionCode\x12&\n\x0e\x63harge_current\x18\x10 \x01(\x0e\x32\x0e.ChargeCurrent\x12\x13\n\x04role\x18\x12 \x01(\x0e\x32\x05.Role\x12\x14\n\x0cis_low_power\x18& \x01(\x08\x12\x16\n\x0e\x66ixed_position\x18\' \x01(\x08\x12\x17\n\x0fserial_disabled\x18( \x01(\x08\x12\x1f\n\x17location_share_disabled\x18 \x01(\x08\x12\x14\n\x0cgps_disabled\x18! \x01(\x08\x12\x1b\n\x13gps_update_interval\x18\" \x01(\r\x12\x18\n\x10gps_attempt_time\x18$ \x01(\r\x12\x15\n\rgps_accept_2d\x18- \x01(\x08\x12\x13\n\x0bgps_max_dop\x18. \x01(\r\x12\x18\n\x10\x66requency_offset\x18) \x01(\x02\x12\x13\n\x0bmqtt_server\x18* \x01(\t\x12\x15\n\rmqtt_disabled\x18+ \x01(\x08\x12(\n\ngps_format\x18, \x01(\x0e\x32\x14.GpsCoordinateFormat\x12\x15\n\rfactory_reset\x18\x64 \x01(\x08\x12\x19\n\x11\x64\x65\x62ug_log_enabled\x18\x65 \x01(\x08\x12\x17\n\x0fignore_incoming\x18g \x03(\r\x12\x1d\n\x15serial_module_enabled\x18x \x01(\x08\x12\x1a\n\x12serial_module_echo\x18y \x01(\x08\x12\x19\n\x11serial_module_rxd\x18z \x01(\r\x12\x19\n\x11serial_module_txd\x18{ \x01(\r\x12\x45\n\x12serial_module_baud\x18\xb0\x01 \x01(\x0e\x32(.RadioConfig.UserPreferences.Serial_Baud\x12\x1d\n\x15serial_module_timeout\x18| \x01(\r\x12\x44\n\x12serial_module_mode\x18} \x01(\x0e\x32(.RadioConfig.UserPreferences.Serial_Mode\x12\'\n\x1f\x65xt_notification_module_enabled\x18~ \x01(\x08\x12)\n!ext_notification_module_output_ms\x18\x7f \x01(\r\x12\'\n\x1e\x65xt_notification_module_output\x18\x80\x01 \x01(\r\x12\'\n\x1e\x65xt_notification_module_active\x18\x81\x01 \x01(\x08\x12.\n%ext_notification_module_alert_message\x18\x82\x01 \x01(\x08\x12+\n\"ext_notification_module_alert_bell\x18\x83\x01 \x01(\x08\x12\"\n\x19range_test_module_enabled\x18\x84\x01 \x01(\x08\x12!\n\x18range_test_module_sender\x18\x85\x01 \x01(\r\x12\x1f\n\x16range_test_module_save\x18\x86\x01 \x01(\x08\x12%\n\x1cstore_forward_module_enabled\x18\x94\x01 \x01(\x08\x12\'\n\x1estore_forward_module_heartbeat\x18\x95\x01 \x01(\x08\x12%\n\x1cstore_forward_module_records\x18\x89\x01 \x01(\r\x12\x30\n\'store_forward_module_history_return_max\x18\x8a\x01 \x01(\r\x12\x33\n*store_forward_module_history_return_window\x18\x8b\x01 \x01(\r\x12\x39\n0telemetry_module_environment_measurement_enabled\x18\x8c\x01 \x01(\x08\x12\x34\n+telemetry_module_environment_screen_enabled\x18\x8d\x01 \x01(\x08\x12@\n7telemetry_module_environment_read_error_count_threshold\x18\x8e\x01 \x01(\r\x12\x30\n\'telemetry_module_device_update_interval\x18\x8f\x01 \x01(\r\x12\x37\n.telemetry_module_environment_recovery_interval\x18\x90\x01 \x01(\r\x12\x38\n/telemetry_module_environment_display_fahrenheit\x18\x91\x01 \x01(\x08\x12\x63\n(telemetry_module_environment_sensor_type\x18\x92\x01 \x01(\x0e\x32\x30.RadioConfig.UserPreferences.TelemetrySensorType\x12\x30\n\'telemetry_module_environment_sensor_pin\x18\x93\x01 \x01(\r\x12\x17\n\x0eposition_flags\x18\x96\x01 \x01(\r\x12\x1a\n\x11is_always_powered\x18\x97\x01 \x01(\x08\x12\"\n\x19\x61uto_screen_carousel_secs\x18\x98\x01 \x01(\r\x12\'\n\x1eon_battery_shutdown_after_secs\x18\x99\x01 \x01(\r\x12\x12\n\thop_limit\x18\x9a\x01 \x01(\r\x12\x16\n\rmqtt_username\x18\x9b\x01 \x01(\t\x12\x16\n\rmqtt_password\x18\x9c\x01 \x01(\t\x12\x1c\n\x13is_lora_tx_disabled\x18\x9d\x01 \x01(\x08\x12\x18\n\x0fis_power_saving\x18\x9e\x01 \x01(\x08\x12\x18\n\x0frotary1_enabled\x18\xa0\x01 \x01(\x08\x12\x1a\n\x11inputbroker_pin_a\x18\xa1\x01 \x01(\r\x12\x1a\n\x11inputbroker_pin_b\x18\xa2\x01 \x01(\r\x12\x1e\n\x15inputbroker_pin_press\x18\xa3\x01 \x01(\r\x12.\n\x14inputbroker_event_cw\x18\xa4\x01 \x01(\x0e\x32\x0f.InputEventChar\x12/\n\x15inputbroker_event_ccw\x18\xa5\x01 \x01(\x0e\x32\x0f.InputEventChar\x12\x31\n\x17inputbroker_event_press\x18\xa6\x01 \x01(\x0e\x32\x0f.InputEventChar\x12\x18\n\x0fupdown1_enabled\x18\xa7\x01 \x01(\x08\x12&\n\x1d\x63\x61nned_message_module_enabled\x18\xaa\x01 \x01(\x08\x12\x31\n(canned_message_module_allow_input_source\x18\xab\x01 \x01(\t\x12(\n\x1f\x63\x61nned_message_module_send_bell\x18\xad\x01 \x01(\x08\x12 \n\x17mqtt_encryption_enabled\x18\xae\x01 \x01(\x08\x12 \n\x17\x61\x64\x63_multiplier_override\x18\xaf\x01 \x01(\x02\x12\x35\n,telemetry_module_environment_update_interval\x18\xb1\x01 \x01(\r\"\xd1\x01\n\x0bSerial_Baud\x12\x10\n\x0c\x42\x41UD_Default\x10\x00\x12\r\n\tBAUD_2400\x10\x01\x12\r\n\tBAUD_4800\x10\x02\x12\r\n\tBAUD_9600\x10\x03\x12\x0e\n\nBAUD_19200\x10\x04\x12\x0e\n\nBAUD_38400\x10\x05\x12\x0e\n\nBAUD_57600\x10\x06\x12\x0f\n\x0b\x42\x41UD_115200\x10\x07\x12\x0f\n\x0b\x42\x41UD_230400\x10\x08\x12\x0f\n\x0b\x42\x41UD_460800\x10\t\x12\x0f\n\x0b\x42\x41UD_576000\x10\n\x12\x0f\n\x0b\x42\x41UD_921600\x10\x0b\"@\n\x0bSerial_Mode\x12\x10\n\x0cMODE_Default\x10\x00\x12\x0f\n\x0bMODE_SIMPLE\x10\x01\x12\x0e\n\nMODE_PROTO\x10\x02\"\x88\x01\n\x13TelemetrySensorType\x12\x08\n\x04None\x10\x00\x12\t\n\x05\x44HT11\x10\x01\x12\x0b\n\x07\x44S18B20\x10\x02\x12\t\n\x05\x44HT12\x10\x03\x12\t\n\x05\x44HT21\x10\x04\x12\t\n\x05\x44HT22\x10\x05\x12\n\n\x06\x42ME280\x10\x06\x12\n\n\x06\x42ME680\x10\x07\x12\x0b\n\x07MCP9808\x10\x08\x12\t\n\x05SHTC3\x10\tJ\x06\x08\x88\x01\x10\x89\x01*\x81\x01\n\nRegionCode\x12\t\n\x05Unset\x10\x00\x12\x06\n\x02US\x10\x01\x12\t\n\x05\x45U433\x10\x02\x12\t\n\x05\x45U868\x10\x03\x12\x06\n\x02\x43N\x10\x04\x12\x06\n\x02JP\x10\x05\x12\x07\n\x03\x41NZ\x10\x06\x12\x06\n\x02KR\x10\x07\x12\x06\n\x02TW\x10\x08\x12\x06\n\x02RU\x10\t\x12\x06\n\x02IN\x10\n\x12\t\n\x05NZ865\x10\x0b\x12\x06\n\x02TH\x10\x0c*@\n\x04Role\x12\n\n\x06\x43lient\x10\x00\x12\x0e\n\nClientMute\x10\x01\x12\n\n\x06Router\x10\x02\x12\x10\n\x0cRouterClient\x10\x03*\xd1\x01\n\rChargeCurrent\x12\x0b\n\x07MAUnset\x10\x00\x12\t\n\x05MA100\x10\x01\x12\t\n\x05MA190\x10\x02\x12\t\n\x05MA280\x10\x03\x12\t\n\x05MA360\x10\x04\x12\t\n\x05MA450\x10\x05\x12\t\n\x05MA550\x10\x06\x12\t\n\x05MA630\x10\x07\x12\t\n\x05MA700\x10\x08\x12\t\n\x05MA780\x10\t\x12\t\n\x05MA880\x10\n\x12\t\n\x05MA960\x10\x0b\x12\n\n\x06MA1000\x10\x0c\x12\n\n\x06MA1080\x10\r\x12\n\n\x06MA1160\x10\x0e\x12\n\n\x06MA1240\x10\x0f\x12\n\n\x06MA1320\x10\x10*\x83\x01\n\x13GpsCoordinateFormat\x12\x10\n\x0cGpsFormatDec\x10\x00\x12\x10\n\x0cGpsFormatDMS\x10\x01\x12\x10\n\x0cGpsFormatUTM\x10\x02\x12\x11\n\rGpsFormatMGRS\x10\x03\x12\x10\n\x0cGpsFormatOLC\x10\x04\x12\x11\n\rGpsFormatOSGR\x10\x05*\xbc\x01\n\rPositionFlags\x12\x11\n\rPOS_UNDEFINED\x10\x00\x12\x10\n\x0cPOS_ALTITUDE\x10\x01\x12\x0f\n\x0bPOS_ALT_MSL\x10\x02\x12\x0f\n\x0bPOS_GEO_SEP\x10\x04\x12\x0b\n\x07POS_DOP\x10\x08\x12\r\n\tPOS_HVDOP\x10\x10\x12\x0f\n\x0bPOS_BATTERY\x10 \x12\x11\n\rPOS_SATINVIEW\x10@\x12\x10\n\x0bPOS_SEQ_NOS\x10\x80\x01\x12\x12\n\rPOS_TIMESTAMP\x10\x80\x02*\x83\x01\n\x0eInputEventChar\x12\x0c\n\x08KEY_NONE\x10\x00\x12\n\n\x06KEY_UP\x10\x11\x12\x0c\n\x08KEY_DOWN\x10\x12\x12\x0c\n\x08KEY_LEFT\x10\x13\x12\r\n\tKEY_RIGHT\x10\x14\x12\x0e\n\nKEY_SELECT\x10\n\x12\x0c\n\x08KEY_BACK\x10\x1b\x12\x0e\n\nKEY_CANCEL\x10\x18\x42M\n\x13\x63om.geeksville.meshB\x11RadioConfigProtosH\x03Z!github.com/meshtastic/gomeshprotob\x06proto3' ) _REGIONCODE = _descriptor.EnumDescriptor( @@ -83,8 +83,8 @@ _REGIONCODE = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3024, - serialized_end=3153, + serialized_start=3569, + serialized_end=3698, ) _sym_db.RegisterEnumDescriptor(_REGIONCODE) @@ -96,18 +96,26 @@ _ROLE = _descriptor.EnumDescriptor( file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( - name='Default', index=0, number=0, + name='Client', index=0, number=0, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='Router', index=1, number=1, + name='ClientMute', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='Router', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='RouterClient', index=3, number=3, serialized_options=None, type=None), ], containing_type=None, serialized_options=None, - serialized_start=3155, - serialized_end=3186, + serialized_start=3700, + serialized_end=3764, ) _sym_db.RegisterEnumDescriptor(_ROLE) @@ -189,47 +197,12 @@ _CHARGECURRENT = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3189, - serialized_end=3398, + serialized_start=3767, + serialized_end=3976, ) _sym_db.RegisterEnumDescriptor(_CHARGECURRENT) ChargeCurrent = enum_type_wrapper.EnumTypeWrapper(_CHARGECURRENT) -_GPSOPERATION = _descriptor.EnumDescriptor( - name='GpsOperation', - full_name='GpsOperation', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='GpsOpUnset', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GpsOpStationary', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GpsOpMobile', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GpsOpTimeOnly', index=3, number=3, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='GpsOpDisabled', index=4, number=4, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=3400, - serialized_end=3506, -) -_sym_db.RegisterEnumDescriptor(_GPSOPERATION) - -GpsOperation = enum_type_wrapper.EnumTypeWrapper(_GPSOPERATION) _GPSCOORDINATEFORMAT = _descriptor.EnumDescriptor( name='GpsCoordinateFormat', full_name='GpsCoordinateFormat', @@ -263,39 +236,12 @@ _GPSCOORDINATEFORMAT = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3509, - serialized_end=3640, + serialized_start=3979, + serialized_end=4110, ) _sym_db.RegisterEnumDescriptor(_GPSCOORDINATEFORMAT) GpsCoordinateFormat = enum_type_wrapper.EnumTypeWrapper(_GPSCOORDINATEFORMAT) -_LOCATIONSHARING = _descriptor.EnumDescriptor( - name='LocationSharing', - full_name='LocationSharing', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='LocUnset', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='LocEnabled', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='LocDisabled', index=2, number=2, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=3642, - serialized_end=3706, -) -_sym_db.RegisterEnumDescriptor(_LOCATIONSHARING) - -LocationSharing = enum_type_wrapper.EnumTypeWrapper(_LOCATIONSHARING) _POSITIONFLAGS = _descriptor.EnumDescriptor( name='PositionFlags', full_name='PositionFlags', @@ -345,8 +291,8 @@ _POSITIONFLAGS = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3709, - serialized_end=3897, + serialized_start=4113, + serialized_end=4301, ) _sym_db.RegisterEnumDescriptor(_POSITIONFLAGS) @@ -392,8 +338,8 @@ _INPUTEVENTCHAR = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=3900, - serialized_end=4031, + serialized_start=4304, + serialized_end=4435, ) _sym_db.RegisterEnumDescriptor(_INPUTEVENTCHAR) @@ -411,8 +357,10 @@ RU = 9 IN = 10 NZ865 = 11 TH = 12 -Default = 0 -Router = 1 +Client = 0 +ClientMute = 1 +Router = 2 +RouterClient = 3 MAUnset = 0 MA100 = 1 MA190 = 2 @@ -430,20 +378,12 @@ MA1080 = 13 MA1160 = 14 MA1240 = 15 MA1320 = 16 -GpsOpUnset = 0 -GpsOpStationary = 1 -GpsOpMobile = 2 -GpsOpTimeOnly = 3 -GpsOpDisabled = 4 GpsFormatDec = 0 GpsFormatDMS = 1 GpsFormatUTM = 2 GpsFormatMGRS = 3 GpsFormatOLC = 4 GpsFormatOSGR = 5 -LocUnset = 0 -LocEnabled = 1 -LocDisabled = 2 POS_UNDEFINED = 0 POS_ALTITUDE = 1 POS_ALT_MSL = 2 @@ -464,6 +404,94 @@ KEY_BACK = 27 KEY_CANCEL = 24 +_RADIOCONFIG_USERPREFERENCES_SERIAL_BAUD = _descriptor.EnumDescriptor( + name='Serial_Baud', + full_name='RadioConfig.UserPreferences.Serial_Baud', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='BAUD_Default', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_2400', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_4800', index=2, number=2, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_9600', index=3, number=3, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_19200', index=4, number=4, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_38400', index=5, number=5, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_57600', index=6, number=6, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_115200', index=7, number=7, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_230400', index=8, number=8, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_460800', index=9, number=9, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_576000', index=10, number=10, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='BAUD_921600', index=11, number=11, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=3144, + serialized_end=3353, +) +_sym_db.RegisterEnumDescriptor(_RADIOCONFIG_USERPREFERENCES_SERIAL_BAUD) + +_RADIOCONFIG_USERPREFERENCES_SERIAL_MODE = _descriptor.EnumDescriptor( + name='Serial_Mode', + full_name='RadioConfig.UserPreferences.Serial_Mode', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='MODE_Default', index=0, number=0, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MODE_SIMPLE', index=1, number=1, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='MODE_PROTO', index=2, number=2, + serialized_options=None, + type=None), + ], + containing_type=None, + serialized_options=None, + serialized_start=3355, + serialized_end=3419, +) +_sym_db.RegisterEnumDescriptor(_RADIOCONFIG_USERPREFERENCES_SERIAL_MODE) + _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE = _descriptor.EnumDescriptor( name='TelemetrySensorType', full_name='RadioConfig.UserPreferences.TelemetrySensorType', @@ -471,46 +499,50 @@ _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE = _descriptor.EnumDescriptor( file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( - name='DHT11', index=0, number=0, + name='None', index=0, number=0, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='DS18B20', index=1, number=1, + name='DHT11', index=1, number=1, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='DHT12', index=2, number=2, + name='DS18B20', index=2, number=2, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='DHT21', index=3, number=3, + name='DHT12', index=3, number=3, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='DHT22', index=4, number=4, + name='DHT21', index=4, number=4, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='BME280', index=5, number=5, + name='DHT22', index=5, number=5, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='BME680', index=6, number=6, + name='BME280', index=6, number=6, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='MCP9808', index=7, number=7, + name='BME680', index=7, number=7, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( - name='SHTC3', index=8, number=8, + name='MCP9808', index=8, number=8, + serialized_options=None, + type=None), + _descriptor.EnumValueDescriptor( + name='SHTC3', index=9, number=9, serialized_options=None, type=None), ], containing_type=None, serialized_options=None, - serialized_start=2887, - serialized_end=3013, + serialized_start=3422, + serialized_end=3558, ) _sym_db.RegisterEnumDescriptor(_RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE) @@ -663,16 +695,16 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='location_share', full_name='RadioConfig.UserPreferences.location_share', index=20, - number=32, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, + name='location_share_disabled', full_name='RadioConfig.UserPreferences.location_share_disabled', index=20, + number=32, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='gps_operation', full_name='RadioConfig.UserPreferences.gps_operation', index=21, - number=33, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, + name='gps_disabled', full_name='RadioConfig.UserPreferences.gps_disabled', index=21, + number=33, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), @@ -783,7 +815,7 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='serial_module_baud', full_name='RadioConfig.UserPreferences.serial_module_baud', index=37, - number=176, type=13, cpp_type=3, label=1, + number=176, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -797,7 +829,7 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='serial_module_mode', full_name='RadioConfig.UserPreferences.serial_module_mode', index=39, - number=125, type=13, cpp_type=3, label=1, + number=125, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, @@ -901,56 +933,56 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_measurement_enabled', full_name='RadioConfig.UserPreferences.telemetry_module_measurement_enabled', index=54, + name='telemetry_module_environment_measurement_enabled', full_name='RadioConfig.UserPreferences.telemetry_module_environment_measurement_enabled', index=54, number=140, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_screen_enabled', full_name='RadioConfig.UserPreferences.telemetry_module_screen_enabled', index=55, + name='telemetry_module_environment_screen_enabled', full_name='RadioConfig.UserPreferences.telemetry_module_environment_screen_enabled', index=55, number=141, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_read_error_count_threshold', full_name='RadioConfig.UserPreferences.telemetry_module_read_error_count_threshold', index=56, + name='telemetry_module_environment_read_error_count_threshold', full_name='RadioConfig.UserPreferences.telemetry_module_environment_read_error_count_threshold', index=56, number=142, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_update_interval', full_name='RadioConfig.UserPreferences.telemetry_module_update_interval', index=57, + name='telemetry_module_device_update_interval', full_name='RadioConfig.UserPreferences.telemetry_module_device_update_interval', index=57, number=143, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_recovery_interval', full_name='RadioConfig.UserPreferences.telemetry_module_recovery_interval', index=58, + name='telemetry_module_environment_recovery_interval', full_name='RadioConfig.UserPreferences.telemetry_module_environment_recovery_interval', index=58, number=144, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_display_farenheit', full_name='RadioConfig.UserPreferences.telemetry_module_display_farenheit', index=59, + name='telemetry_module_environment_display_fahrenheit', full_name='RadioConfig.UserPreferences.telemetry_module_environment_display_fahrenheit', index=59, number=145, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_sensor_type', full_name='RadioConfig.UserPreferences.telemetry_module_sensor_type', index=60, + name='telemetry_module_environment_sensor_type', full_name='RadioConfig.UserPreferences.telemetry_module_environment_sensor_type', index=60, number=146, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='telemetry_module_sensor_pin', full_name='RadioConfig.UserPreferences.telemetry_module_sensor_pin', index=61, + name='telemetry_module_environment_sensor_pin', full_name='RadioConfig.UserPreferences.telemetry_module_environment_sensor_pin', index=61, number=147, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -1027,87 +1059,103 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_pin_a', full_name='RadioConfig.UserPreferences.rotary1_pin_a', index=72, + name='inputbroker_pin_a', full_name='RadioConfig.UserPreferences.inputbroker_pin_a', index=72, number=161, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_pin_b', full_name='RadioConfig.UserPreferences.rotary1_pin_b', index=73, + name='inputbroker_pin_b', full_name='RadioConfig.UserPreferences.inputbroker_pin_b', index=73, number=162, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_pin_press', full_name='RadioConfig.UserPreferences.rotary1_pin_press', index=74, + name='inputbroker_pin_press', full_name='RadioConfig.UserPreferences.inputbroker_pin_press', index=74, number=163, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_event_cw', full_name='RadioConfig.UserPreferences.rotary1_event_cw', index=75, + name='inputbroker_event_cw', full_name='RadioConfig.UserPreferences.inputbroker_event_cw', index=75, number=164, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_event_ccw', full_name='RadioConfig.UserPreferences.rotary1_event_ccw', index=76, + name='inputbroker_event_ccw', full_name='RadioConfig.UserPreferences.inputbroker_event_ccw', index=76, number=165, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='rotary1_event_press', full_name='RadioConfig.UserPreferences.rotary1_event_press', index=77, + name='inputbroker_event_press', full_name='RadioConfig.UserPreferences.inputbroker_event_press', index=77, number=166, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='canned_message_module_enabled', full_name='RadioConfig.UserPreferences.canned_message_module_enabled', index=78, + name='updown1_enabled', full_name='RadioConfig.UserPreferences.updown1_enabled', index=78, + number=167, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='canned_message_module_enabled', full_name='RadioConfig.UserPreferences.canned_message_module_enabled', index=79, number=170, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='canned_message_module_allow_input_source', full_name='RadioConfig.UserPreferences.canned_message_module_allow_input_source', index=79, + name='canned_message_module_allow_input_source', full_name='RadioConfig.UserPreferences.canned_message_module_allow_input_source', index=80, number=171, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='canned_message_module_send_bell', full_name='RadioConfig.UserPreferences.canned_message_module_send_bell', index=80, + name='canned_message_module_send_bell', full_name='RadioConfig.UserPreferences.canned_message_module_send_bell', index=81, number=173, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='mqtt_encryption_enabled', full_name='RadioConfig.UserPreferences.mqtt_encryption_enabled', index=81, + name='mqtt_encryption_enabled', full_name='RadioConfig.UserPreferences.mqtt_encryption_enabled', index=82, number=174, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='adc_multiplier_override', full_name='RadioConfig.UserPreferences.adc_multiplier_override', index=82, + name='adc_multiplier_override', full_name='RadioConfig.UserPreferences.adc_multiplier_override', index=83, number=175, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='telemetry_module_environment_update_interval', full_name='RadioConfig.UserPreferences.telemetry_module_environment_update_interval', index=84, + number=177, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ + _RADIOCONFIG_USERPREFERENCES_SERIAL_BAUD, + _RADIOCONFIG_USERPREFERENCES_SERIAL_MODE, _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE, ], serialized_options=None, @@ -1117,7 +1165,7 @@ _RADIOCONFIG_USERPREFERENCES = _descriptor.Descriptor( oneofs=[ ], serialized_start=89, - serialized_end=3021, + serialized_end=3566, ) _RADIOCONFIG = _descriptor.Descriptor( @@ -1147,29 +1195,29 @@ _RADIOCONFIG = _descriptor.Descriptor( oneofs=[ ], serialized_start=22, - serialized_end=3021, + serialized_end=3566, ) _RADIOCONFIG_USERPREFERENCES.fields_by_name['region'].enum_type = _REGIONCODE _RADIOCONFIG_USERPREFERENCES.fields_by_name['charge_current'].enum_type = _CHARGECURRENT _RADIOCONFIG_USERPREFERENCES.fields_by_name['role'].enum_type = _ROLE -_RADIOCONFIG_USERPREFERENCES.fields_by_name['location_share'].enum_type = _LOCATIONSHARING -_RADIOCONFIG_USERPREFERENCES.fields_by_name['gps_operation'].enum_type = _GPSOPERATION _RADIOCONFIG_USERPREFERENCES.fields_by_name['gps_format'].enum_type = _GPSCOORDINATEFORMAT -_RADIOCONFIG_USERPREFERENCES.fields_by_name['telemetry_module_sensor_type'].enum_type = _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE -_RADIOCONFIG_USERPREFERENCES.fields_by_name['rotary1_event_cw'].enum_type = _INPUTEVENTCHAR -_RADIOCONFIG_USERPREFERENCES.fields_by_name['rotary1_event_ccw'].enum_type = _INPUTEVENTCHAR -_RADIOCONFIG_USERPREFERENCES.fields_by_name['rotary1_event_press'].enum_type = _INPUTEVENTCHAR +_RADIOCONFIG_USERPREFERENCES.fields_by_name['serial_module_baud'].enum_type = _RADIOCONFIG_USERPREFERENCES_SERIAL_BAUD +_RADIOCONFIG_USERPREFERENCES.fields_by_name['serial_module_mode'].enum_type = _RADIOCONFIG_USERPREFERENCES_SERIAL_MODE +_RADIOCONFIG_USERPREFERENCES.fields_by_name['telemetry_module_environment_sensor_type'].enum_type = _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE +_RADIOCONFIG_USERPREFERENCES.fields_by_name['inputbroker_event_cw'].enum_type = _INPUTEVENTCHAR +_RADIOCONFIG_USERPREFERENCES.fields_by_name['inputbroker_event_ccw'].enum_type = _INPUTEVENTCHAR +_RADIOCONFIG_USERPREFERENCES.fields_by_name['inputbroker_event_press'].enum_type = _INPUTEVENTCHAR _RADIOCONFIG_USERPREFERENCES.containing_type = _RADIOCONFIG +_RADIOCONFIG_USERPREFERENCES_SERIAL_BAUD.containing_type = _RADIOCONFIG_USERPREFERENCES +_RADIOCONFIG_USERPREFERENCES_SERIAL_MODE.containing_type = _RADIOCONFIG_USERPREFERENCES _RADIOCONFIG_USERPREFERENCES_TELEMETRYSENSORTYPE.containing_type = _RADIOCONFIG_USERPREFERENCES _RADIOCONFIG.fields_by_name['preferences'].message_type = _RADIOCONFIG_USERPREFERENCES DESCRIPTOR.message_types_by_name['RadioConfig'] = _RADIOCONFIG DESCRIPTOR.enum_types_by_name['RegionCode'] = _REGIONCODE DESCRIPTOR.enum_types_by_name['Role'] = _ROLE DESCRIPTOR.enum_types_by_name['ChargeCurrent'] = _CHARGECURRENT -DESCRIPTOR.enum_types_by_name['GpsOperation'] = _GPSOPERATION DESCRIPTOR.enum_types_by_name['GpsCoordinateFormat'] = _GPSCOORDINATEFORMAT -DESCRIPTOR.enum_types_by_name['LocationSharing'] = _LOCATIONSHARING DESCRIPTOR.enum_types_by_name['PositionFlags'] = _POSITIONFLAGS DESCRIPTOR.enum_types_by_name['InputEventChar'] = _INPUTEVENTCHAR _sym_db.RegisterFileDescriptor(DESCRIPTOR) diff --git a/meshtastic/telemetry_pb2.py b/meshtastic/telemetry_pb2.py index 3a620e6..ccd6546 100644 --- a/meshtastic/telemetry_pb2.py +++ b/meshtastic/telemetry_pb2.py @@ -17,57 +17,109 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='telemetry.proto', package='', syntax='proto3', - serialized_options=b'Z!github.com/meshtastic/gomeshproto', - serialized_pb=b'\n\x0ftelemetry.proto\"\x92\x01\n\tTelemetry\x12\x13\n\x0btemperature\x18\x01 \x01(\x02\x12\x19\n\x11relative_humidity\x18\x02 \x01(\x02\x12\x1b\n\x13\x62\x61rometric_pressure\x18\x03 \x01(\x02\x12\x16\n\x0egas_resistance\x18\x04 \x01(\x02\x12\x0f\n\x07voltage\x18\x05 \x01(\x02\x12\x0f\n\x07\x63urrent\x18\x06 \x01(\x02\x42#Z!github.com/meshtastic/gomeshprotob\x06proto3' + serialized_options=b'\n\023com.geeksville.meshB\017TelemetryProtosH\003Z!github.com/meshtastic/gomeshproto', + serialized_pb=b'\n\x0ftelemetry.proto\"i\n\rDeviceMetrics\x12\x15\n\rbattery_level\x18\x01 \x01(\r\x12\x0f\n\x07voltage\x18\x02 \x01(\x02\x12\x1b\n\x13\x63hannel_utilization\x18\x03 \x01(\x02\x12\x13\n\x0b\x61ir_util_tx\x18\x04 \x01(\x02\"\x9b\x01\n\x12\x45nvironmentMetrics\x12\x13\n\x0btemperature\x18\x01 \x01(\x02\x12\x19\n\x11relative_humidity\x18\x02 \x01(\x02\x12\x1b\n\x13\x62\x61rometric_pressure\x18\x03 \x01(\x02\x12\x16\n\x0egas_resistance\x18\x04 \x01(\x02\x12\x0f\n\x07voltage\x18\x05 \x01(\x02\x12\x0f\n\x07\x63urrent\x18\x06 \x01(\x02\"\x82\x01\n\tTelemetry\x12\x0c\n\x04time\x18\x01 \x01(\x07\x12(\n\x0e\x64\x65vice_metrics\x18\x02 \x01(\x0b\x32\x0e.DeviceMetricsH\x00\x12\x32\n\x13\x65nvironment_metrics\x18\x03 \x01(\x0b\x32\x13.EnvironmentMetricsH\x00\x42\t\n\x07variantBK\n\x13\x63om.geeksville.meshB\x0fTelemetryProtosH\x03Z!github.com/meshtastic/gomeshprotob\x06proto3' ) -_TELEMETRY = _descriptor.Descriptor( - name='Telemetry', - full_name='Telemetry', +_DEVICEMETRICS = _descriptor.Descriptor( + name='DeviceMetrics', + full_name='DeviceMetrics', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='temperature', full_name='Telemetry.temperature', index=0, - number=1, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=float(0), + name='battery_level', full_name='DeviceMetrics.battery_level', index=0, + number=1, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='relative_humidity', full_name='Telemetry.relative_humidity', index=1, + name='voltage', full_name='DeviceMetrics.voltage', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='barometric_pressure', full_name='Telemetry.barometric_pressure', index=2, + name='channel_utilization', full_name='DeviceMetrics.channel_utilization', index=2, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='gas_resistance', full_name='Telemetry.gas_resistance', index=3, + name='air_util_tx', full_name='DeviceMetrics.air_util_tx', index=3, + number=4, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19, + serialized_end=124, +) + + +_ENVIRONMENTMETRICS = _descriptor.Descriptor( + name='EnvironmentMetrics', + full_name='EnvironmentMetrics', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='temperature', full_name='EnvironmentMetrics.temperature', index=0, + number=1, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='relative_humidity', full_name='EnvironmentMetrics.relative_humidity', index=1, + number=2, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='barometric_pressure', full_name='EnvironmentMetrics.barometric_pressure', index=2, + number=3, type=2, cpp_type=6, label=1, + has_default_value=False, default_value=float(0), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='gas_resistance', full_name='EnvironmentMetrics.gas_resistance', index=3, number=4, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='voltage', full_name='Telemetry.voltage', index=4, + name='voltage', full_name='EnvironmentMetrics.voltage', index=4, number=5, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='current', full_name='Telemetry.current', index=5, + name='current', full_name='EnvironmentMetrics.current', index=5, number=6, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, @@ -85,13 +137,85 @@ _TELEMETRY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=20, - serialized_end=166, + serialized_start=127, + serialized_end=282, ) + +_TELEMETRY = _descriptor.Descriptor( + name='Telemetry', + full_name='Telemetry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='time', full_name='Telemetry.time', index=0, + number=1, type=7, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='device_metrics', full_name='Telemetry.device_metrics', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='environment_metrics', full_name='Telemetry.environment_metrics', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='variant', full_name='Telemetry.variant', + index=0, containing_type=None, fields=[]), + ], + serialized_start=285, + serialized_end=415, +) + +_TELEMETRY.fields_by_name['device_metrics'].message_type = _DEVICEMETRICS +_TELEMETRY.fields_by_name['environment_metrics'].message_type = _ENVIRONMENTMETRICS +_TELEMETRY.oneofs_by_name['variant'].fields.append( + _TELEMETRY.fields_by_name['device_metrics']) +_TELEMETRY.fields_by_name['device_metrics'].containing_oneof = _TELEMETRY.oneofs_by_name['variant'] +_TELEMETRY.oneofs_by_name['variant'].fields.append( + _TELEMETRY.fields_by_name['environment_metrics']) +_TELEMETRY.fields_by_name['environment_metrics'].containing_oneof = _TELEMETRY.oneofs_by_name['variant'] +DESCRIPTOR.message_types_by_name['DeviceMetrics'] = _DEVICEMETRICS +DESCRIPTOR.message_types_by_name['EnvironmentMetrics'] = _ENVIRONMENTMETRICS DESCRIPTOR.message_types_by_name['Telemetry'] = _TELEMETRY _sym_db.RegisterFileDescriptor(DESCRIPTOR) +DeviceMetrics = _reflection.GeneratedProtocolMessageType('DeviceMetrics', (_message.Message,), { + 'DESCRIPTOR' : _DEVICEMETRICS, + '__module__' : 'telemetry_pb2' + # @@protoc_insertion_point(class_scope:DeviceMetrics) + }) +_sym_db.RegisterMessage(DeviceMetrics) + +EnvironmentMetrics = _reflection.GeneratedProtocolMessageType('EnvironmentMetrics', (_message.Message,), { + 'DESCRIPTOR' : _ENVIRONMENTMETRICS, + '__module__' : 'telemetry_pb2' + # @@protoc_insertion_point(class_scope:EnvironmentMetrics) + }) +_sym_db.RegisterMessage(EnvironmentMetrics) + Telemetry = _reflection.GeneratedProtocolMessageType('Telemetry', (_message.Message,), { 'DESCRIPTOR' : _TELEMETRY, '__module__' : 'telemetry_pb2' diff --git a/meshtastic/tests/test_main.py b/meshtastic/tests/test_main.py index b7c2027..10c4b72 100644 --- a/meshtastic/tests/test_main.py +++ b/meshtastic/tests/test_main.py @@ -902,6 +902,27 @@ def test_main_set_valid_wifi_passwd(capsys): mo.assert_called() +@pytest.mark.unit +@pytest.mark.usefixtures("reset_globals") +def test_main_set_invalid_wifi_passwd(capsys): + """Test --set with an invalid value (password must be 8 or more characters)""" + sys.argv = ['', '--set', 'wifi_password', '1234567'] + Globals.getInstance().set_args(sys.argv) + + mocked_node = MagicMock(autospec=Node) + + iface = MagicMock(autospec=SerialInterface) + iface.getNode.return_value = mocked_node + + with patch('meshtastic.serial_interface.SerialInterface', return_value=iface) as mo: + main() + out, err = capsys.readouterr() + assert re.search(r'Connected to radio', out, re.MULTILINE) + assert not re.search(r'Set wifi_password to 1234567', out, re.MULTILINE) + assert re.search(r'Warning: wifi_password must be 8 or more characters.', out, re.MULTILINE) + assert err == '' + mo.assert_called() + @pytest.mark.unit @pytest.mark.usefixtures("reset_globals") def test_main_set_valid_camel_case(capsys): @@ -2205,12 +2226,12 @@ def test_main_setPref_valid_field_invalid_enum_where_enums_are_camel_cased_value prefs = radioConfig.preferences with caplog.at_level(logging.DEBUG): - setPref(prefs, 'location_share', 'foo') + setPref(prefs, 'region', 'foo') out, err = capsys.readouterr() - assert re.search(r'location_share does not have an enum called foo', out, re.MULTILINE) + assert re.search(r'region does not have an enum called foo', out, re.MULTILINE) assert re.search(r'Choices in sorted order are', out, re.MULTILINE) - assert re.search(r'LocDisabled', out, re.MULTILINE) - assert re.search(r'LocEnabled', out, re.MULTILINE) + assert re.search(r'ANZ', out, re.MULTILINE) + assert re.search(r'CN', out, re.MULTILINE) assert err == ''