rfbeam 0.3.0 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b3701d190afa17ff597b95c3828f53ced876634450c2a8185ef6204e003de988
4
- data.tar.gz: ad3393070257497505ece77149306e91e2cf42bbdbce896912c03d78ff230a3e
3
+ metadata.gz: 8b330fbbd75049114a6b8be3c4870ac68723bb2a25fd0870e40e81304f215cc7
4
+ data.tar.gz: f740ced4593c75173d216527ab4f0afcaf85cb323097a8b7a86f9c3ad7717a74
5
5
  SHA512:
6
- metadata.gz: 1e3e93de85a88b87f113f58f28d8ec43378b12576f0ce4676cbe62713d718dd4f690c7e9070619801417b60fcd36afe58d229f31f72a652f95515df43b16248e
7
- data.tar.gz: 968916b79ace6eb9fe531c0d3386fec3ea27725d87cc2fa0f74a893f2a0829e2ac296aee418e5bfaf37d47f7b4680ba4d3d227a70002220899547647b296eabc
6
+ metadata.gz: 5c6e265438debcac0e7a3cae53cbe68a589e9eca2529f57ca49179b70aa7ded7e8d0dab2052a748319fe6d02fe4b74640907c3909603e58b13f0b632cb5bbed5
7
+ data.tar.gz: eb1d53dea2e385a06c8729657f3a9283c2da19120ce122c5b763ba83dc980235ae543bf31fc53e2b27338b43eeed760e2cf7fef407e8e9ac34f866916bc60bd5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [0.3.1] - 2023-3-28
2
+
3
+ - Added setter for Max Distance
4
+ - Added setter for Max Speed
5
+ - Added setter for Threshold offset
6
+
1
7
  ## [0.2.2] - 2023-3-28
2
8
 
3
9
  - Refinements to ddat
@@ -80,10 +80,10 @@ module RfBeam
80
80
  raise Error, 'No valid response from Serial Port' if resp[2].nil?
81
81
 
82
82
  response_key = resp[2]
83
- return if response_key.zero? # Everything OK
83
+ return response_key.zero? # Everything OK
84
84
 
85
85
  error_string = RESP_CODES[response_key].nil? ? 'Response unknown' : RESP_CODES[response_key]
86
- raise Error, "Initialisation Error: #{error_string}"
86
+ raise Error, "Radar response Error: #{error_string}"
87
87
  end
88
88
  end
89
89
  end
@@ -1,24 +1,69 @@
1
1
  module RfBeam
2
2
  module KLD7
3
+
3
4
  def detection?
4
5
  data = ddat
5
6
  (data[2] == 1)
6
7
  end
8
+
9
+ def config
10
+ puts formatted_grps(grps)
11
+ end
7
12
 
13
+ # Get the radar parameter structure
8
14
  def grps
9
15
  command = ['GRPS', 0]
10
16
  write command.pack('a4L')
11
17
  check_response
12
- resp = read(50).unpack('a4LA19C8c2C4cCCCCSCC')
13
- resp
18
+ read(50).unpack('a4LA19C8c2C4cCCCCSCC')
14
19
  end
15
20
 
16
- def config
17
- puts formatted_grps(grps)
21
+ # Base Frequency, 0 = low, 1 = middle (default), 2 = high
22
+ def set_base_frequency(frequency = 1)
23
+ set_parameter(:rbfr, frequency, :uint8)
18
24
  end
25
+ alias_method :rbfr, :set_base_frequency
26
+
27
+ # Maximum Speed, 0 = 12.5km/h, 1 = 25km/h (default), 2 = 50km/h, 3 = 100km/h
28
+ def set_max_speed(speed = 1)
29
+ set_parameter :rspi, speed, :uint8
30
+ end
31
+ alias_method :rspi, :set_max_speed
32
+
33
+ # Maximum Range, 0 = 5m, 1 = 10m (default), 2 = 30m, 3 = 100m
34
+ def set_max_range(range = 1)
35
+ set_parameter :rrai, range, :unit8
36
+ end
37
+ alias_method :rrai, :set_max_range
38
+
39
+ # Threshold Offset, 10 - 60db, (default = 30)
40
+ def set_threshold_offset(offset = 30)
41
+ range = 10..60
42
+ return false unless range.include?(offset)
43
+
44
+ set_parameter :thof, range, :unit8
45
+ end
46
+ alias_method :thof, :set_threshold_offset
19
47
 
20
48
  private
21
49
 
50
+ def set_parameter(header, value, return_type = :uint8)
51
+ return_type =
52
+ case return_type
53
+ when :uint8
54
+ 'L'
55
+ when :int8
56
+ 'c'
57
+ when :uint16
58
+ 'S'
59
+ else
60
+ 'L'
61
+ end
62
+ command = [header.upcase.to_s, 4, value]
63
+ write command.pack("a4L#{return_type}")
64
+ check_response
65
+ end
66
+
22
67
  def formatted_grps(data)
23
68
  output = "\n"
24
69
  output << "Software Version: #{data[2]}\n"
@@ -47,11 +92,5 @@ module RfBeam
47
92
 
48
93
  output
49
94
  end
50
-
51
- def request_parameter_data
52
- command = ['GRPS', 0]
53
- write command.pack('a4L')
54
- check_response
55
- end
56
95
  end
57
96
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RfBeam
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfbeam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Carruthers