bonekit 0.0.2-arm-linux → 0.0.3-arm-linux
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 +8 -8
- data/README.md +16 -13
- data/Rakefile +4 -1
- data/bonekit.gemspec +2 -2
- data/examples/analog/fading.rb +28 -0
- data/ext/bonekit/beaglebone.c +13 -6
- data/ext/bonekit/beaglebone.h +115 -99
- data/ext/bonekit/beaglebone_global_const.c +128 -98
- data/ext/bonekit/beaglebone_global_const.h +6 -0
- data/ext/bonekit/gpio.c +1 -0
- data/ext/bonekit/gpio.h +0 -6
- data/ext/bonekit/pin.c +54 -12
- data/ext/bonekit/pin.h +9 -2
- data/ext/bonekit/pin_class.c +30 -4
- data/ext/bonekit/pwm.c +235 -0
- data/ext/bonekit/pwm.h +67 -0
- data/lib/bonekit/bonekit.so +0 -0
- data/lib/bonekit/version.rb +1 -1
- data/lib/bonekit.rb +2 -9
- data/spec/pin_spec.rb +44 -4
- data/test/bonekit-c/beaglebone_test.c +26 -0
- data/test/bonekit-c/pin_test.c +56 -0
- data/test/unit/pin_adc_test.rb +16 -0
- data/test/unit/{pin_test.rb → pin_gpio_test.rb} +2 -2
- data/test/unit/pin_pwm_test.rb +36 -0
- metadata +19 -8
- data/lib/bonekit.so +0 -0
data/ext/bonekit/pwm.c
ADDED
@@ -0,0 +1,235 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
pwm.c
|
4
|
+
BoneKit
|
5
|
+
|
6
|
+
Copyright (cc) 2012 Luis Laugga.
|
7
|
+
Some rights reserved, all wrongs deserved.
|
8
|
+
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
10
|
+
this software and associated documentation files (the "Software"), to deal in
|
11
|
+
the Software without restriction, including without limitation the rights to
|
12
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
13
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
14
|
+
subject to the following conditions:
|
15
|
+
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
17
|
+
copies or substantial portions of the Software.
|
18
|
+
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
21
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
22
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
23
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
24
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25
|
+
|
26
|
+
*/
|
27
|
+
|
28
|
+
#include "pwm.h"
|
29
|
+
|
30
|
+
#include <stdio.h>
|
31
|
+
#include <stdlib.h>
|
32
|
+
#include <fcntl.h>
|
33
|
+
#include <unistd.h>
|
34
|
+
#include <string.h>
|
35
|
+
#include <sys/types.h>
|
36
|
+
#include <dirent.h>
|
37
|
+
|
38
|
+
int pwm_enable()
|
39
|
+
{
|
40
|
+
int fd;
|
41
|
+
if((fd = open(SLOTS, O_WRONLY)) < 0)
|
42
|
+
return -1;
|
43
|
+
|
44
|
+
const char * am33xx_pwm = "am33xx_pwm";
|
45
|
+
write(fd, am33xx_pwm, strlen(am33xx_pwm));
|
46
|
+
close(fd);
|
47
|
+
|
48
|
+
return 0;
|
49
|
+
}
|
50
|
+
|
51
|
+
int pwm_enable_pin(const char * pin)
|
52
|
+
{
|
53
|
+
if(pwm_enable() < 0) // enable pwm
|
54
|
+
return -1;
|
55
|
+
|
56
|
+
int fd;
|
57
|
+
if((fd = open(SLOTS, O_WRONLY)) < 0)
|
58
|
+
return -1;
|
59
|
+
|
60
|
+
char bone_pwm_pin[15];
|
61
|
+
snprintf(bone_pwm_pin, 15, "bone_pwm_%s", pin);
|
62
|
+
write(fd, bone_pwm_pin, strlen(bone_pwm_pin)); // enable pwm pin
|
63
|
+
close(fd);
|
64
|
+
|
65
|
+
return 0;
|
66
|
+
}
|
67
|
+
|
68
|
+
int pwm_get_key(const char * pin, char ** pwm_key)
|
69
|
+
{
|
70
|
+
DIR * dd;
|
71
|
+
struct dirent * df;
|
72
|
+
|
73
|
+
dd = opendir(OCP_DIR);
|
74
|
+
if(dd != NULL)
|
75
|
+
{
|
76
|
+
while((df = readdir(dd)))
|
77
|
+
{
|
78
|
+
if(strstr(df->d_name, pin))
|
79
|
+
{
|
80
|
+
int pwm_key_len = strlen(df->d_name)+1;
|
81
|
+
*pwm_key = (char *)calloc(pwm_key_len, sizeof(char));
|
82
|
+
snprintf(*pwm_key, pwm_key_len, "%s", df->d_name);
|
83
|
+
closedir(dd);
|
84
|
+
return 0;
|
85
|
+
}
|
86
|
+
}
|
87
|
+
closedir (dd);
|
88
|
+
}
|
89
|
+
|
90
|
+
return -1;
|
91
|
+
}
|
92
|
+
|
93
|
+
int pwm_export(const char * pin, char ** pwm_key)
|
94
|
+
{
|
95
|
+
if(pwm_enable_pin(pin) < 0) // enable pin
|
96
|
+
return -1;
|
97
|
+
|
98
|
+
if(pwm_get_key(pin, pwm_key) < 0) // get key for pin
|
99
|
+
return -1;
|
100
|
+
|
101
|
+
// Set default values
|
102
|
+
pwm_set_polarity(*pwm_key, PWM_POLARITY);
|
103
|
+
pwm_set_period(*pwm_key, PWM_PERIOD_NS);
|
104
|
+
|
105
|
+
return 0;
|
106
|
+
}
|
107
|
+
|
108
|
+
int pwm_unexport(char * pwm_key)
|
109
|
+
{
|
110
|
+
if(pwm_key == NULL)
|
111
|
+
return -1;
|
112
|
+
|
113
|
+
// TODO disable pwm for key
|
114
|
+
free(pwm_key);
|
115
|
+
|
116
|
+
return 0;
|
117
|
+
}
|
118
|
+
|
119
|
+
int pwm_read(char * pwm_key, const char * filename, char * value, unsigned int length)
|
120
|
+
{
|
121
|
+
if(pwm_key == NULL)
|
122
|
+
return -1;
|
123
|
+
|
124
|
+
int fd, len;
|
125
|
+
char filepath[PWM_LEN];
|
126
|
+
snprintf(filepath, sizeof(filepath), "%s/%s/%s", OCP_DIR, pwm_key, filename);
|
127
|
+
|
128
|
+
if((fd = open(filepath, O_RDONLY | O_NONBLOCK)) < 0)
|
129
|
+
return -1;
|
130
|
+
|
131
|
+
lseek(fd, 0, SEEK_SET);
|
132
|
+
|
133
|
+
read(fd, value, length);
|
134
|
+
sscanf(value, "%s\n", value);
|
135
|
+
close(fd);
|
136
|
+
|
137
|
+
return 0;
|
138
|
+
}
|
139
|
+
|
140
|
+
int pwm_write(char * pwm_key, const char * filename, char * value)
|
141
|
+
{
|
142
|
+
if(pwm_key == NULL)
|
143
|
+
return -1;
|
144
|
+
|
145
|
+
int fd;
|
146
|
+
char filepath[PWM_LEN];
|
147
|
+
snprintf(filepath, sizeof(filepath), "%s/%s/%s", OCP_DIR, pwm_key, filename);
|
148
|
+
|
149
|
+
if((fd = open(filepath, O_WRONLY)) < 0)
|
150
|
+
return -1;
|
151
|
+
|
152
|
+
write(fd, value, strlen(value));
|
153
|
+
close(fd);
|
154
|
+
|
155
|
+
return 0;
|
156
|
+
}
|
157
|
+
|
158
|
+
int pwm_set_polarity(char * pwm_key, int polarity)
|
159
|
+
{
|
160
|
+
if(pwm_key == NULL)
|
161
|
+
return -1;
|
162
|
+
|
163
|
+
char value[PWM_LEN];
|
164
|
+
snprintf(value, PWM_LEN, "%d", polarity);
|
165
|
+
pwm_write(pwm_key, "polarity", value);
|
166
|
+
|
167
|
+
return 0;
|
168
|
+
}
|
169
|
+
|
170
|
+
int pwm_get_polarity(char * pwm_key, int * polarity)
|
171
|
+
{
|
172
|
+
if(pwm_key == NULL)
|
173
|
+
return -1;
|
174
|
+
|
175
|
+
char value[PWM_LEN];
|
176
|
+
pwm_read(pwm_key, "polarity", value, PWM_LEN);
|
177
|
+
sscanf(value, "%d", polarity);
|
178
|
+
|
179
|
+
return 0;
|
180
|
+
}
|
181
|
+
|
182
|
+
int pwm_set_period(char * pwm_key, unsigned long period)
|
183
|
+
{
|
184
|
+
if(pwm_key == NULL)
|
185
|
+
return -1;
|
186
|
+
|
187
|
+
char value[PWM_LEN];
|
188
|
+
snprintf(value, PWM_LEN, "%lu", period);
|
189
|
+
pwm_write(pwm_key, "period", value);
|
190
|
+
}
|
191
|
+
|
192
|
+
int pwm_get_period(char * pwm_key, unsigned long * period)
|
193
|
+
{
|
194
|
+
if(pwm_key == NULL)
|
195
|
+
return -1;
|
196
|
+
|
197
|
+
char value[PWM_LEN];
|
198
|
+
pwm_read(pwm_key, "period", value, PWM_LEN);
|
199
|
+
sscanf(value, "%lu", period);
|
200
|
+
|
201
|
+
return 0;
|
202
|
+
}
|
203
|
+
|
204
|
+
int pwm_set_duty_cycle(char * pwm_key, double duty_cycle) // duty_cycle interval [0.0..1.0]
|
205
|
+
{
|
206
|
+
if(pwm_key == NULL)
|
207
|
+
return -1;
|
208
|
+
|
209
|
+
if(duty_cycle < 0.0) // Check duty cycle upper bound
|
210
|
+
duty_cycle = 0.0;
|
211
|
+
|
212
|
+
if(duty_cycle > 1.0) // Check duty cycle lower bound
|
213
|
+
duty_cycle = 1.0;
|
214
|
+
|
215
|
+
char value[PWM_LEN];
|
216
|
+
snprintf(value, PWM_LEN, "%lu", (unsigned long)(duty_cycle * PWM_PERIOD_NS));
|
217
|
+
pwm_write(pwm_key, "duty", value);
|
218
|
+
|
219
|
+
return 0;
|
220
|
+
}
|
221
|
+
|
222
|
+
int pwm_get_duty_cycle(char * pwm_key, double * duty_cycle)
|
223
|
+
{
|
224
|
+
if(pwm_key == NULL)
|
225
|
+
return -1;
|
226
|
+
|
227
|
+
char value[PWM_LEN];
|
228
|
+
pwm_read(pwm_key, "duty", value, PWM_LEN);
|
229
|
+
unsigned long duty_cycle_ns = 0.0;
|
230
|
+
sscanf(value, "%lu", &duty_cycle_ns);
|
231
|
+
|
232
|
+
*duty_cycle = (double)(duty_cycle_ns/((double)PWM_PERIOD_NS));
|
233
|
+
|
234
|
+
return 0;
|
235
|
+
}
|
data/ext/bonekit/pwm.h
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
pwm.h
|
4
|
+
BoneKit
|
5
|
+
|
6
|
+
Copyright (cc) 2012 Luis Laugga.
|
7
|
+
Some rights reserved, all wrongs deserved.
|
8
|
+
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
10
|
+
this software and associated documentation files (the "Software"), to deal in
|
11
|
+
the Software without restriction, including without limitation the rights to
|
12
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
13
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
14
|
+
subject to the following conditions:
|
15
|
+
|
16
|
+
The above copyright notice and this permission notice shall be included in all
|
17
|
+
copies or substantial portions of the Software.
|
18
|
+
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
21
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
22
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
23
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
24
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25
|
+
|
26
|
+
*/
|
27
|
+
|
28
|
+
#ifndef BONEKIT_PWM_H__
|
29
|
+
#define BONEKIT_PWM_H__
|
30
|
+
|
31
|
+
#ifdef __cplusplus
|
32
|
+
extern "C" {
|
33
|
+
#endif
|
34
|
+
|
35
|
+
#define OCP_DIR "/sys/devices/ocp.2"
|
36
|
+
#define SLOTS "/sys/devices/bone_capemgr.8/slots"
|
37
|
+
|
38
|
+
#define PWM_LEN 64
|
39
|
+
|
40
|
+
#define PWM_PERIOD_NS 500000 // nanoseconds
|
41
|
+
#define PWM_POLARITY 0 // ...
|
42
|
+
|
43
|
+
int pwm_enable();
|
44
|
+
int pwm_enable_pin(const char *);
|
45
|
+
|
46
|
+
int pwm_get_key(const char *, char **);
|
47
|
+
|
48
|
+
int pwm_export(const char *, char **);
|
49
|
+
int pwm_unexport(char *);
|
50
|
+
|
51
|
+
int pwm_read(char *, const char * , char *, unsigned int);
|
52
|
+
int pwm_write(char *, const char *, char *);
|
53
|
+
|
54
|
+
int pwm_set_polarity(char *, int);
|
55
|
+
int pwm_get_polarity(char *, int *);
|
56
|
+
|
57
|
+
int pwm_set_period(char *, unsigned long);
|
58
|
+
int pwm_get_period(char *, unsigned long *);
|
59
|
+
|
60
|
+
int pwm_set_duty_cycle(char *, double);
|
61
|
+
int pwm_get_duty_cycle(char *, double *);
|
62
|
+
|
63
|
+
#ifdef __cplusplus
|
64
|
+
}
|
65
|
+
#endif
|
66
|
+
|
67
|
+
#endif
|
Binary file
|
data/lib/bonekit/version.rb
CHANGED
data/lib/bonekit.rb
CHANGED
@@ -1,9 +1,2 @@
|
|
1
|
-
|
2
|
-
require
|
3
|
-
begin
|
4
|
-
m = /(\d+.\d+)/.match(RUBY_VERSION)
|
5
|
-
ver = m[1]
|
6
|
-
require File.join(base_path, 'bonekit', ver, 'bonekit')
|
7
|
-
rescue LoadError
|
8
|
-
require File.join(base_path, 'bonekit', 'bonekit')
|
9
|
-
end
|
1
|
+
require 'bonekit/version'
|
2
|
+
require 'bonekit/bonekit'
|
data/spec/pin_spec.rb
CHANGED
@@ -2,11 +2,12 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Pin do
|
4
4
|
|
5
|
-
let :pin do
|
6
|
-
Pin.new 30
|
7
|
-
end
|
8
|
-
|
9
5
|
describe "mode" do
|
6
|
+
|
7
|
+
let :pin do
|
8
|
+
Pin.new P9_13
|
9
|
+
end
|
10
|
+
|
10
11
|
context "when default" do
|
11
12
|
it "returns Input" do
|
12
13
|
pin.mode.should eq(Input)
|
@@ -29,6 +30,11 @@ describe Pin do
|
|
29
30
|
end
|
30
31
|
|
31
32
|
describe "value" do
|
33
|
+
|
34
|
+
let :pin do
|
35
|
+
Pin.new P9_11
|
36
|
+
end
|
37
|
+
|
32
38
|
context "when default" do
|
33
39
|
it "returns 0" do
|
34
40
|
pin.value.should eq(0)
|
@@ -52,4 +58,38 @@ describe Pin do
|
|
52
58
|
end
|
53
59
|
end
|
54
60
|
end
|
61
|
+
|
62
|
+
describe "analog_value" do
|
63
|
+
|
64
|
+
let :pin do
|
65
|
+
Pin.new P9_39 # AIN
|
66
|
+
end
|
67
|
+
|
68
|
+
it "returns value between 0.0 and 1.0" do
|
69
|
+
pin.analog_value.should be >= 0.0
|
70
|
+
pin.analog_value.should be <= 1.0
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
describe "analog_value=" do
|
75
|
+
|
76
|
+
let :pin do
|
77
|
+
Pin.new P9_42 # PWM
|
78
|
+
end
|
79
|
+
|
80
|
+
context "when default" do
|
81
|
+
it "returns 0.0" do
|
82
|
+
pin.analog_value.should eq(0.0)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
context "when set to 1.0" do
|
87
|
+
before(:each) {
|
88
|
+
pin.analog_value = 1.0
|
89
|
+
}
|
90
|
+
it "returns 1.0" do
|
91
|
+
pin.analog_value.should eq(1.0)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
55
95
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#include "../../ext/bonekit/beaglebone.h"
|
2
|
+
|
3
|
+
#include <stdio.h>
|
4
|
+
|
5
|
+
int main()
|
6
|
+
{
|
7
|
+
beaglebone_t p = P9_42;
|
8
|
+
|
9
|
+
printf("p %s %x\n", p.pin_name, p.pin_mask);
|
10
|
+
|
11
|
+
char pin_name[PIN_NAME_LEN];
|
12
|
+
int gpio, ain, pwm_mux_mode;
|
13
|
+
|
14
|
+
beaglebone_pin_name(P9_42, pin_name);
|
15
|
+
gpio = beaglebone_gpio(P9_42);
|
16
|
+
ain = beaglebone_ain(P9_42);
|
17
|
+
pwm_mux_mode = beaglebone_pwm_mux_mode(P9_42);
|
18
|
+
|
19
|
+
printf("%s %d %d %d\n", pin_name, gpio, ain, pwm_mux_mode);
|
20
|
+
|
21
|
+
beaglebone_t u = USR1;
|
22
|
+
|
23
|
+
printf("u %s %x\n", u.pin_name, u.pin_mask);
|
24
|
+
|
25
|
+
return 0;
|
26
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#include "../../ext/bonekit/pin.h"
|
2
|
+
|
3
|
+
#include <stdio.h>
|
4
|
+
|
5
|
+
int main()
|
6
|
+
{
|
7
|
+
beaglebone_t p = P9_42;
|
8
|
+
|
9
|
+
pin_t * pin = pin_alloc();
|
10
|
+
pin_init(pin, P9_42);
|
11
|
+
|
12
|
+
pin_set_analog_value(pin, 1.0);
|
13
|
+
|
14
|
+
sleep(1);
|
15
|
+
|
16
|
+
pin_set_analog_value(pin, 0.5);
|
17
|
+
|
18
|
+
sleep(1);
|
19
|
+
|
20
|
+
pin_set_analog_value(pin, 0.0);
|
21
|
+
|
22
|
+
pin_destroy(pin);
|
23
|
+
|
24
|
+
pin = pin_alloc();
|
25
|
+
pin_init(pin, P9_13);
|
26
|
+
|
27
|
+
pin_set_mode(pin, OUTPUT);
|
28
|
+
pin_set_value(pin, HIGH);
|
29
|
+
|
30
|
+
sleep(1);
|
31
|
+
|
32
|
+
pin_set_value(pin, LOW);
|
33
|
+
|
34
|
+
sleep(1);
|
35
|
+
|
36
|
+
pin_set_value(pin, HIGH);
|
37
|
+
|
38
|
+
sleep(1);
|
39
|
+
|
40
|
+
pin_destroy(pin);
|
41
|
+
|
42
|
+
pin = pin_alloc();
|
43
|
+
pin_init(pin, P9_39);
|
44
|
+
|
45
|
+
printf("analog value %f\n", pin_analog_value(pin));
|
46
|
+
|
47
|
+
sleep(1);
|
48
|
+
|
49
|
+
printf("analog value %f\n", pin_analog_value(pin));
|
50
|
+
|
51
|
+
sleep(1);
|
52
|
+
|
53
|
+
pin_destroy(pin);
|
54
|
+
|
55
|
+
return 0;
|
56
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PinAdcTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@pin = Pin.new P9_39 # AIN 0
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_analog_value
|
13
|
+
assert((@pin.analog_value - (File.open('/sys/bus/iio/devices/iio:device0/in_voltage0_raw').read.chomp.to_f/4095.0)).abs < 0.001)
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class PinPwmTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@pin = Pin.new P9_42 # PWM
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def ocp_pwm_value
|
13
|
+
File.open('/sys/devices/ocp.2/pwm_test_P9_42.14/duty').read.chomp.to_f/File.open('/sys/devices/ocp.2/pwm_test_P9_42.14/period').read.chomp.to_f
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_set_analog_value
|
17
|
+
@pin.analog_value = 0.0
|
18
|
+
assert_equal(@pin.analog_value, ocp_pwm_value)
|
19
|
+
|
20
|
+
@pin.analog_value = 0.5
|
21
|
+
assert_equal(@pin.analog_value, ocp_pwm_value)
|
22
|
+
|
23
|
+
@pin.analog_value = 1.0
|
24
|
+
assert_equal(@pin.analog_value, ocp_pwm_value)
|
25
|
+
|
26
|
+
@pin.analog_value = -0.1
|
27
|
+
assert_equal(0.0, @pin.analog_value)
|
28
|
+
assert_equal(0.0, ocp_pwm_value)
|
29
|
+
|
30
|
+
|
31
|
+
@pin.analog_value = 1.1
|
32
|
+
assert_equal(1.0, @pin.analog_value)
|
33
|
+
assert_equal(1.0, ocp_pwm_value)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bonekit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: arm-linux
|
6
6
|
authors:
|
7
7
|
- Luis Laugga
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,16 +44,16 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.9.
|
47
|
+
version: 0.9.1
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.9.
|
54
|
+
version: 0.9.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- Rakefile
|
96
96
|
- bonekit.gemspec
|
97
97
|
- examples/analog/analog_read.rb
|
98
|
+
- examples/analog/fading.rb
|
98
99
|
- examples/basics/blink.rb
|
99
100
|
- examples/basics/digital_read.rb
|
100
101
|
- examples/basics/switch.rb
|
@@ -115,14 +116,20 @@ files:
|
|
115
116
|
- ext/bonekit/pin.h
|
116
117
|
- ext/bonekit/pin_class.c
|
117
118
|
- ext/bonekit/pin_class.h
|
119
|
+
- ext/bonekit/pwm.c
|
120
|
+
- ext/bonekit/pwm.h
|
118
121
|
- ext/bonekit/rbinit.c
|
119
122
|
- lib/bonekit.rb
|
120
123
|
- lib/bonekit/version.rb
|
121
124
|
- spec/pin_spec.rb
|
122
125
|
- spec/spec_helper.rb
|
126
|
+
- test/bonekit-c/beaglebone_test.c
|
127
|
+
- test/bonekit-c/pin_test.c
|
123
128
|
- test/test_helper.rb
|
124
|
-
- test/unit/
|
125
|
-
-
|
129
|
+
- test/unit/pin_adc_test.rb
|
130
|
+
- test/unit/pin_gpio_test.rb
|
131
|
+
- test/unit/pin_pwm_test.rb
|
132
|
+
- lib/bonekit/bonekit.so
|
126
133
|
homepage: http://laugga.com/bonekit
|
127
134
|
licenses:
|
128
135
|
- MIT
|
@@ -150,5 +157,9 @@ summary: Physical interaction toolkit for the beaglebone.
|
|
150
157
|
test_files:
|
151
158
|
- spec/pin_spec.rb
|
152
159
|
- spec/spec_helper.rb
|
160
|
+
- test/bonekit-c/beaglebone_test.c
|
161
|
+
- test/bonekit-c/pin_test.c
|
153
162
|
- test/test_helper.rb
|
154
|
-
- test/unit/
|
163
|
+
- test/unit/pin_adc_test.rb
|
164
|
+
- test/unit/pin_gpio_test.rb
|
165
|
+
- test/unit/pin_pwm_test.rb
|
data/lib/bonekit.so
DELETED
Binary file
|