artoo 1.1.1 → 1.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6059ccad349f757c75b1bba40c3258056bc690cb
4
- data.tar.gz: ee353f9752cef6a52bd28129568e33bcebe318b1
3
+ metadata.gz: de6e726dc7a4d253d4acfb870173fd4928a8734c
4
+ data.tar.gz: f6ede2be821e79a2711f6f0cb8f67e5d511ce706
5
5
  SHA512:
6
- metadata.gz: 59dff9b9afe24d635cdcb911a8a3422c0e08a2c5dcf470ae36d9a989dcbd0ed2e89dc4c0e9606ea7d24dcb5708a813da60fa6842d313dc638944c871f9882cc7
7
- data.tar.gz: 6450d8ebc3ebe3c150ec1e0789c622395cd60a2ea34622fb21d23e4f042542686f34a1aa3e26b5a804741b8796c85858842fa53ca71b58ceda225f6123b9a91a
6
+ metadata.gz: 247a5ea51e36972fdab99d623f74089d6ed66fc6ad43aa400055cb7a0ea3d4229b21c577fe702b35a5c83b0ead2ea15641df1ff525b9773b931898122c7e75d6
7
+ data.tar.gz: 00b1db0bf425d8519bfc5efb30e64c71f5dfcc34898122a7acdd4f15c5930215b8c94336c8eea492fd9149500b356cd02faa8cc40f401ccb253e4a0bd1c9cc9e
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- artoo (1.1.1)
4
+ artoo (1.2.0)
5
5
  celluloid (~> 0.15.0)
6
6
  celluloid-io (~> 0.15.0)
7
7
  multi_json (~> 1.6)
8
8
  pry (~> 0.9)
9
9
  rake (~> 10.0)
10
- reel (~> 0.4.0.pre)
10
+ reel (~> 0.4.0)
11
11
  thor (~> 0.18.1)
12
12
 
13
13
  GEM
@@ -15,12 +15,11 @@ GEM
15
15
  specs:
16
16
  bootstrap-sass (2.3.2.1)
17
17
  sass (~> 3.2)
18
- celluloid (0.15.0)
18
+ celluloid (0.15.1)
19
19
  timers (~> 1.1.0)
20
20
  celluloid-io (0.15.0)
21
21
  celluloid (>= 0.15.0)
22
22
  nio4r (>= 0.5.0)
23
- certified (0.1.1)
24
23
  chunky_png (1.2.8)
25
24
  coderay (1.0.9)
26
25
  coffee-script (2.2.0)
@@ -58,10 +57,9 @@ GEM
58
57
  guard (>= 1.1.0)
59
58
  sprockets (~> 2.0)
60
59
  hike (1.2.3)
61
- http (0.4.0)
62
- certified
60
+ http (0.5.0)
63
61
  http_parser.rb
64
- http_parser.rb (0.5.3)
62
+ http_parser.rb (0.6.0.beta.2)
65
63
  json (1.7.7)
66
64
  json (1.7.7-java)
67
65
  kramdown (1.1.0)
@@ -89,12 +87,12 @@ GEM
89
87
  rake (10.1.0)
90
88
  rb-inotify (0.8.8)
91
89
  ffi (>= 0.5.0)
92
- reel (0.4.0.pre)
93
- celluloid-io (>= 0.8.0)
94
- http (>= 0.2.0)
95
- http_parser.rb (>= 0.5.3)
96
- rack (>= 1.4.0)
97
- websocket_parser (>= 0.1.2)
90
+ reel (0.4.0)
91
+ celluloid (>= 0.15.1)
92
+ celluloid-io (>= 0.15.0)
93
+ http (>= 0.5.0)
94
+ http_parser.rb (>= 0.6.0.beta.2)
95
+ websocket_parser (>= 0.1.4)
98
96
  ref (1.0.5)
99
97
  sass (3.2.9)
100
98
  slop (3.4.5)
data/README.md CHANGED
@@ -88,6 +88,7 @@ Artoo has a extensible system for connecting to hardware devices. The following
88
88
 
