rfbeam 0.3.0 → 0.3.1

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: 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