rfid-usb-gom-sensor 0.1.0 → 0.1.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.
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  coverage
4
4
  rdoc
5
5
  pkg
6
+ *.gemspec
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ begin
18
18
  gem.homepage = "http://github.com/crux/rfid-usb-gom-sensor"
19
19
  gem.authors = ["art+com/dirk luesebrink"]
20
20
 
21
- gem.add_runtime_dependency "ruby-serialport"
21
+ gem.add_runtime_dependency "toholio-serialport"
22
22
  gem.add_runtime_dependency "gom-script"
23
23
 
24
24
  gem.add_development_dependency "rspec"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -7,6 +7,9 @@ end
7
7
  module RfidUsbGomSensor
8
8
  class Node < Gom::Remote::Entry
9
9
 
10
+ # raised on all kinds of comm errors
11
+ class BrokenRead < Exception; end
12
+
10
13
  Defaults = {
11
14
  :device => "/dev/ttyUSB0",
12
15
  :baudrate => 9600,
@@ -49,7 +52,7 @@ module RfidUsbGomSensor
49
52
  class << self
50
53
  def checksum buf, expected
51
54
  cc = (buf.unpack "C*").inject(0) { |cc, c| cc ^ c }
52
- (cc != expected) and raise "checksum missmatch: #{cc} != #{expected}"
55
+ (cc != expected) and raise BrokenRead, "checksum missmatch: #{cc} != #{expected}"
53
56
  cc
54
57
  end
55
58
 
@@ -63,16 +66,27 @@ module RfidUsbGomSensor
63
66
  end
64
67
 
65
68
  def detect
66
- buf = ""
67
69
  loop do
68
- buf << (blk = @sp.read(13))
69
- stx, adx, uid, err, bcc, etx = (Node.decode buf)
70
- buf = ""
70
+ uid = next_tag
71
+ connection.write "#{@path}/tags/#{uid}:sensor_ip", @ip
71
72
  end
73
+ rescue BrokenRead => e
74
+ (resync_from_broken_read e) and retry
72
75
  rescue SignalException => e
73
76
  :stop # if (e.signm == "INT")
74
77
  end
75
78
 
79
+ def resync_from_broken_read e
80
+ puts " !! broken read resync not yet implemented: #{e}"
81
+ raise e
82
+ end
83
+
84
+ def next_tag
85
+ (blk = @sp.read(13))
86
+ stx, adx, uid, err, bcc, etx = (Node.decode blk)
87
+ uid
88
+ end
89
+
76
90
  def _detect
77
91
  =begin
78
92
  Format:
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfid-usb-gom-sensor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - art+com/dirk luesebrink
@@ -13,7 +13,7 @@ date: 2009-12-30 00:00:00 +01:00
13
13
  default_executable: rfid-usb-gom-sensor.rb
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: ruby-serialport
16
+ name: toholio-serialport
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement