rfbeam 0.4.10 → 0.5.0
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/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/rfbeam/cli.rb +17 -15
- data/lib/rfbeam/kld7/cli_formatter.rb +15 -4
- data/lib/rfbeam/kld7/cli_output.rb +16 -7
- data/lib/rfbeam/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a612ea7d8038a09e50462eca0c5acaeb6358992df63d0929e26024dbff5004a9
|
4
|
+
data.tar.gz: e3bbc877194756cd958d3616623fb46bc384ae7e73430a3e096a950efe6ae3c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4663603c15bb5423ee29710e0a743f9f979b7fd57185495062972189533e3c72f07712abb45ba77ea84dff55a6c2bcf72ef4142833195ca6d68f55632249c4a4
|
7
|
+
data.tar.gz: 4af5abb75a3fe9475ab0a4afd988b8fecc2323afc95d3f64f530f359b08ab0f390012a97272545d69d46da9e8051887a24a345b59434afcf90bc18b0312de2de
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/rfbeam/cli.rb
CHANGED
@@ -24,17 +24,17 @@ module RfBeam
|
|
24
24
|
puts table.render(:ascii)
|
25
25
|
end
|
26
26
|
|
27
|
-
desc 'config
|
27
|
+
desc 'config [RADAR_ID]', 'Shows the parameter setting for the Radar module'
|
28
28
|
def config(radar_id)
|
29
29
|
puts radar(radar_id).config
|
30
30
|
end
|
31
31
|
|
32
|
-
desc 'reset
|
32
|
+
desc 'reset [RADAR_ID]', 'Shows the parameter setting for the Radar module'
|
33
33
|
def reset(radar_id)
|
34
34
|
@logger.success 'Radar reset to factory defaults' if radar(radar_id).reset
|
35
35
|
end
|
36
36
|
|
37
|
-
desc 'set_param
|
37
|
+
desc 'set_param [RADAR_ID] [KEY] [VALUE]', 'Set radar parameters, see readme for KEYS'
|
38
38
|
def set_param(radar_id, param, value)
|
39
39
|
return @logger.warn("Invalid param: '#{param}'") unless Kld7::RADAR_PARAMETERS.include?(param.to_sym)
|
40
40
|
|
@@ -43,20 +43,28 @@ module RfBeam
|
|
43
43
|
@logger.success r.formatted_parameter(param.to_sym)
|
44
44
|
end
|
45
45
|
|
46
|
-
desc 'ddat
|
47
|
-
option :stream, type: :boolean, aliases: '-s', desc: 'Stream the data from the device'
|
46
|
+
desc 'ddat [RADAR_ID]', 'stream any valid detections, stop stream with q and enter'
|
47
|
+
option :stream, type: :boolean, aliases: '-s', desc: 'Stream the data from the device, press q to stop'
|
48
|
+
option :raw, type: :boolean, aliases: '-r', desc: 'Display raw data'
|
48
49
|
def ddat(radar_id)
|
49
50
|
cli = RfBeam::Kld7::CliOutput.new(radar_id)
|
50
|
-
cli.display(:ddat,
|
51
|
+
cli.display(:ddat, options)
|
51
52
|
end
|
52
53
|
|
53
|
-
desc '
|
54
|
+
desc 'tdat [RADAR_ID]', 'Display tracked target data'
|
55
|
+
option :raw, type: :boolean, aliases: '-r', desc: 'Display raw data'
|
56
|
+
def tdat(radar_id)
|
57
|
+
cli = RfBeam::Kld7::CliOutput.new(radar_id)
|
58
|
+
cli.display(:tdat, options)
|
59
|
+
end
|
60
|
+
|
61
|
+
desc 'pdat [RADAR_ID]', 'Display Tracked Targets'
|
54
62
|
def pdat(radar_id)
|
55
63
|
cli = RfBeam::Kld7::CliOutput.new(radar_id)
|
56
|
-
cli.display(:pdat,
|
64
|
+
cli.display(:pdat, options)
|
57
65
|
end
|
58
66
|
|
59
|
-
desc 'rfft
|
67
|
+
desc 'rfft [RADAR_ID]', 'Display the dopplar radar data as a plot'
|
60
68
|
option :stream, type: :boolean, aliases: '-s', desc: 'Stream the data from the device'
|
61
69
|
option :raw, type: :boolean, aliases: '-r', desc: 'Display raw data'
|
62
70
|
def rfft(radar_id)
|
@@ -68,12 +76,6 @@ module RfBeam
|
|
68
76
|
end
|
69
77
|
end
|
70
78
|
|
71
|
-
desc 'tdat <radar_id>', 'Display tracked target data'
|
72
|
-
def tdat(radar_id)
|
73
|
-
cli = RfBeam::Kld7::CliOutput.new(radar_id)
|
74
|
-
cli.display(:tdat, stream: options[:stream])
|
75
|
-
end
|
76
|
-
|
77
79
|
private
|
78
80
|
|
79
81
|
def radar(id)
|
@@ -5,6 +5,10 @@ require 'tty-table'
|
|
5
5
|
module RfBeam
|
6
6
|
module Kld7
|
7
7
|
class CliFormatter
|
8
|
+
def self.format(type, data)
|
9
|
+
new.format(type, data)
|
10
|
+
end
|
11
|
+
|
8
12
|
def format(type, data)
|
9
13
|
case type
|
10
14
|
when :tdat
|
@@ -16,10 +20,6 @@ module RfBeam
|
|
16
20
|
end
|
17
21
|
end
|
18
22
|
|
19
|
-
def tdat(data)
|
20
|
-
{ dist: data[2], speed: data[3], angle: data[4], mag: data[5] }
|
21
|
-
end
|
22
|
-
|
23
23
|
def pdat_table(data)
|
24
24
|
table = TTY::Table.new header: ['index', 'dist (M)', 'speed (Km/h)', 'angle (°)', 'mag (db)']
|
25
25
|
count = data[1] / 8
|
@@ -41,6 +41,17 @@ module RfBeam
|
|
41
41
|
.join("\n")
|
42
42
|
end
|
43
43
|
|
44
|
+
def tdat(data)
|
45
|
+
return 'No target detected' unless data[1].positive?
|
46
|
+
|
47
|
+
[
|
48
|
+
"Distance: #{data[2].to_f / 100.0} m",
|
49
|
+
"Speed: #{data[3].to_f / 100.0} km/h",
|
50
|
+
"Angle: #{data[4].to_f / 100.0}°",
|
51
|
+
"Mag: #{data[5].to_f / 100.0} db"
|
52
|
+
].join("\n")
|
53
|
+
end
|
54
|
+
|
44
55
|
def to_symbol(string)
|
45
56
|
modified_string = string.gsub(' ', '_').downcase
|
46
57
|
modified_string.to_sym
|
@@ -20,8 +20,9 @@ module RfBeam
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
def display(type,
|
24
|
-
stream ?
|
23
|
+
def display(type, options)
|
24
|
+
display_method = options[:stream].nil? ? 'display' : 'stream'
|
25
|
+
send("#{display_method}_#{type}", options)
|
25
26
|
end
|
26
27
|
|
27
28
|
def plot(type, stream: false)
|
@@ -79,8 +80,12 @@ module RfBeam
|
|
79
80
|
}
|
80
81
|
end
|
81
82
|
|
82
|
-
def display_ddat
|
83
|
-
|
83
|
+
def display_ddat(options)
|
84
|
+
if options[:raw].nil?
|
85
|
+
puts RfBeam::Kld7::CliFormatter.format(:ddat, @radar.ddat)
|
86
|
+
else
|
87
|
+
puts @radar.ddat.inspect
|
88
|
+
end
|
84
89
|
end
|
85
90
|
|
86
91
|
def stream_ddat
|
@@ -98,11 +103,15 @@ module RfBeam
|
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
101
|
-
def display_tdat
|
102
|
-
|
106
|
+
def display_tdat(options)
|
107
|
+
if options[:raw].nil?
|
108
|
+
puts RfBeam::Kld7::CliFormatter.format(:tdat, @radar.tdat)
|
109
|
+
else
|
110
|
+
puts @radar.tdat.inspect
|
111
|
+
end
|
103
112
|
end
|
104
113
|
|
105
|
-
def display_pdat
|
114
|
+
def display_pdat(options)
|
106
115
|
table = RfBeam::Kld7::CliFormatter.new.pdat_table(@radar.pdat)
|
107
116
|
puts "\n Detected Raw Targets"
|
108
117
|
puts table.render(:unicode, alignment: :center)
|
data/lib/rfbeam/version.rb
CHANGED