logonxc 0.2.0 → 0.3.0

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/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