89
89
  - [Arduino](http://www.arduino.cc/) <=> [Adaptor](https://github.com/hybridgroup/artoo-arduino)
90
90
  - [ARDrone](http://ardrone2.parrot.com/) <=> [Adaptor](https://github.com/hybridgroup/artoo-ardrone)
91
+ - [Digispark](http://digistump.com/products/1) <=> [Adaptor](https://github.com/hybridgroup/artoo-digispark)
91
92
  - [Leap Motion](https://www.leapmotion.com/) <=> [Adaptor](https://github.com/hybridgroup/artoo-leapmotion)
92
93
  - [Pebble](http://getpebble.com/) <=> [Adaptor](https://github.com/hybridgroup/artoo-pebble)
93
94
  - [Raspberry Pi](http://www.raspberrypi.org/) <=> [Adaptor](https://github.com/hybridgroup/artoo-raspi)
@@ -96,6 +97,10 @@ Artoo has a extensible system for connecting to hardware devices. The following
96
97
 
97
98
  More platforms are coming soon!
98
99
 
100
+ Artoo also has support for devices that can work across multiple hardware platforms.
101
+ - GPIO (General Purpose Input/Output) devices <=> [Drivers](https://github.com/hybridgroup/artoo-gpio)
102
+ - i2c devices <=> [Drivers](https://github.com/hybridgroup/artoo-i2c)
103
+
99
104
  Do you have some hardware that is not yet supported by Artoo? We want to help you, help us, help them! Get in touch...
100
105
 
101
106
  ## Getting Started:
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_runtime_dependency 'celluloid', '~> 0.15.0'
24
24
  s.add_runtime_dependency 'celluloid-io', '~> 0.15.0'
25
- s.add_runtime_dependency 'reel', '~> 0.4.0.pre'
25
+ s.add_runtime_dependency 'reel', '~> 0.4.0'
26
26
  s.add_runtime_dependency 'multi_json', '~> 1.6'
27
27
  s.add_runtime_dependency 'rake', '~> 10.0'
28
28
  s.add_runtime_dependency 'pry', '~> 0.9'
data/bin/artoo CHANGED
@@ -10,6 +10,7 @@ require 'artoo/commands/install'
10
10
 
11
11
  Celluloid.logger = nil
12
12
 
13
+ # load main commands
13
14
  module CLI
14
15
  class Root < Thor
15
16
  include Thor::Actions
@@ -44,4 +45,7 @@ module CLI
44
45
  end
45
46
  end
46
47
 
48
+ # require any custom commands installed by artoo adaptor or driver gems
49
+ Dir["#{Artoo::Commands::Commands.install_dir}/*.rb"].each {|file| require file }
50
+
47
51
  CLI::Root.start
@@ -10,6 +10,10 @@ module Artoo
10
10
  def self.banner(command, namespace = nil, subcommand = false)
11
11
  "#{basename} #{@package_name} #{command.usage}"
12
12
  end
13
+
14
+ def self.install_dir
15
+ ENV['GEM_HOME'] + "/.artoo/commands"
16
+ end
13
17
  end
14
18
  end
15
19
  end
@@ -1,5 +1,6 @@
1
- require 'thor'
2
- require 'thor/group'
1
+ require 'artoo/utility'
2
+ require 'artoo/commands/commands'
3
+ require 'fileutils'
3
4
 
4
5
  module Artoo
5
6
  module Commands
@@ -19,6 +20,12 @@ module Artoo
19
20
  say "OS not yet supported..."
20
21
  end
21
22
  end
23
+
24
+ desc "command [FILENAME]", "Installs artoo command extension files"
25
+ def command(file)
26
+ empty_directory Install.install_dir
27
+ FileUtils.cp(file, Install.install_dir)
28
+ end
22
29
  end
23
30
  end
24
31
  end
@@ -5,6 +5,14 @@ module Artoo
5
5
  # DeviceInfo driver behaviors
6
6
  class DeviceInfo < Driver
7
7
  COMMANDS = [:firmware_name, :version, :connect].freeze
8
+
9
+ def firmware_name
10
+ connection.firmware_name
11
+ end
12
+
13
+ def version
14
+ connection.version
15
+ end
8
16
  end
9
17
  end
10
18
  end
@@ -1,3 +1,4 @@
1
1
  module Artoo
2
2
  class RobotNotFound < StandardError; end # unable to find a robot by name in master
3
+ class InvalidPin < StandardError; end # this pin is not validd for this operation
3
4
  end
@@ -0,0 +1,32 @@
1
+ # Adds syntactic suger for seconds
2
+ class Integer < Numeric
3
+ # @return [Integer] Plain number, actually does nothing
4
+ # @example 20.seconds => 20
5
+ def seconds
6
+ return self
7
+ end
8
+
9
+ # @return [Integer] Plain number, actually does nothing
10
+ # @example 1.second => 1
11
+ def second
12
+ return self
13
+ end
14
+ end
15
+
16
+ # helpful conversions
17
+ class Fixnum
18
+ # convert to PWM value from analog reading
19
+ def to_pwm
20
+ ((255.0 / 1023.0) * self.to_f).round
21
+ end
22
+
23
+ # convert to PWM value from analog reading
24
+ def to_pwm_reverse
25
+ ((255.0 / 1023.0) * (1023 - self.to_f)).round
26
+ end
27
+
28
+ # convert value from old scale (min to max) to new scale (0 to new_max)
29
+ def to_scale(min, max, new_scale)
30
+ (((self.to_f - min) / (max - min)) * new_max).round
31
+ end
32
+ end
@@ -26,6 +26,18 @@ module Artoo
26
26
  super
27
27
  end
28
28
 
29
+ # Name of device
30
+ # @return [String]
31
+ def name
32
+ "<%= adaptor_name %>"
33
+ end
34
+
35
+ # Version of device
36
+ # @return [String]
37
+ def version
38
+ Artoo::<%= adaptor_class_name %>::VERSION
39
+ end
40
+
29
41
  # Uses method missing to call device actions
30
42
  # @see device documentation
31
43
  def method_missing(method_name, *arguments, &block)
@@ -1,4 +1,5 @@
1
1
  require 'rbconfig'
2
+ require 'artoo/ext/numeric'
2
3
 
3
4
  module Artoo
4
5
  # Utility methods used for various important things
@@ -86,18 +87,3 @@ module Artoo
86
87
  end
87
88
  end
88
89
  end
89
-
90
- # Adds syntactic suger for seconds
91
- class Integer < Numeric
92
- # @return [Integer] Plain number, actually does nothing
93
- # @example 20.seconds => 20
94
- def seconds
95
- return self
96
- end
97
-
98
- # @return [Integer] Plain number, actually does nothing
99
- # @example 1.second => 1
100
- def second
101
- return self
102
- end
103
- end
@@ -1,5 +1,5 @@
1
1
  module Artoo
2
2
  unless const_defined?('VERSION')
3
- VERSION = "1.1.1"
3
+ VERSION = "1.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ron Evans
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-09-11 00:00:00.000000000 Z
15
+ date: 2013-09-17 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: celluloid
@@ -48,14 +48,14 @@ dependencies:
48
48
  requirements:
49
49
  - - ~>
50
50
  - !ruby/object:Gem::Version
51
- version: 0.4.0.pre
51
+ version: 0.4.0
52
52
  type: :runtime
53
53
  prerelease: false
54
54
  version_requirements: !ruby/object:Gem::Requirement
55
55
  requirements:
56
56
  - - ~>
57
57
  - !ruby/object:Gem::Version
58
- version: 0.4.0.pre
58
+ version: 0.4.0
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: multi_json
61
61
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +222,7 @@ files:
222
222
  - lib/artoo/events.rb
223
223
  - lib/artoo/exceptions.rb
224
224
  - lib/artoo/ext/actor.rb
225
+ - lib/artoo/ext/numeric.rb
225
226
  - lib/artoo/generators/adaptor.rb
226
227
  - lib/artoo/generators/adaptor/Gemfile.tt
227
228
  - lib/artoo/generators/adaptor/LICENSE