meshtastic 0.0.11 → 0.0.13
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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +20 -6
- data/AUTOGEN_meshtastic_protobufs.sh +1 -1
- data/Gemfile +2 -1
- data/lib/meshtastic/mqtt.rb +56 -41
- data/lib/meshtastic/version.rb +1 -1
- data/lib/meshtastic.rb +26 -22
- data/lib/nanopb_pb.rb +76 -0
- data/spec/lib/nanopb_pb_spec.rb +6 -0
- data/upgrade_Gemfile_gems.sh +10 -6
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3526ab71260935428991ee992ab7f28de3b0cfb3f94dea2849654eaa15aa924d
|
4
|
+
data.tar.gz: 878a6a3c9e051296f6fecf3719748bc1171e369ca4ae63b910ab2417494ca0c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1826305d9e558ad177c438378b43d67b9736f0113e826f04e1d0f2a2579f185a09a2a45f4525494a92a3199eb716e1a3a8754ae76958b5e639a11bc0737256a4
|
7
|
+
data.tar.gz: 6eea890ed77dea25e1c7bd303d5ad4ba4bbda641e64435fd9e8603062bee5511e085797dde5813a36b1fcd79976a28788c2e4ec36d4f46200eddc8a0548a82d3
|
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2024-04-25
|
3
|
+
# on 2024-04-25 22:06:14 UTC using RuboCop version 1.63.3.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -14,7 +14,14 @@ Bundler/OrderedGems:
|
|
14
14
|
Exclude:
|
15
15
|
- 'Gemfile'
|
16
16
|
|
17
|
-
# Offense count:
|
17
|
+
# Offense count: 1
|
18
|
+
# This cop supports safe autocorrection (--autocorrect).
|
19
|
+
# Configuration parameters: AllowInHeredoc.
|
20
|
+
Layout/TrailingWhitespace:
|
21
|
+
Exclude:
|
22
|
+
- 'lib/meshtastic.rb'
|
23
|
+
|
24
|
+
# Offense count: 43
|
18
25
|
# Configuration parameters: AllowComments, AllowEmptyLambdas.
|
19
26
|
Lint/EmptyBlock:
|
20
27
|
Enabled: false
|
@@ -36,7 +43,7 @@ Metrics/BlockLength:
|
|
36
43
|
- 'lib/meshtastic/mesh_pb.rb'
|
37
44
|
- 'lib/meshtastic/module_config_pb.rb'
|
38
45
|
|
39
|
-
# Offense count:
|
46
|
+
# Offense count: 44
|
40
47
|
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
|
41
48
|
# SupportedStyles: snake_case, normalcase, non_integer
|
42
49
|
# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64
|
@@ -45,20 +52,21 @@ Naming/VariableNumber:
|
|
45
52
|
- 'lib/meshtastic/config_pb.rb'
|
46
53
|
- 'lib/meshtastic/mesh_pb.rb'
|
47
54
|
- 'lib/meshtastic/module_config_pb.rb'
|
55
|
+
- 'lib/nanopb_pb.rb'
|
48
56
|
|
49
57
|
# Offense count: 20
|
50
58
|
# Configuration parameters: AllowedConstants.
|
51
59
|
Style/Documentation:
|
52
60
|
Enabled: false
|
53
61
|
|
54
|
-
# Offense count:
|
62
|
+
# Offense count: 21
|
55
63
|
# This cop supports unsafe autocorrection (--autocorrect-all).
|
56
64
|
# Configuration parameters: EnforcedStyle.
|
57
65
|
# SupportedStyles: always, always_true, never
|
58
66
|
Style/FrozenStringLiteralComment:
|
59
67
|
Enabled: false
|
60
68
|
|
61
|
-
# Offense count:
|
69
|
+
# Offense count: 21
|
62
70
|
# This cop supports safe autocorrection (--autocorrect).
|
63
71
|
# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
|
64
72
|
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
|
@@ -66,7 +74,13 @@ Style/FrozenStringLiteralComment:
|
|
66
74
|
Style/HashSyntax:
|
67
75
|
Enabled: false
|
68
76
|
|
69
|
-
# Offense count:
|
77
|
+
# Offense count: 5
|
78
|
+
# This cop supports safe autocorrection (--autocorrect).
|
79
|
+
Style/RedundantConstantBase:
|
80
|
+
Exclude:
|
81
|
+
- 'lib/nanopb_pb.rb'
|
82
|
+
|
83
|
+
# Offense count: 457
|
70
84
|
# This cop supports safe autocorrection (--autocorrect).
|
71
85
|
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
72
86
|
# SupportedStyles: single_quotes, double_quotes
|
@@ -18,7 +18,7 @@ if [[ ! -d $mesh_protobufs_root ]]; then
|
|
18
18
|
fi
|
19
19
|
|
20
20
|
cd $mesh_protobufs_root
|
21
|
-
sudo protoc --proto_path=. --ruby_out=$mesh_protobufs_out ./meshtastic/*.proto
|
21
|
+
sudo protoc --proto_path=. --ruby_out=$mesh_protobufs_out nanopb.proto ./meshtastic/*.proto
|
22
22
|
|
23
23
|
if (( $? == 0 )); then
|
24
24
|
echo "Updated meshtastic protobufs reside in ${mesh_protobufs_out}"
|
data/Gemfile
CHANGED
@@ -15,7 +15,8 @@ gem 'brakeman', '6.1.2'
|
|
15
15
|
gem 'bundler', '>=2.5.3'
|
16
16
|
gem 'bundle-audit', '0.1.0'
|
17
17
|
gem 'geocoder', '1.8.2'
|
18
|
-
gem 'google-protobuf
|
18
|
+
gem 'google-protobuf', '3.21.12'
|
19
|
+
# gem 'google-protobuf-z', '3.5.1'
|
19
20
|
gem 'mqtt', '0.6.0'
|
20
21
|
gem 'rake', '13.2.1'
|
21
22
|
gem 'rdoc', '6.6.3.1'
|
data/lib/meshtastic/mqtt.rb
CHANGED
@@ -78,20 +78,31 @@ module Meshtastic
|
|
78
78
|
|
79
79
|
# cipher = OpenSSL::Cipher.new('AES-256-CTR')
|
80
80
|
cipher = OpenSSL::Cipher.new('AES-128-CTR')
|
81
|
-
mqtt_obj.get_packet do |
|
82
|
-
|
83
|
-
|
81
|
+
mqtt_obj.get_packet do |packet_bytes|
|
82
|
+
# puts "Packet Bytes: #{packet_bytes.public_methods}"
|
83
|
+
raw_packet = packet_bytes.to_s.b
|
84
|
+
raw_packet_len = raw_packet.to_s.b.length
|
85
|
+
raw_topic = packet_bytes.topic
|
86
|
+
raw_payload = packet_bytes.payload
|
87
|
+
raw_payload_len = raw_payload.length
|
88
|
+
|
84
89
|
begin
|
85
90
|
puts '-' * 80
|
86
91
|
|
92
|
+
payload = {}
|
87
93
|
if json
|
88
|
-
|
89
|
-
payload = Meshtastic::ServiceEnvelope.json_decode(
|
90
|
-
map_report = Meshtastic::MapReport.json_decode(
|
94
|
+
json_payload = JSON.parse(raw_payload, symbolize_names: true)
|
95
|
+
payload = Meshtastic::ServiceEnvelope.json_decode(json_payload)
|
96
|
+
map_report = Meshtastic::MapReport.json_decode(json_payload)
|
91
97
|
else
|
92
|
-
|
93
|
-
payload =
|
94
|
-
|
98
|
+
svc_envl= Meshtastic::ServiceEnvelope.decode(raw_payload)
|
99
|
+
payload = svc_envl.to_h[:packet]
|
100
|
+
# puts "STILL GOOD: #{payload.inspect}"
|
101
|
+
# puts "Public Methods: #{Meshtastic::MapReport.public_methods}"
|
102
|
+
# puts "Public Methods: #{Meshtastic::MapReport.class}"
|
103
|
+
# map_report_decode = Meshtastic::MapReport.decode(raw_payload)
|
104
|
+
# map_report = map_report_decode.to_h
|
105
|
+
# puts "STILL GOOD: #{map_report.inspect}"
|
95
106
|
end
|
96
107
|
|
97
108
|
puts "*** MESSAGE ***"
|
@@ -103,8 +114,7 @@ module Meshtastic
|
|
103
114
|
puts "Channel: #{channel}"
|
104
115
|
packet_id = payload[:id]
|
105
116
|
puts "Packet ID: #{packet_id}"
|
106
|
-
|
107
|
-
puts "\nTopic: #{topic}"
|
117
|
+
puts "\nTopic: #{raw_topic}"
|
108
118
|
|
109
119
|
decoded_payload = payload[:decoded]
|
110
120
|
if decoded_payload
|
@@ -149,44 +159,49 @@ module Meshtastic
|
|
149
159
|
end
|
150
160
|
puts '*' * 20
|
151
161
|
|
152
|
-
map_long_name = map_report[:long_name].b
|
153
|
-
puts "\n*** MAP STATS ***"
|
154
|
-
puts "Map Long Name: #{map_long_name.inspect}"
|
155
|
-
map_short_name = map_report[:short_name]
|
156
|
-
puts "Map Short Name: #{map_short_name}"
|
157
|
-
role = map_report[:role]
|
158
|
-
puts "Role: #{role}"
|
159
|
-
hw_model = map_report[:hw_model]
|
160
|
-
puts "Hardware Model: #{hw_model}"
|
161
|
-
firmware_version = map_report[:firmware_version]
|
162
|
-
puts "Firmware Version: #{firmware_version}"
|
163
|
-
region = map_report[:region]
|
164
|
-
puts "Region: #{region}"
|
165
|
-
modem_preset = map_report[:modem_preset]
|
166
|
-
puts "Modem Preset: #{modem_preset}"
|
167
|
-
has_default_channel = map_report[:has_default_channel]
|
168
|
-
puts "Has Default Channel: #{has_default_channel}"
|
169
|
-
latitiude_i = map_report[:latitude_i]
|
170
|
-
puts "Latitude: #{latitiude_i}"
|
171
|
-
longitude_i = map_report[:longitude_i]
|
172
|
-
puts "Longitude: #{longitude_i}"
|
173
|
-
altitude = map_report[:altitude]
|
174
|
-
puts "Altitude: #{altitude}"
|
175
|
-
position_precision = map_report[:position_precision]
|
176
|
-
puts "Position Precision: #{position_precision}"
|
177
|
-
num_online_local_nodes = map_report[:num_online_local_nodes]
|
178
|
-
puts "Number of Online Local Nodes: #{num_online_local_nodes}"
|
179
|
-
puts '*' * 20
|
162
|
+
# map_long_name = map_report[:long_name].b
|
163
|
+
# puts "\n*** MAP STATS ***"
|
164
|
+
# puts "Map Long Name: #{map_long_name.inspect}"
|
165
|
+
# map_short_name = map_report[:short_name]
|
166
|
+
# puts "Map Short Name: #{map_short_name}"
|
167
|
+
# role = map_report[:role]
|
168
|
+
# puts "Role: #{role}"
|
169
|
+
# hw_model = map_report[:hw_model]
|
170
|
+
# puts "Hardware Model: #{hw_model}"
|
171
|
+
# firmware_version = map_report[:firmware_version]
|
172
|
+
# puts "Firmware Version: #{firmware_version}"
|
173
|
+
# region = map_report[:region]
|
174
|
+
# puts "Region: #{region}"
|
175
|
+
# modem_preset = map_report[:modem_preset]
|
176
|
+
# puts "Modem Preset: #{modem_preset}"
|
177
|
+
# has_default_channel = map_report[:has_default_channel]
|
178
|
+
# puts "Has Default Channel: #{has_default_channel}"
|
179
|
+
# latitiude_i = map_report[:latitude_i]
|
180
|
+
# puts "Latitude: #{latitiude_i}"
|
181
|
+
# longitude_i = map_report[:longitude_i]
|
182
|
+
# puts "Longitude: #{longitude_i}"
|
183
|
+
# altitude = map_report[:altitude]
|
184
|
+
# puts "Altitude: #{altitude}"
|
185
|
+
# position_precision = map_report[:position_precision]
|
186
|
+
# puts "Position Precision: #{position_precision}"
|
187
|
+
# num_online_local_nodes = map_report[:num_online_local_nodes]
|
188
|
+
# puts "Number of Online Local Nodes: #{num_online_local_nodes}"
|
189
|
+
# puts '*' * 20
|
180
190
|
|
181
191
|
puts "\n*** PACKET DEBUGGING ***"
|
182
192
|
puts "Payload: #{payload.inspect}"
|
183
|
-
puts "\nMap Report: #{map_report.inspect}"
|
193
|
+
# puts "\nMap Report: #{map_report.inspect}"
|
184
194
|
puts "\nRaw Packet: #{raw_packet.inspect}"
|
185
195
|
puts "Length: #{raw_packet_len}"
|
186
196
|
puts '*' * 20
|
187
|
-
rescue Google::Protobuf::ParseError
|
197
|
+
rescue Google::Protobuf::ParseError => e
|
198
|
+
puts "ERROR: #{e.inspect}"
|
199
|
+
puts "\n*** PACKET DEBUGGING ***"
|
200
|
+
puts "Payload: #{payload.inspect}"
|
201
|
+
# puts "\nMap Report: #{map_report.inspect}"
|
188
202
|
puts "\nRaw Packet: #{raw_packet.inspect}"
|
189
203
|
puts "Length: #{raw_packet_len}"
|
204
|
+
puts '*' * 20
|
190
205
|
next
|
191
206
|
ensure
|
192
207
|
puts '-' * 80
|
data/lib/meshtastic/version.rb
CHANGED
data/lib/meshtastic.rb
CHANGED
@@ -1,30 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'meshtastic/admin_pb'
|
4
|
-
require 'meshtastic/apponly_pb'
|
5
|
-
require 'meshtastic/atak_pb'
|
6
|
-
require 'meshtastic/cannedmessages_pb'
|
7
|
-
require 'meshtastic/channel_pb'
|
8
|
-
require 'meshtastic/clientonly_pb'
|
9
|
-
require 'meshtastic/config_pb'
|
10
|
-
require 'meshtastic/connection_status_pb'
|
11
|
-
require 'meshtastic/deviceonly_pb'
|
12
|
-
require 'meshtastic/localonly_pb'
|
13
|
-
require 'meshtastic/mesh_pb'
|
14
|
-
require 'meshtastic/module_config_pb'
|
15
|
-
require 'meshtastic/mqtt_pb'
|
16
|
-
require 'meshtastic/paxcount_pb'
|
17
|
-
require 'meshtastic/portnums_pb'
|
18
|
-
require 'meshtastic/remote_hardware_pb'
|
19
|
-
require 'meshtastic/rtttl_pb'
|
20
|
-
require 'meshtastic/storeforward_pb'
|
21
|
-
require 'meshtastic/telemetry_pb'
|
22
|
-
require 'meshtastic/version'
|
23
|
-
require 'meshtastic/xmodem_pb'
|
24
|
-
|
25
3
|
# Plugin used to interact with Meshtastic nodes
|
26
4
|
module Meshtastic
|
27
5
|
# Protocol Buffers for Meshtastic
|
6
|
+
# protobuf Modules commented out as a result of the following error:
|
7
|
+
# undefined method `proto3_optional' for an instance of
|
8
|
+
# Google::Protobuf::Internal::MessageBuilderContext (NoMethodError)
|
9
|
+
require 'meshtastic/admin_pb'
|
10
|
+
require 'nanopb_pb'
|
11
|
+
require 'meshtastic/apponly_pb'
|
12
|
+
require 'meshtastic/atak_pb'
|
13
|
+
require 'meshtastic/cannedmessages_pb'
|
14
|
+
require 'meshtastic/channel_pb'
|
15
|
+
require 'meshtastic/clientonly_pb'
|
16
|
+
require 'meshtastic/config_pb'
|
17
|
+
require 'meshtastic/connection_status_pb'
|
18
|
+
require 'meshtastic/deviceonly_pb'
|
19
|
+
require 'meshtastic/localonly_pb'
|
20
|
+
require 'meshtastic/mesh_pb'
|
21
|
+
require 'meshtastic/module_config_pb'
|
22
|
+
require 'meshtastic/mqtt_pb'
|
23
|
+
require 'meshtastic/paxcount_pb'
|
24
|
+
require 'meshtastic/portnums_pb'
|
25
|
+
require 'meshtastic/remote_hardware_pb'
|
26
|
+
require 'meshtastic/rtttl_pb'
|
27
|
+
require 'meshtastic/storeforward_pb'
|
28
|
+
require 'meshtastic/telemetry_pb'
|
29
|
+
require 'meshtastic/version'
|
30
|
+
require 'meshtastic/xmodem_pb'
|
31
|
+
|
28
32
|
autoload :Admin, 'meshtastic/admin'
|
29
33
|
autoload :Apponly, 'meshtastic/apponly'
|
30
34
|
autoload :ATAK, 'meshtastic/atak'
|
data/lib/nanopb_pb.rb
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# source: nanopb.proto
|
3
|
+
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
6
|
+
require 'google/protobuf/descriptor_pb'
|
7
|
+
|
8
|
+
Google::Protobuf::DescriptorPool.generated_pool.build do
|
9
|
+
add_file("nanopb.proto", :syntax => :proto2) do
|
10
|
+
add_message "NanoPBOptions" do
|
11
|
+
optional :max_size, :int32, 1
|
12
|
+
optional :max_length, :int32, 14
|
13
|
+
optional :max_count, :int32, 2
|
14
|
+
optional :int_size, :enum, 7, "IntSize", default: 0
|
15
|
+
optional :type, :enum, 3, "FieldType", default: 0
|
16
|
+
optional :long_names, :bool, 4, default: true
|
17
|
+
optional :packed_struct, :bool, 5, default: false
|
18
|
+
optional :packed_enum, :bool, 10, default: false
|
19
|
+
optional :skip_message, :bool, 6, default: false
|
20
|
+
optional :no_unions, :bool, 8, default: false
|
21
|
+
optional :msgid, :uint32, 9
|
22
|
+
optional :anonymous_oneof, :bool, 11, default: false
|
23
|
+
optional :proto3, :bool, 12, default: false
|
24
|
+
optional :proto3_singular_msgs, :bool, 21, default: false
|
25
|
+
optional :enum_to_string, :bool, 13, default: false
|
26
|
+
optional :fixed_length, :bool, 15, default: false
|
27
|
+
optional :fixed_count, :bool, 16, default: false
|
28
|
+
optional :submsg_callback, :bool, 22, default: false
|
29
|
+
optional :mangle_names, :enum, 17, "TypenameMangling", default: 0
|
30
|
+
optional :callback_datatype, :string, 18, default: "pb_callback_t"
|
31
|
+
optional :callback_function, :string, 19, default: "pb_default_field_callback"
|
32
|
+
optional :descriptorsize, :enum, 20, "DescriptorSize", default: 0
|
33
|
+
optional :default_has, :bool, 23, default: false
|
34
|
+
repeated :include, :string, 24
|
35
|
+
repeated :exclude, :string, 26
|
36
|
+
optional :package, :string, 25
|
37
|
+
optional :type_override, :enum, 27, "google.protobuf.FieldDescriptorProto.Type"
|
38
|
+
optional :sort_by_tag, :bool, 28, default: true
|
39
|
+
optional :fallback_type, :enum, 29, "FieldType", default: 1
|
40
|
+
end
|
41
|
+
add_enum "FieldType" do
|
42
|
+
value :FT_DEFAULT, 0
|
43
|
+
value :FT_CALLBACK, 1
|
44
|
+
value :FT_POINTER, 4
|
45
|
+
value :FT_STATIC, 2
|
46
|
+
value :FT_IGNORE, 3
|
47
|
+
value :FT_INLINE, 5
|
48
|
+
end
|
49
|
+
add_enum "IntSize" do
|
50
|
+
value :IS_DEFAULT, 0
|
51
|
+
value :IS_8, 8
|
52
|
+
value :IS_16, 16
|
53
|
+
value :IS_32, 32
|
54
|
+
value :IS_64, 64
|
55
|
+
end
|
56
|
+
add_enum "TypenameMangling" do
|
57
|
+
value :M_NONE, 0
|
58
|
+
value :M_STRIP_PACKAGE, 1
|
59
|
+
value :M_FLATTEN, 2
|
60
|
+
value :M_PACKAGE_INITIALS, 3
|
61
|
+
end
|
62
|
+
add_enum "DescriptorSize" do
|
63
|
+
value :DS_AUTO, 0
|
64
|
+
value :DS_1, 1
|
65
|
+
value :DS_2, 2
|
66
|
+
value :DS_4, 4
|
67
|
+
value :DS_8, 8
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
NanoPBOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("NanoPBOptions").msgclass
|
73
|
+
FieldType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("FieldType").enummodule
|
74
|
+
IntSize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("IntSize").enummodule
|
75
|
+
TypenameMangling = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("TypenameMangling").enummodule
|
76
|
+
DescriptorSize = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DescriptorSize").enummodule
|
data/upgrade_Gemfile_gems.sh
CHANGED
@@ -5,12 +5,16 @@ cat Gemfile | awk '{print $2}' | grep -E "^'.+$" | grep -v -e rubygems.org | whi
|
|
5
5
|
echo "${this_gem} => $latest_version"
|
6
6
|
os=`uname -s`
|
7
7
|
if [[ $os == 'Linux' ]]; then
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
case $this_gem in
|
9
|
+
'bundler')
|
10
|
+
# sed -i "s/^gem '${this_gem}'.*$/gem '${this_gem}', '>=${latest_version}'/g" Gemfile
|
11
|
+
echo 'SKIPPING bundler mutation in Gemfile.';;
|
12
|
+
'google-protobuf')
|
13
|
+
same_version=`protoc --version | awk '{ print $NF}'`
|
14
|
+
sed -i "s/^gem '${this_gem}'.*$/gem '${this_gem}', '${same_version}'/g" Gemfile;;
|
15
|
+
*)
|
16
|
+
sed -i "s/^gem '${this_gem}'.*$/gem '${this_gem}', '${latest_version}'/g" Gemfile;;
|
17
|
+
esac
|
14
18
|
elif [[ $os == 'Darwin' ]]; then
|
15
19
|
if [[ $this_gem == 'bundler' ]]; then
|
16
20
|
sed -i '' "s/^gem '${this_gem}'.*$/gem '${this_gem}', '>=${latest_version}'/g" Gemfile
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meshtastic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-04-
|
11
|
+
date: 2024-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: brakeman
|
@@ -67,19 +67,19 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.8.2
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: google-protobuf
|
70
|
+
name: google-protobuf
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 3.
|
75
|
+
version: 3.21.12
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 3.
|
82
|
+
version: 3.21.12
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mqtt
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -262,6 +262,7 @@ files:
|
|
262
262
|
- lib/meshtastic/version.rb
|
263
263
|
- lib/meshtastic/xmodem.rb
|
264
264
|
- lib/meshtastic/xmodem_pb.rb
|
265
|
+
- lib/nanopb_pb.rb
|
265
266
|
- meshtastic.gemspec
|
266
267
|
- reinstall_meshtastic_gemset.sh
|
267
268
|
- sig/meshtastic.rbs
|
@@ -307,6 +308,7 @@ files:
|
|
307
308
|
- spec/lib/meshtastic/xmodem_pb_spec.rb
|
308
309
|
- spec/lib/meshtastic/xmodem_spec.rb
|
309
310
|
- spec/lib/meshtastic_spec.rb
|
311
|
+
- spec/lib/nanopb_pb_spec.rb
|
310
312
|
- spec/spec_helper.rb
|
311
313
|
- upgrade_Gemfile_gems.sh
|
312
314
|
- upgrade_gem.sh
|