farmbot-serial 0.4.3 → 0.5.0
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 +19 -11
- 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: 52762a06bad21afddef2fa922e24b444961b8409
|
4
|
+
data.tar.gz: 2229dc5fa90ce682ce14910c3acf55d95afff12e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff41ce048316615c745a2946f7709c63339a0cc7b825d91eccd90f5bf0ec2bfc98751cdfff2409d599d0560aea600e7eb834f7cdebb5c7dd5ee11a8509d3da5c
|
7
|
+
data.tar.gz: 4a4c5e4af533e65809435d98cec2be8241c1fe16f10d6335fe3ce4865fcde936435a8516209689e08f6eb093d92a947b0375a92e68f6d62ff3ac6d0fe4a9e3c2
|
data/lib/arduino.rb
CHANGED
@@ -65,19 +65,27 @@ module FB
|
|
65
65
|
outbound_queue.first
|
66
66
|
end
|
67
67
|
|
68
|
-
def maybe_execute_command
|
68
|
+
def maybe_execute_command # This method smells procedural. Refactor?
|
69
69
|
sleep 0.08 # Throttle CPU
|
70
|
+
return unless can_execute?
|
70
71
|
gcode = @outbound_queue.pop
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
72
|
+
gcode.is_a?(FB::Gcode) ? execute_now(gcode) : reject_gcode(gcode)
|
73
|
+
end
|
74
|
+
|
75
|
+
def can_execute? # If the device is ready and commands are in the queue
|
76
|
+
@outbound_queue.any? && status.ready?
|
77
|
+
end
|
78
|
+
|
79
|
+
def execute_now(gcode)
|
80
|
+
log "RPI MSG: #{gcode}"
|
81
|
+
serial_port.puts gcode
|
82
|
+
status[:last] = gcode.name
|
83
|
+
status[:BUSY] = 1 # If not, pi will race arduino and "talk too fast"
|
84
|
+
end
|
85
|
+
|
86
|
+
def reject_gcode(gcode)
|
87
|
+
log "Outbound messages must be GCode objects. Use of "\
|
88
|
+
"#{gcode.class}:#{gcode.inspect} is not permitted."
|
81
89
|
end
|
82
90
|
|
83
91
|
def start_event_listeners
|
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.
|
4
|
+
version: 0.5.0
|
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-05-
|
12
|
+
date: 2015-05-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|