logonxc 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,6 +1,7 @@
1
1
  = logonxc
2
2
 
3
3
  Parse basic logo commands and output NXC (a simple c-like programming language for Lego Mindstorms)
4
+ WARNING: I doubt that this will be useful to anyone else as it is. The main drive motors are hardcoded to B&C, the pen to A. Also the pace and turn sizes will likely be different on other logo bots.
4
5
 
5
6
  == Contributing to logonxc
6
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
data/lib/logonxc.rb CHANGED
@@ -29,6 +29,10 @@ class LogoNxc
29
29
  output << "forward(#{$1});\n"
30
30
  when line =~ /(?:back|bk)\s*(\d+)/
31
31
  output << "back(#{$1});\n"
32
+ when line =~ /penup/
33
+ output << "penup();\n"
34
+ when line =~ /pendown/
35
+ output << "pendown();\n"
32
36
  when line =~ /\]/
33
37
  output << "}\n"
34
38
  end
data/logonxc.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{logonxc}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Deb Bassett"]
12
- s.date = %q{2011-11-18}
12
+ s.date = %q{2012-11-14}
13
13
  s.description = %q{Parse basic logo and output NXC for Lego Mindstorms}
14
14
  s.email = %q{deb@urbanwide.com}
15
15
  s.extra_rdoc_files = [
data/spec/logonxc_spec.rb CHANGED
@@ -18,6 +18,8 @@ describe "LogoNxc" do
18
18
  print 'other thing'
19
19
  sleep 1000
20
20
  beep
21
+ penup
22
+ pendown
21
23
  TEXT
22
24
  end
23
25
 
@@ -68,6 +70,12 @@ describe "LogoNxc" do
68
70
  it "should translate beep" do
69
71
  @output[13].should == 'beep();'
70
72
  end
73
+ it "should translate penup" do
74
+ @output[14].should == 'penup();'
75
+ end
76
+ it "should translate pendown" do
77
+ @output[15].should == 'pendown();'
78
+ end
71
79
  end
72
80
 
73
81
  describe ".nxc" do
@@ -1,5 +1,5 @@
1
1
  #define POWER 50
2
- #define PACE_ROTATION_DEGREES 516
2
+ #define PACE_ROTATION_DEGREES 35
3
3
  #define TURN_90_ROTATION_DEGREES 506
4
4
 
5
5
  int wait_time = 100;
@@ -67,7 +67,19 @@ sub back(int paces) {
67
67
  move_end();
68
68
  }
69
69
 
70
- task maze() {
70
+ sub penup() {
71
+ RotateMotor(OUT_A, POWER, -18);
72
+ move_end();
73
+ }
74
+
75
+ sub pendown() {
76
+ RotateMotor(OUT_A, POWER, 18);
77
+ move_end();
78
+ }
79
+
80
+
81
+ task code() {
82
+ pendown();
71
83
  <%= nxc_block %>
72
84
  wait(2000);
73
85
  }
@@ -83,6 +95,6 @@ task red() {
83
95
 
84
96
  task main() {
85
97
 
86
- Precedes(red, maze);
98
+ Precedes(red, code);
87
99
 
88
100
  }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logonxc
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 0.2.0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Deb Bassett
@@ -15,11 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-11-18 00:00:00 +00:00
18
+ date: 2012-11-14 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: erubis
23
+ type: :runtime
23
24
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
25
  none: false
25
26
  requirements:
@@ -30,10 +31,10 @@ dependencies:
30
31
  - 0
31
32
  version: "0"
32
33
  prerelease: false
33
- type: :runtime
34
34
  requirement: *id001
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: rake
37
+ type: :runtime
37
38
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
39
  none: false
39
40
  requirements:
@@ -46,10 +47,10 @@ dependencies:
46
47
  - 7
47
48
  version: 0.8.7
48
49
  prerelease: false
49
- type: :runtime
50
50
  requirement: *id002
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: rspec
53
+ type: :development
53
54
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
55
  none: false
55
56
  requirements:
@@ -62,10 +63,10 @@ dependencies:
62
63
  - 0
63
64
  version: 2.3.0
64
65
  prerelease: false
65
- type: :development
66
66
  requirement: *id003
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: bundler
69
+ type: :development
69
70
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
71
  none: false
71
72
  requirements:
@@ -78,10 +79,10 @@ dependencies:
78
79
  - 0
79
80
  version: 1.0.0
80
81
  prerelease: false
81
- type: :development
82
82
  requirement: *id004
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: jeweler
85
+ type: :development
85
86
  version_requirements: &id005 !ruby/object:Gem::Requirement
86
87
  none: false
87
88
  requirements:
@@ -94,10 +95,10 @@ dependencies:
94
95
  - 4
95
96
  version: 1.6.4
96
97
  prerelease: false
97
- type: :development
98
98
  requirement: *id005
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rcov
101
+ type: :development
101
102
  version_requirements: &id006 !ruby/object:Gem::Requirement
102
103
  none: false
103
104
  requirements:
@@ -108,7 +109,6 @@ dependencies:
108
109
  - 0
109
110
  version: "0"
110
111
  prerelease: false
111
- type: :development
112
112
  requirement: *id006
113
113
  description: Parse basic logo and output NXC for Lego Mindstorms
114
114
  email: deb@urbanwide.com