meshtastic 0.0.43 → 0.0.45

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 105d223bd94e02d4473ac5fd66ed0b8dc7eef73d44578eb427fc3d55eb51ae21
4
- data.tar.gz: 216a3957a439408579d1d7b48dd552d394885bbc09b8dc3410d776e4c1eb37d6
3
+ metadata.gz: b2d188ac05f244ce12a4825659a327bb883a51cb601875e5c21e8b45b4528741
4
+ data.tar.gz: 535ab977c36d067eb9c6a2a3be242b96efa1e3ed0864e2e4d3517970c806d870
5
5
  SHA512:
6
- metadata.gz: 1381a13cff943403ef269c5a349529ab9c2f12e3a3af5b3e88c589f7fd427a6e45b23543251449e1d520471fdf5f6c8a11c55c56bfc24553dc2b02db7ace28d9
7
- data.tar.gz: 01d01863635a22c2d3c42ace2a34076c4094ece8ef9629f08ae0e8da7c0a98bbc5815db26e2e4063fa462619caf710938628a8cd086f62411d1cd885017665a4
6
+ metadata.gz: c46cdbb49616cc18ddf12a06f11e2dcd981581455146923571601a16ca417a7ddf18b3d769a6182b874ae01aafb526ed6d967c453dfedb30142ed995b398728c
7
+ data.tar.gz: df15c9aa4b5084734e3db4122647242ed16d89ddc45d8a54bc163602b86ca5cf93a110ca064d90052698f726dc01910023ac8506bbc1b88ce50609dd825f0abc
@@ -128,22 +128,39 @@ module Meshtastic
128
128
  # when :ZPS_APP
129
129
  # decoder = Meshtastic::Zps
130
130
  end
131
+
131
132
  payload = decoder.decode(payload).to_h
132
- if payload.keys.include?(:latitude_i) && payload.keys.include?(:longitude_i)
133
+
134
+ if payload.keys.include?(:latitude_i)
133
135
  lat = payload[:latitude_i] * 0.0000001
134
- lon = payload[:longitude_i] * 0.0000001
135
136
  payload[:latitude] = lat
137
+ end
138
+
139
+ if payload.keys.include?(:longitude_i)
140
+ lon = payload[:longitude_i] * 0.0000001
136
141
  payload[:longitude] = lon
137
- if gps_metadata
138
- gps_search_resp = Meshtastic.gps_search(lat: lat, lon: lon)
139
- payload[:gps_metadata] = gps_search_resp
140
- end
141
142
  end
142
143
 
143
144
  if payload.keys.include?(:macaddr)
144
- mac_hex_arr = payload[:macaddr].bytes.map { |byte| byte.to_s(16).rjust(2, '0') }
145
- mac_str = mac_hex_arr.join(':')
146
- payload[:macaddr] = mac_str
145
+ mac_raw = payload[:macaddr]
146
+ mac_hex_arr = mac_raw.bytes.map { |byte| byte.to_s(16).rjust(2, '0') }
147
+ mac_hex_str = mac_hex_arr.join(':')
148
+ payload[:macaddr] = mac_hex_str
149
+ end
150
+
151
+ if payload.keys.include?(:time)
152
+ time_int = payload[:time]
153
+ time_utc = Time.at(time_int).utc if time_int.is_a?(Integer)
154
+ payload[:time_utc] = time_utc
155
+ end
156
+
157
+ if gps_metadata && payload[:latitude] && payload[:longitude]
158
+ lat = payload[:latitude]
159
+ lon = payload[:longitude]
160
+ unless lat.zero? && lon.zero?
161
+ gps_search_resp = gps_search(lat: lat, lon: lon)
162
+ payload[:gps_metadata] = gps_search_resp
163
+ end
147
164
  end
148
165
 
149
166
  payload
@@ -318,7 +335,7 @@ module Meshtastic
318
335
 
319
336
  gps_arr = [lat.to_f, lon.to_f]
320
337
 
321
- Geocoder.search(gps_arr)
338
+ Geocoder.search(gps_arr).first.data
322
339
  rescue StandardError => e
323
340
  raise e
324
341
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Meshtastic
4
- VERSION = '0.0.43'
4
+ VERSION = '0.0.45'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meshtastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.43
4
+ version: 0.0.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -348,7 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
348
  - !ruby/object:Gem::Version
349
349
  version: '0'
350
350
  requirements: []
351
- rubygems_version: 3.5.9
351
+ rubygems_version: 3.5.10
352
352
  signing_key:
353
353
  specification_version: 4
354
354
  summary: Ruby gem for Meshtastic