farmbot-serial 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/arduino.rb +7 -8
- data/lib/arduino/outgoing_handler.rb +1 -0
- data/lib/arduino/status.rb +9 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: baebe8a0cfa185dafd4fbe91636c72f455e5aed2
|
4
|
+
data.tar.gz: d0b77fa227cbdf5c28b4800446f107d8063e28b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7ec31f6cc54759f023c1b42e6001025c78714ba5a9b60198b9959140f9e30bbc8473f79f2ccc1728576e20471692afe4b56df6f9aad8e1963a6fa081e439da7
|
7
|
+
data.tar.gz: d19e8921f94dc79f4c15418318f7d1a239ac8d53d3cea335daadc93ee08a9430f43d640c54c2f49ab29e76094c5fc8f118015f414d6204c33c091ab834f4248a
|
data/lib/arduino.rb
CHANGED
@@ -73,17 +73,16 @@ module FB
|
|
73
73
|
|
74
74
|
def execute_command_next_tick
|
75
75
|
EM.next_tick do
|
76
|
-
|
77
|
-
log "Exec after #{(Time.now - (@time || Time.now)).to_i}s wait"
|
78
|
-
serial_port.puts @outbound_queue.pop
|
79
|
-
@time = nil
|
80
|
-
else
|
81
|
-
@time ||= Time.now
|
82
|
-
execute_command_next_tick
|
83
|
-
end
|
76
|
+
status.ready? ? pop_gcode_off_queue : execute_command_next_tick
|
84
77
|
end
|
85
78
|
end
|
86
79
|
|
80
|
+
def pop_gcode_off_queue
|
81
|
+
gcode = @outbound_queue.pop
|
82
|
+
status[:last] = gcode.name if gcode.respond_to?(:name)
|
83
|
+
serial_port.puts gcode
|
84
|
+
end
|
85
|
+
|
87
86
|
def start_event_listeners
|
88
87
|
status.onchange { |diff| @onchange.call(diff) if @onchange }
|
89
88
|
inbound_queue.subscribe do |gcodes|
|
data/lib/arduino/status.rb
CHANGED
@@ -3,7 +3,7 @@ module FB
|
|
3
3
|
# Map of informational status and default values for status within Arduino.
|
4
4
|
DEFAULT_INFO = {X: 0, Y: 0, Z: 0, S: 10, Q: 0, T: 0, C: '', P: 0, V: 0,
|
5
5
|
W: 0, L: 0, E: 0, M: 0, XA: 0, XB: 0, YA: 0, YB: 0, ZA: 0,
|
6
|
-
ZB: 0,YR: 0, R: 0, BUSY: 1}
|
6
|
+
ZB: 0,YR: 0, R: 0, BUSY: 1, LAST: 'none'}
|
7
7
|
Info = Struct.new(*DEFAULT_INFO.keys)
|
8
8
|
|
9
9
|
def initialize
|
@@ -20,7 +20,14 @@ module FB
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def []=(register, value)
|
23
|
-
transaction
|
23
|
+
transaction do
|
24
|
+
register = register.upcase.to_sym
|
25
|
+
if @info.members.include?(register)
|
26
|
+
@info[register] = value
|
27
|
+
else
|
28
|
+
bot.log "Ignoring attempt to set unknown status value: #{register}"
|
29
|
+
end
|
30
|
+
end
|
24
31
|
end
|
25
32
|
|
26
33
|
def [](value)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: farmbot-serial
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Evers
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|