rotor 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.DS_Store +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/rotor/.DS_Store +0 -0
- data/lib/rotor/gcode.rb +29 -0
- data/lib/rotor/motor.rb +3 -8
- data/lib/rotor/stepper.rb +75 -0
- data/lib/rotor/version.rb +1 -1
- data/lib/rotor.rb +1 -2
- data/sample.nc +24 -0
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa2fcf001b7e6b6b5e85665dddef2e60e7e2c3f5
|
4
|
+
data.tar.gz: 2bacd1a6fe7eb1f2059cc33475353edfae4a7021
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7724f36d2c54faa710930479ffffc837c6891ebe83410f10b467972adb9df55e66720efde485f67a6ebc8e8293773ec66382eaa4bd6bbd038ab1f6b8a103aa20
|
7
|
+
data.tar.gz: 8e61f974397d41c4a611107641ade1303200c20701415dd2267f18720aa11d2677a235a8aa4a66c17876d7693d169cd0025e00fb29c927b98df4e9c63bfb8ffa
|
data/.DS_Store
CHANGED
Binary file
|
data/lib/.DS_Store
ADDED
Binary file
|
data/lib/rotor/.DS_Store
ADDED
Binary file
|
data/lib/rotor/gcode.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
module Rotor
|
2
|
+
class Gcode
|
3
|
+
def initialize(stepper_x=nil,stepper_y=nil)
|
4
|
+
@stepper_x = stepper_x
|
5
|
+
@stepper_y = stepper_y
|
6
|
+
end
|
7
|
+
|
8
|
+
def open(file)
|
9
|
+
@file = File.open(file)
|
10
|
+
end
|
11
|
+
|
12
|
+
def simulate
|
13
|
+
@file.each_line do |line|
|
14
|
+
case line[0]
|
15
|
+
when "G"
|
16
|
+
puts "GLINE"
|
17
|
+
when "M"
|
18
|
+
puts "MLINE"
|
19
|
+
else
|
20
|
+
puts "something else"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
gcode = Rotor::Gcode.new
|
28
|
+
gcode.open('sample.nc')
|
29
|
+
gcode.simulate
|
data/lib/rotor/motor.rb
CHANGED
@@ -63,16 +63,11 @@ module Rotor
|
|
63
63
|
`echo #{homing_switch} > /sys/class/gpio/unexport`
|
64
64
|
@io.mode(homing_switch,INPUT)
|
65
65
|
@move = true
|
66
|
-
|
67
66
|
while @move == true
|
68
|
-
backwards(
|
69
|
-
forward(
|
67
|
+
backwards(2,1) if direction == :backwards #&& @io.read(homing_switch) == homing_normally
|
68
|
+
forward(2,1) if direction == :forward #&& @io.read(homing_switch) == homing_normally
|
69
|
+
@move = false unless @io.read(homing_switch) == homing_normally
|
70
70
|
end
|
71
|
-
|
72
|
-
#after :pin => homing_switch, :goes => homing_normally_open do
|
73
|
-
# @move = false
|
74
|
-
#end
|
75
|
-
|
76
71
|
end
|
77
72
|
|
78
73
|
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'wiringpi'
|
2
|
+
|
3
|
+
module Rotor
|
4
|
+
class Stepper
|
5
|
+
def initialize(coil_A_1_pin, coil_A_2_pin, coil_B_1_pin, coil_B_2_pin, enable_pin=nil, homing_switch, homing_normally)
|
6
|
+
@io = WiringPi::GPIO.new(WPI_MODE_GPIO)
|
7
|
+
@coil_A_1_pin = coil_A_1_pin
|
8
|
+
@coil_A_2_pin = coil_A_2_pin
|
9
|
+
@coil_B_1_pin = coil_B_1_pin
|
10
|
+
@coil_B_2_pin = coil_B_2_pin
|
11
|
+
@enable_pin = enable_pin
|
12
|
+
|
13
|
+
@homing_switch = homing_switch
|
14
|
+
@homing_normally = homing_normally
|
15
|
+
[@coil_A_1_pin, @coil_A_2_pin, @coil_B_1_pin, @coil_B_2_pin].each do |pin|
|
16
|
+
`echo #{pin} > /sys/class/gpio/unexport`
|
17
|
+
@io.mode(pin,OUTPUT)
|
18
|
+
@io.write(pin,LOW)
|
19
|
+
end
|
20
|
+
|
21
|
+
unless @enable_pin == nil
|
22
|
+
`echo #{@enable_pin} > /sys/class/gpio/unexport`
|
23
|
+
@io.mode(@enable_pin,OUTPUT)
|
24
|
+
@io.write(@enable_pin,LOW)
|
25
|
+
@io.write(@enable_pin,HIGH)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def forward(delay=5,steps=100)
|
30
|
+
delay_time = delay/1000.0
|
31
|
+
(0..steps).each do |i|
|
32
|
+
set_step(1, 0, 1, 0)
|
33
|
+
sleep delay_time
|
34
|
+
set_step(0, 1, 1, 0)
|
35
|
+
sleep delay_time
|
36
|
+
set_step(0, 1, 0, 1)
|
37
|
+
sleep delay_time
|
38
|
+
set_step(1, 0, 0, 1)
|
39
|
+
sleep delay_time
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def backwards(delay=5,steps=100)
|
44
|
+
delay_time = delay/1000.0
|
45
|
+
(0..steps).each do |i|
|
46
|
+
set_step(1, 0, 0, 1)
|
47
|
+
sleep delay_time
|
48
|
+
set_step(0, 1, 0, 1)
|
49
|
+
sleep delay_time
|
50
|
+
set_step(0, 1, 1, 0)
|
51
|
+
sleep delay_time
|
52
|
+
set_step(1, 0, 1, 0)
|
53
|
+
sleep delay_time
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def set_step(w1, w2, w3, w4)
|
58
|
+
@io.write(@coil_A_1_pin, w1)
|
59
|
+
@io.write(@coil_A_2_pin, w2)
|
60
|
+
@io.write(@coil_B_1_pin, w3)
|
61
|
+
@io.write(@coil_B_2_pin, w4)
|
62
|
+
end
|
63
|
+
|
64
|
+
def set_home(direction)
|
65
|
+
`echo #{@homing_switch} > /sys/class/gpio/unexport`
|
66
|
+
@io.mode(@homing_switch,INPUT)
|
67
|
+
@move = true
|
68
|
+
while @move == true
|
69
|
+
backwards(10,5) if direction == :backwards && @io.read(@homing_switch) == @homing_normally
|
70
|
+
forward(10,5) if direction == :forward && @io.read(@homing_switch) == @homing_normally
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
data/lib/rotor/version.rb
CHANGED
data/lib/rotor.rb
CHANGED
data/sample.nc
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
G90
|
3
|
+
G21
|
4
|
+
G0 X5.3854 Y15.7945
|
5
|
+
|
6
|
+
M03
|
7
|
+
G1 F100.000000
|
8
|
+
G1 X10.5888 Y15.7945
|
9
|
+
G1 X10.5888 Y14.8575
|
10
|
+
G1 X6.4988 Y14.8575
|
11
|
+
G1 X6.4988 Y12.4211
|
12
|
+
G1 X10.418 Y12.4211
|
13
|
+
G1 X10.418 Y11.484
|
14
|
+
G1 X6.4988 Y11.484
|
15
|
+
G1 X6.4988 Y8.5019
|
16
|
+
G1 X10.6881 Y8.5019
|
17
|
+
G1 X10.6881 Y7.5649
|
18
|
+
G1 X5.3854 Y7.5649
|
19
|
+
G1 X5.3854 Y15.7945
|
20
|
+
M05
|
21
|
+
|
22
|
+
G0 X0.000 Y0.000
|
23
|
+
M05
|
24
|
+
M02
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rotor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kobaltz
|
@@ -65,10 +65,15 @@ files:
|
|
65
65
|
- LICENSE.txt
|
66
66
|
- README.md
|
67
67
|
- Rakefile
|
68
|
+
- lib/.DS_Store
|
68
69
|
- lib/rotor.rb
|
70
|
+
- lib/rotor/.DS_Store
|
71
|
+
- lib/rotor/gcode.rb
|
69
72
|
- lib/rotor/motor.rb
|
73
|
+
- lib/rotor/stepper.rb
|
70
74
|
- lib/rotor/version.rb
|
71
75
|
- rotor.gemspec
|
76
|
+
- sample.nc
|
72
77
|
homepage: https://github.com/kobaltz
|
73
78
|
licenses:
|
74
79
|
- MIT
|