vex-motors 1.0.0b
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 +7 -0
- data/lib/vex-motors.rb +90 -0
- metadata +129 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: de95028af6530d4cb418f0805d93211bd8316a6f693e4a95b0b921f5ac9bf493
|
4
|
+
data.tar.gz: '09a8eb499fcafbfd7b559f2754b4d96bbb3ad564e36e88930eff580dfb4563c1'
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 35212cc37793aa8b1f13dff9274faab1c7ab5252a374d378785e242fdb9bbe31a8d605113bd4ffcc62441ec6f57f192284a0694219bb9a93cf27c9888d16e235
|
7
|
+
data.tar.gz: de41be23b7ee174289acd89a320462862977aeddcc9b074f55cba15fcd7fd75f12624d51dcdc1e45a32a6a87398c74c51669d2ed3ac5bc6c5ca8f7c8d17bf867
|
data/lib/vex-motors.rb
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
module Motor
|
2
|
+
class Motor
|
3
|
+
attr_reader :stall_current
|
4
|
+
attr_reader :stall_torque
|
5
|
+
attr_reader :free_speed
|
6
|
+
attr_reader :max_power
|
7
|
+
attr_reader :quantity
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@quantity = 1
|
11
|
+
end
|
12
|
+
|
13
|
+
def current(speed: nil, torque: nil)
|
14
|
+
unless speed.nil?
|
15
|
+
return @stall_current * (@free_speed - speed) / @free_speed
|
16
|
+
end
|
17
|
+
|
18
|
+
unless torque.nil?
|
19
|
+
return @stall_current * torque / @stall_torque
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def speed(current: nil, torque: nil)
|
24
|
+
unless current.nil?
|
25
|
+
return @free_speed * (@stall_current - current) / @stall_current
|
26
|
+
end
|
27
|
+
|
28
|
+
unless torque.nil?
|
29
|
+
return @free_speed * (@stall_torque - torque) / @stall_torque
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def torque(speed: nil, current: nil)
|
34
|
+
unless speed.nil?
|
35
|
+
return @stall_torque * (@free_speed - speed) / @free_speed
|
36
|
+
end
|
37
|
+
|
38
|
+
unless current.nil?
|
39
|
+
return @stall_torque * current / @stall_current
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
##
|
44
|
+
# Sets the # of motors being used.
|
45
|
+
#
|
46
|
+
# Note: because this may be called in initialize, we rely on
|
47
|
+
# the @quantity value to default to one (and not be nil) - this
|
48
|
+
# is set in the super initialize in Motor.
|
49
|
+
#
|
50
|
+
def set_quantity(qty) #should be quantity=(), but then calling from child doesn't work?
|
51
|
+
@stall_current *= qty / @quantity
|
52
|
+
@stall_torque *= qty / @quantity
|
53
|
+
@max_power *= qty / @quantity
|
54
|
+
@quantity = qty
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
class CIM < Motor
|
59
|
+
def initialize(qty = 1)
|
60
|
+
super()
|
61
|
+
@stall_current = 131
|
62
|
+
@stall_torque = 2.41
|
63
|
+
@free_speed = 5330
|
64
|
+
@max_power = 337
|
65
|
+
set_quantity qty
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class MiniCIM < Motor
|
70
|
+
def initialize(qty = 1)
|
71
|
+
super()
|
72
|
+
@stall_current = 89
|
73
|
+
@stall_torque = 1.41
|
74
|
+
@free_speed = 5840
|
75
|
+
@max_power = 215
|
76
|
+
set_quantity qty
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class Pro775 < Motor
|
81
|
+
def initialize(qty = 1)
|
82
|
+
super()
|
83
|
+
@stall_current = 134
|
84
|
+
@stall_torque = 0.71
|
85
|
+
@free_speed = 18730
|
86
|
+
@max_power = 347
|
87
|
+
set_quantity qty
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
metadata
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vex-motors
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0b
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Caleb Smith
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-05-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rubocop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.49'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.49'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rdoc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.15'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.15'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '12.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '12.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: test-unit
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.2'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: github_changelog_generator
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.14'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.14'
|
97
|
+
description: Library containing detailed Vex motor specifications, including CIMs,
|
98
|
+
MiniCIMs, and 775 Pros
|
99
|
+
email: karagenit@outlook.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- lib/vex-motors.rb
|
105
|
+
homepage: https://github.com/karagenit/vex
|
106
|
+
licenses:
|
107
|
+
- MIT
|
108
|
+
metadata: {}
|
109
|
+
post_install_message:
|
110
|
+
rdoc_options: []
|
111
|
+
require_paths:
|
112
|
+
- lib/
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: 1.3.1
|
123
|
+
requirements: []
|
124
|
+
rubyforge_project:
|
125
|
+
rubygems_version: 2.7.4
|
126
|
+
signing_key:
|
127
|
+
specification_version: 4
|
128
|
+
summary: "[Deprecated] Vex Pro Motor Data"
|
129
|
+
test_files: []
|