meshtastic 0.0.143 → 0.0.145

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +27 -0
  3. data/.gitignore +29 -0
  4. data/.rubocop.yml +35 -0
  5. data/.rubocop_todo.yml +134 -0
  6. data/.ruby-gemset +1 -0
  7. data/.ruby-version +1 -0
  8. data/AUTOGEN_meshtastic_protobufs.sh +28 -0
  9. data/CHANGELOG_BETWEEN_TAGS.txt +196 -0
  10. data/CODE_OF_CONDUCT.md +84 -0
  11. data/Gemfile +23 -0
  12. data/LICENSE +21 -0
  13. data/README.md +106 -0
  14. data/Rakefile +21 -0
  15. data/bin/meshtastic_autoinc_version +38 -0
  16. data/build_meshtastic_gem.sh +58 -0
  17. data/git_commit.sh +29 -0
  18. data/lib/meshtastic/admin.rb +24 -0
  19. data/lib/meshtastic/admin_pb.rb +31 -0
  20. data/lib/meshtastic/apponly.rb +24 -0
  21. data/lib/meshtastic/apponly_pb.rb +18 -0
  22. data/lib/meshtastic/atak.rb +24 -0
  23. data/lib/meshtastic/atak_pb.rb +22 -0
  24. data/lib/meshtastic/cannedmessages.rb +24 -0
  25. data/lib/meshtastic/cannedmessages_pb.rb +15 -0
  26. data/lib/meshtastic/channel.rb +24 -0
  27. data/lib/meshtastic/channel_pb.rb +18 -0
  28. data/lib/meshtastic/clientonly.rb +24 -0
  29. data/lib/meshtastic/clientonly_pb.rb +18 -0
  30. data/lib/meshtastic/config.rb +24 -0
  31. data/lib/meshtastic/config_pb.rb +42 -0
  32. data/lib/meshtastic/connection_status.rb +24 -0
  33. data/lib/meshtastic/connection_status_pb.rb +20 -0
  34. data/lib/meshtastic/device_ui_pb.rb +23 -0
  35. data/lib/meshtastic/deviceonly.rb +24 -0
  36. data/lib/meshtastic/deviceonly_pb.rb +28 -0
  37. data/lib/meshtastic/interdevice_pb.rb +17 -0
  38. data/lib/meshtastic/localonly.rb +24 -0
  39. data/lib/meshtastic/localonly_pb.rb +19 -0
  40. data/lib/meshtastic/mesh_interface.rb +596 -0
  41. data/lib/meshtastic/mesh_pb.rb +65 -0
  42. data/lib/meshtastic/module_config.rb +24 -0
  43. data/lib/meshtastic/module_config_pb.rb +36 -0
  44. data/lib/meshtastic/mqtt.rb +383 -0
  45. data/lib/meshtastic/mqtt_pb.rb +19 -0
  46. data/lib/meshtastic/paxcount.rb +24 -0
  47. data/lib/meshtastic/paxcount_pb.rb +15 -0
  48. data/lib/meshtastic/portnums.rb +24 -0
  49. data/lib/meshtastic/portnums_pb.rb +15 -0
  50. data/lib/meshtastic/powermon_pb.rb +18 -0
  51. data/lib/meshtastic/remote_hardware.rb +24 -0
  52. data/lib/meshtastic/remote_hardware_pb.rb +16 -0
  53. data/lib/meshtastic/rtttl.rb +24 -0
  54. data/lib/meshtastic/rtttl_pb.rb +15 -0
  55. data/lib/meshtastic/serial_interface.rb +550 -0
  56. data/lib/meshtastic/storeforward.rb +24 -0
  57. data/lib/meshtastic/storeforward_pb.rb +19 -0
  58. data/lib/meshtastic/stream_interface.rb +132 -0
  59. data/lib/meshtastic/telemetry.rb +24 -0
  60. data/lib/meshtastic/telemetry_pb.rb +24 -0
  61. data/lib/meshtastic/util.rb +70 -0
  62. data/lib/meshtastic/version.rb +5 -0
  63. data/lib/meshtastic/xmodem.rb +24 -0
  64. data/lib/meshtastic/xmodem_pb.rb +16 -0
  65. data/lib/meshtastic.rb +71 -0
  66. data/lib/nanopb_pb.rb +19 -0
  67. data/meshtastic.gemspec +73 -0
  68. data/reinstall_meshtastic_gemset.sh +29 -0
  69. data/sig/meshtastic.rbs +4 -0
  70. data/spec/lib/meshtastic/admin_pb_spec.rb +7 -0
  71. data/spec/lib/meshtastic/admin_spec.rb +6 -0
  72. data/spec/lib/meshtastic/apponly_pb_spec.rb +6 -0
  73. data/spec/lib/meshtastic/apponly_spec.rb +6 -0
  74. data/spec/lib/meshtastic/atak_pb_spec.rb +6 -0
  75. data/spec/lib/meshtastic/atak_spec.rb +6 -0
  76. data/spec/lib/meshtastic/cannedmessages_pb_spec.rb +6 -0
  77. data/spec/lib/meshtastic/cannedmessages_spec.rb +6 -0
  78. data/spec/lib/meshtastic/channel_pb_spec.rb +6 -0
  79. data/spec/lib/meshtastic/channel_spec.rb +6 -0
  80. data/spec/lib/meshtastic/clientonly_pb_spec.rb +6 -0
  81. data/spec/lib/meshtastic/clientonly_spec.rb +6 -0
  82. data/spec/lib/meshtastic/config_pb_spec.rb +6 -0
  83. data/spec/lib/meshtastic/config_spec.rb +6 -0
  84. data/spec/lib/meshtastic/connection_status_pb_spec.rb +6 -0
  85. data/spec/lib/meshtastic/connection_status_spec.rb +6 -0
  86. data/spec/lib/meshtastic/device_ui_pb_spec.rb +6 -0
  87. data/spec/lib/meshtastic/deviceonly_pb_spec.rb +6 -0
  88. data/spec/lib/meshtastic/deviceonly_spec.rb +6 -0
  89. data/spec/lib/meshtastic/interdevice_pb_spec.rb +6 -0
  90. data/spec/lib/meshtastic/localonly_pb_spec.rb +6 -0
  91. data/spec/lib/meshtastic/localonly_spec.rb +6 -0
  92. data/spec/lib/meshtastic/mesh_interface_spec.rb +6 -0
  93. data/spec/lib/meshtastic/mesh_pb_spec.rb +6 -0
  94. data/spec/lib/meshtastic/module_config_pb_spec.rb +6 -0
  95. data/spec/lib/meshtastic/module_config_spec.rb +6 -0
  96. data/spec/lib/meshtastic/mqtt_pb_spec.rb +6 -0
  97. data/spec/lib/meshtastic/mqtt_spec.rb +6 -0
  98. data/spec/lib/meshtastic/paxcount_pb_spec.rb +6 -0
  99. data/spec/lib/meshtastic/paxcount_spec.rb +6 -0
  100. data/spec/lib/meshtastic/portnums_pb_spec.rb +6 -0
  101. data/spec/lib/meshtastic/portnums_spec.rb +6 -0
  102. data/spec/lib/meshtastic/powermon_pb_spec.rb +6 -0
  103. data/spec/lib/meshtastic/remote_hardware_pb_spec.rb +6 -0
  104. data/spec/lib/meshtastic/remote_hardware_spec.rb +6 -0
  105. data/spec/lib/meshtastic/rtttl_pb_spec.rb +6 -0
  106. data/spec/lib/meshtastic/rtttl_spec.rb +6 -0
  107. data/spec/lib/meshtastic/serial_interface_spec.rb +6 -0
  108. data/spec/lib/meshtastic/storeforward_pb_spec.rb +6 -0
  109. data/spec/lib/meshtastic/storeforward_spec.rb +6 -0
  110. data/spec/lib/meshtastic/stream_interface_spec.rb +6 -0
  111. data/spec/lib/meshtastic/telemetry_pb_spec.rb +6 -0
  112. data/spec/lib/meshtastic/telemetry_spec.rb +6 -0
  113. data/spec/lib/meshtastic/util_spec.rb +6 -0
  114. data/spec/lib/meshtastic/version_spec.rb +17 -0
  115. data/spec/lib/meshtastic/xmodem_pb_spec.rb +6 -0
  116. data/spec/lib/meshtastic/xmodem_spec.rb +6 -0
  117. data/spec/lib/meshtastic_spec.rb +6 -0
  118. data/spec/lib/nanopb_pb_spec.rb +6 -0
  119. data/spec/spec_helper.rb +3 -0
  120. data/upgrade_Gemfile_gems.sh +21 -0
  121. data/upgrade_gem.sh +4 -0
  122. data/upgrade_meshtastic.sh +13 -0
  123. data/upgrade_ruby.sh +45 -0
  124. metadata +126 -3
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'meshtastic/connection_status_pb'
4
+
5
+ # Plugin used to interact with Meshtastic nodes
6
+ module Meshtastic
7
+ module ConnectionStatus
8
+ # Author(s):: 0day Inc. <support@0dayinc.com>
9
+
10
+ public_class_method def self.authors
11
+ "AUTHOR(S):
12
+ 0day Inc. <support@0dayinc.com>
13
+ "
14
+ end
15
+
16
+ # Display Usage for this Module
17
+
18
+ public_class_method def self.help
19
+ puts "USAGE:
20
+ #{self}.authors
21
+ "
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: meshtastic/connection_status.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n\"meshtastic/connection_status.proto\x12\nmeshtastic\"\xb1\x02\n\x16\x44\x65viceConnectionStatus\x12\x33\n\x04wifi\x18\x01 \x01(\x0b\x32 .meshtastic.WifiConnectionStatusH\x00\x88\x01\x01\x12;\n\x08\x65thernet\x18\x02 \x01(\x0b\x32$.meshtastic.EthernetConnectionStatusH\x01\x88\x01\x01\x12=\n\tbluetooth\x18\x03 \x01(\x0b\x32%.meshtastic.BluetoothConnectionStatusH\x02\x88\x01\x01\x12\x37\n\x06serial\x18\x04 \x01(\x0b\x32\".meshtastic.SerialConnectionStatusH\x03\x88\x01\x01\x42\x07\n\x05_wifiB\x0b\n\t_ethernetB\x0c\n\n_bluetoothB\t\n\x07_serial\"g\n\x14WifiConnectionStatus\x12\x33\n\x06status\x18\x01 \x01(\x0b\x32#.meshtastic.NetworkConnectionStatus\x12\x0c\n\x04ssid\x18\x02 \x01(\t\x12\x0c\n\x04rssi\x18\x03 \x01(\x05\"O\n\x18\x45thernetConnectionStatus\x12\x33\n\x06status\x18\x01 \x01(\x0b\x32#.meshtastic.NetworkConnectionStatus\"{\n\x17NetworkConnectionStatus\x12\x12\n\nip_address\x18\x01 \x01(\x07\x12\x14\n\x0cis_connected\x18\x02 \x01(\x08\x12\x19\n\x11is_mqtt_connected\x18\x03 \x01(\x08\x12\x1b\n\x13is_syslog_connected\x18\x04 \x01(\x08\"L\n\x19\x42luetoothConnectionStatus\x12\x0b\n\x03pin\x18\x01 \x01(\r\x12\x0c\n\x04rssi\x18\x02 \x01(\x05\x12\x14\n\x0cis_connected\x18\x03 \x01(\x08\"<\n\x16SerialConnectionStatus\x12\x0c\n\x04\x62\x61ud\x18\x01 \x01(\r\x12\x14\n\x0cis_connected\x18\x02 \x01(\x08\x42\x66\n\x14org.meshtastic.protoB\x10\x43onnStatusProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x62\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Meshtastic
14
+ DeviceConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.DeviceConnectionStatus").msgclass
15
+ WifiConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.WifiConnectionStatus").msgclass
16
+ EthernetConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.EthernetConnectionStatus").msgclass
17
+ NetworkConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NetworkConnectionStatus").msgclass
18
+ BluetoothConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.BluetoothConnectionStatus").msgclass
19
+ SerialConnectionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.SerialConnectionStatus").msgclass
20
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: meshtastic/device_ui.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n\x1ameshtastic/device_ui.proto\x12\nmeshtastic\"\xc0\x05\n\x0e\x44\x65viceUIConfig\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x19\n\x11screen_brightness\x18\x02 \x01(\r\x12\x16\n\x0escreen_timeout\x18\x03 \x01(\r\x12\x13\n\x0bscreen_lock\x18\x04 \x01(\x08\x12\x15\n\rsettings_lock\x18\x05 \x01(\x08\x12\x10\n\x08pin_code\x18\x06 \x01(\r\x12 \n\x05theme\x18\x07 \x01(\x0e\x32\x11.meshtastic.Theme\x12\x15\n\ralert_enabled\x18\x08 \x01(\x08\x12\x16\n\x0e\x62\x61nner_enabled\x18\t \x01(\x08\x12\x14\n\x0cring_tone_id\x18\n \x01(\r\x12&\n\x08language\x18\x0b \x01(\x0e\x32\x14.meshtastic.Language\x12+\n\x0bnode_filter\x18\x0c \x01(\x0b\x32\x16.meshtastic.NodeFilter\x12\x31\n\x0enode_highlight\x18\r \x01(\x0b\x32\x19.meshtastic.NodeHighlight\x12\x18\n\x10\x63\x61libration_data\x18\x0e \x01(\x0c\x12!\n\x08map_data\x18\x0f \x01(\x0b\x32\x0f.meshtastic.Map\x12-\n\x0c\x63ompass_mode\x18\x10 \x01(\x0e\x32\x17.meshtastic.CompassMode\x12\x18\n\x10screen_rgb_color\x18\x11 \x01(\r\x12\x1b\n\x13is_clockface_analog\x18\x12 \x01(\x08\x12\x42\n\ngps_format\x18\x13 \x01(\x0e\x32..meshtastic.DeviceUIConfig.GpsCoordinateFormat\"V\n\x13GpsCoordinateFormat\x12\x07\n\x03\x44\x45\x43\x10\x00\x12\x07\n\x03\x44MS\x10\x01\x12\x07\n\x03UTM\x10\x02\x12\x08\n\x04MGRS\x10\x03\x12\x07\n\x03OLC\x10\x04\x12\x08\n\x04OSGR\x10\x05\x12\x07\n\x03MLS\x10\x06\"\xa7\x01\n\nNodeFilter\x12\x16\n\x0eunknown_switch\x18\x01 \x01(\x08\x12\x16\n\x0eoffline_switch\x18\x02 \x01(\x08\x12\x19\n\x11public_key_switch\x18\x03 \x01(\x08\x12\x11\n\thops_away\x18\x04 \x01(\x05\x12\x17\n\x0fposition_switch\x18\x05 \x01(\x08\x12\x11\n\tnode_name\x18\x06 \x01(\t\x12\x0f\n\x07\x63hannel\x18\x07 \x01(\x05\"~\n\rNodeHighlight\x12\x13\n\x0b\x63hat_switch\x18\x01 \x01(\x08\x12\x17\n\x0fposition_switch\x18\x02 \x01(\x08\x12\x18\n\x10telemetry_switch\x18\x03 \x01(\x08\x12\x12\n\niaq_switch\x18\x04 \x01(\x08\x12\x11\n\tnode_name\x18\x05 \x01(\t\"=\n\x08GeoPoint\x12\x0c\n\x04zoom\x18\x01 \x01(\x05\x12\x10\n\x08latitude\x18\x02 \x01(\x05\x12\x11\n\tlongitude\x18\x03 \x01(\x05\"L\n\x03Map\x12\"\n\x04home\x18\x01 \x01(\x0b\x32\x14.meshtastic.GeoPoint\x12\r\n\x05style\x18\x02 \x01(\t\x12\x12\n\nfollow_gps\x18\x03 \x01(\x08*>\n\x0b\x43ompassMode\x12\x0b\n\x07\x44YNAMIC\x10\x00\x12\x0e\n\nFIXED_RING\x10\x01\x12\x12\n\x0e\x46REEZE_HEADING\x10\x02*%\n\x05Theme\x12\x08\n\x04\x44\x41RK\x10\x00\x12\t\n\x05LIGHT\x10\x01\x12\x07\n\x03RED\x10\x02*\xc0\x02\n\x08Language\x12\x0b\n\x07\x45NGLISH\x10\x00\x12\n\n\x06\x46RENCH\x10\x01\x12\n\n\x06GERMAN\x10\x02\x12\x0b\n\x07ITALIAN\x10\x03\x12\x0e\n\nPORTUGUESE\x10\x04\x12\x0b\n\x07SPANISH\x10\x05\x12\x0b\n\x07SWEDISH\x10\x06\x12\x0b\n\x07\x46INNISH\x10\x07\x12\n\n\x06POLISH\x10\x08\x12\x0b\n\x07TURKISH\x10\t\x12\x0b\n\x07SERBIAN\x10\n\x12\x0b\n\x07RUSSIAN\x10\x0b\x12\t\n\x05\x44UTCH\x10\x0c\x12\t\n\x05GREEK\x10\r\x12\r\n\tNORWEGIAN\x10\x0e\x12\r\n\tSLOVENIAN\x10\x0f\x12\r\n\tUKRAINIAN\x10\x10\x12\r\n\tBULGARIAN\x10\x11\x12\t\n\x05\x43ZECH\x10\x12\x12\n\n\x06\x44\x41NISH\x10\x13\x12\x16\n\x12SIMPLIFIED_CHINESE\x10\x1e\x12\x17\n\x13TRADITIONAL_CHINESE\x10\x1f\x42\x64\n\x14org.meshtastic.protoB\x0e\x44\x65viceUIProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x62\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Meshtastic
14
+ DeviceUIConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.DeviceUIConfig").msgclass
15
+ DeviceUIConfig::GpsCoordinateFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.DeviceUIConfig.GpsCoordinateFormat").enummodule
16
+ NodeFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NodeFilter").msgclass
17
+ NodeHighlight = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NodeHighlight").msgclass
18
+ GeoPoint = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.GeoPoint").msgclass
19
+ Map = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.Map").msgclass
20
+ CompassMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.CompassMode").enummodule
21
+ Theme = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.Theme").enummodule
22
+ Language = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.Language").enummodule
23
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'meshtastic/deviceonly_pb'
4
+
5
+ # Plugin used to interact with Meshtastic nodes
6
+ module Meshtastic
7
+ module Deviceonly
8
+ # Author(s):: 0day Inc. <support@0dayinc.com>
9
+
10
+ public_class_method def self.authors
11
+ "AUTHOR(S):
12
+ 0day Inc. <support@0dayinc.com>
13
+ "
14
+ end
15
+
16
+ # Display Usage for this Module
17
+
18
+ public_class_method def self.help
19
+ puts "USAGE:
20
+ #{self}.authors
21
+ "
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: meshtastic/deviceonly.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'meshtastic/channel_pb'
8
+ require 'meshtastic/config_pb'
9
+ require 'meshtastic/localonly_pb'
10
+ require 'meshtastic/mesh_pb'
11
+ require 'meshtastic/telemetry_pb'
12
+ require 'nanopb_pb'
13
+
14
+
15
+ descriptor_data = "\n\x1bmeshtastic/deviceonly.proto\x12\nmeshtastic\x1a\x18meshtastic/channel.proto\x1a\x17meshtastic/config.proto\x1a\x1ameshtastic/localonly.proto\x1a\x15meshtastic/mesh.proto\x1a\x1ameshtastic/telemetry.proto\x1a\x0cnanopb.proto\"\x90\x01\n\x0cPositionLite\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\x04 \x01(\x07\x12\x37\n\x0flocation_source\x18\x05 \x01(\x0e\x32\x1e.meshtastic.Position.LocSource\"\x82\x02\n\x08UserLite\x12\x13\n\x07macaddr\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x11\n\tlong_name\x18\x02 \x01(\t\x12\x12\n\nshort_name\x18\x03 \x01(\t\x12+\n\x08hw_model\x18\x04 \x01(\x0e\x32\x19.meshtastic.HardwareModel\x12\x13\n\x0bis_licensed\x18\x05 \x01(\x08\x12\x32\n\x04role\x18\x06 \x01(\x0e\x32$.meshtastic.Config.DeviceConfig.Role\x12\x12\n\npublic_key\x18\x07 \x01(\x0c\x12\x1c\n\x0fis_unmessagable\x18\t \x01(\x08H\x00\x88\x01\x01\x42\x12\n\x10_is_unmessagable\"\xd5\x02\n\x0cNodeInfoLite\x12\x0b\n\x03num\x18\x01 \x01(\r\x12\"\n\x04user\x18\x02 \x01(\x0b\x32\x14.meshtastic.UserLite\x12*\n\x08position\x18\x03 \x01(\x0b\x32\x18.meshtastic.PositionLite\x12\x0b\n\x03snr\x18\x04 \x01(\x02\x12\x12\n\nlast_heard\x18\x05 \x01(\x07\x12\x31\n\x0e\x64\x65vice_metrics\x18\x06 \x01(\x0b\x32\x19.meshtastic.DeviceMetrics\x12\x0f\n\x07\x63hannel\x18\x07 \x01(\r\x12\x10\n\x08via_mqtt\x18\x08 \x01(\x08\x12\x16\n\thops_away\x18\t \x01(\rH\x00\x88\x01\x01\x12\x13\n\x0bis_favorite\x18\n \x01(\x08\x12\x12\n\nis_ignored\x18\x0b \x01(\x08\x12\x10\n\x08next_hop\x18\x0c \x01(\r\x12\x10\n\x08\x62itfield\x18\r \x01(\rB\x0c\n\n_hops_away\"\xeb\x02\n\x0b\x44\x65viceState\x12\'\n\x07my_node\x18\x02 \x01(\x0b\x32\x16.meshtastic.MyNodeInfo\x12\x1f\n\x05owner\x18\x03 \x01(\x0b\x32\x10.meshtastic.User\x12-\n\rreceive_queue\x18\x05 \x03(\x0b\x32\x16.meshtastic.MeshPacket\x12\x0f\n\x07version\x18\x08 \x01(\r\x12/\n\x0frx_text_message\x18\x07 \x01(\x0b\x32\x16.meshtastic.MeshPacket\x12\x13\n\x07no_save\x18\t \x01(\x08\x42\x02\x18\x01\x12\x19\n\rdid_gps_reset\x18\x0b \x01(\x08\x42\x02\x18\x01\x12+\n\x0brx_waypoint\x18\x0c \x01(\x0b\x32\x16.meshtastic.MeshPacket\x12\x44\n\x19node_remote_hardware_pins\x18\r \x03(\x0b\x32!.meshtastic.NodeRemoteHardwarePin\"t\n\x0cNodeDatabase\x12\x0f\n\x07version\x18\x01 \x01(\r\x12S\n\x05nodes\x18\x02 \x03(\x0b\x32\x18.meshtastic.NodeInfoLiteB*\x92?\'\x92\x01$std::vector<meshtastic_NodeInfoLite>\"E\n\x0b\x43hannelFile\x12%\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x13.meshtastic.Channel\x12\x0f\n\x07version\x18\x02 \x01(\r\"\xe2\x01\n\x11\x42\x61\x63kupPreferences\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\ttimestamp\x18\x02 \x01(\x07\x12\'\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x17.meshtastic.LocalConfig\x12\x34\n\rmodule_config\x18\x04 \x01(\x0b\x32\x1d.meshtastic.LocalModuleConfig\x12)\n\x08\x63hannels\x18\x05 \x01(\x0b\x32\x17.meshtastic.ChannelFile\x12\x1f\n\x05owner\x18\x06 \x01(\x0b\x32\x10.meshtastic.UserBn\n\x14org.meshtastic.protoB\nDeviceOnlyZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x92?\x0b\xc2\x01\x08<vector>b\x06proto3"
16
+
17
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
18
+ pool.add_serialized_file(descriptor_data)
19
+
20
+ module Meshtastic
21
+ PositionLite = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.PositionLite").msgclass
22
+ UserLite = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.UserLite").msgclass
23
+ NodeInfoLite = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NodeInfoLite").msgclass
24
+ DeviceState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.DeviceState").msgclass
25
+ NodeDatabase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.NodeDatabase").msgclass
26
+ ChannelFile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.ChannelFile").msgclass
27
+ BackupPreferences = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.BackupPreferences").msgclass
28
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: meshtastic/interdevice.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n\x1cmeshtastic/interdevice.proto\x12\nmeshtastic\"j\n\nSensorData\x12%\n\x04type\x18\x01 \x01(\x0e\x32\x17.meshtastic.MessageType\x12\x15\n\x0b\x66loat_value\x18\x02 \x01(\x02H\x00\x12\x16\n\x0cuint32_value\x18\x03 \x01(\rH\x00\x42\x06\n\x04\x64\x61ta\"V\n\x12InterdeviceMessage\x12\x0e\n\x04nmea\x18\x01 \x01(\tH\x00\x12(\n\x06sensor\x18\x02 \x01(\x0b\x32\x16.meshtastic.SensorDataH\x00\x42\x06\n\x04\x64\x61ta*\xd5\x01\n\x0bMessageType\x12\x07\n\x03\x41\x43K\x10\x00\x12\x15\n\x10\x43OLLECT_INTERVAL\x10\xa0\x01\x12\x0c\n\x07\x42\x45\x45P_ON\x10\xa1\x01\x12\r\n\x08\x42\x45\x45P_OFF\x10\xa2\x01\x12\r\n\x08SHUTDOWN\x10\xa3\x01\x12\r\n\x08POWER_ON\x10\xa4\x01\x12\x0f\n\nSCD41_TEMP\x10\xb0\x01\x12\x13\n\x0eSCD41_HUMIDITY\x10\xb1\x01\x12\x0e\n\tSCD41_CO2\x10\xb2\x01\x12\x0f\n\nAHT20_TEMP\x10\xb3\x01\x12\x13\n\x0e\x41HT20_HUMIDITY\x10\xb4\x01\x12\x0f\n\nTVOC_INDEX\x10\xb5\x01\x42g\n\x14org.meshtastic.protoB\x11InterdeviceProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x62\x06proto3"
9
+
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Meshtastic
14
+ SensorData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.SensorData").msgclass
15
+ InterdeviceMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.InterdeviceMessage").msgclass
16
+ MessageType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.MessageType").enummodule
17
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'meshtastic/localonly_pb'
4
+
5
+ # Plugin used to interact with Meshtastic nodes
6
+ module Meshtastic
7
+ module Localonly
8
+ # Author(s):: 0day Inc. <support@0dayinc.com>
9
+
10
+ public_class_method def self.authors
11
+ "AUTHOR(S):
12
+ 0day Inc. <support@0dayinc.com>
13
+ "
14
+ end
15
+
16
+ # Display Usage for this Module
17
+
18
+ public_class_method def self.help
19
+ puts "USAGE:
20
+ #{self}.authors
21
+ "
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: meshtastic/localonly.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'meshtastic/config_pb'
8
+ require 'meshtastic/module_config_pb'
9
+
10
+
11
+ descriptor_data = "\n\x1ameshtastic/localonly.proto\x12\nmeshtastic\x1a\x17meshtastic/config.proto\x1a\x1emeshtastic/module_config.proto\"\xb2\x03\n\x0bLocalConfig\x12/\n\x06\x64\x65vice\x18\x01 \x01(\x0b\x32\x1f.meshtastic.Config.DeviceConfig\x12\x33\n\x08position\x18\x02 \x01(\x0b\x32!.meshtastic.Config.PositionConfig\x12-\n\x05power\x18\x03 \x01(\x0b\x32\x1e.meshtastic.Config.PowerConfig\x12\x31\n\x07network\x18\x04 \x01(\x0b\x32 .meshtastic.Config.NetworkConfig\x12\x31\n\x07\x64isplay\x18\x05 \x01(\x0b\x32 .meshtastic.Config.DisplayConfig\x12+\n\x04lora\x18\x06 \x01(\x0b\x32\x1d.meshtastic.Config.LoRaConfig\x12\x35\n\tbluetooth\x18\x07 \x01(\x0b\x32\".meshtastic.Config.BluetoothConfig\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x33\n\x08security\x18\t \x01(\x0b\x32!.meshtastic.Config.SecurityConfig\"\xfb\x06\n\x11LocalModuleConfig\x12\x31\n\x04mqtt\x18\x01 \x01(\x0b\x32#.meshtastic.ModuleConfig.MQTTConfig\x12\x35\n\x06serial\x18\x02 \x01(\x0b\x32%.meshtastic.ModuleConfig.SerialConfig\x12R\n\x15\x65xternal_notification\x18\x03 \x01(\x0b\x32\x33.meshtastic.ModuleConfig.ExternalNotificationConfig\x12\x42\n\rstore_forward\x18\x04 \x01(\x0b\x32+.meshtastic.ModuleConfig.StoreForwardConfig\x12<\n\nrange_test\x18\x05 \x01(\x0b\x32(.meshtastic.ModuleConfig.RangeTestConfig\x12;\n\ttelemetry\x18\x06 \x01(\x0b\x32(.meshtastic.ModuleConfig.TelemetryConfig\x12\x44\n\x0e\x63\x61nned_message\x18\x07 \x01(\x0b\x32,.meshtastic.ModuleConfig.CannedMessageConfig\x12\x33\n\x05\x61udio\x18\t \x01(\x0b\x32$.meshtastic.ModuleConfig.AudioConfig\x12\x46\n\x0fremote_hardware\x18\n \x01(\x0b\x32-.meshtastic.ModuleConfig.RemoteHardwareConfig\x12\x42\n\rneighbor_info\x18\x0b \x01(\x0b\x32+.meshtastic.ModuleConfig.NeighborInfoConfig\x12H\n\x10\x61mbient_lighting\x18\x0c \x01(\x0b\x32..meshtastic.ModuleConfig.AmbientLightingConfig\x12H\n\x10\x64\x65tection_sensor\x18\r \x01(\x0b\x32..meshtastic.ModuleConfig.DetectionSensorConfig\x12=\n\npaxcounter\x18\x0e \x01(\x0b\x32).meshtastic.ModuleConfig.PaxcounterConfig\x12\x0f\n\x07version\x18\x08 \x01(\rBe\n\x14org.meshtastic.protoB\x0fLocalOnlyProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00\x62\x06proto3"
12
+
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
15
+
16
+ module Meshtastic
17
+ LocalConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.LocalConfig").msgclass
18
+ LocalModuleConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("meshtastic.LocalModuleConfig").msgclass
19
+ end