rbone 0.1.3 → 0.1.4

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.
@@ -14,6 +14,76 @@ module Rbone
14
14
  P9_12, P9_15, P9_23, P9_25, P9_27, P9_42,
15
15
  ].freeze
16
16
 
17
+ PIN_MUX_REF = {
18
+ P8_3 => "gpmc_ad6",
19
+ P8_4 => "gpmc_ad7",
20
+ P8_5 => "gpmc_ad2",
21
+ P8_6 => "gpmc_ad3",
22
+ #P8_7 => "gpmc_advn_ale",
23
+ #P8_8 => "gpmc_oen_ren",
24
+ #P8_9 => "gpmc_ben0_cle",
25
+ #P8_10 => "gpmc_wen",
26
+ P8_11 => "gpmc_ad13",
27
+ P8_12 => "gpmc_ad12",
28
+ #P8_13 => "gpmc_ad9",
29
+ P8_14 => "gpmc_ad10",
30
+ P8_15 => "gpmc_ad15",
31
+ P8_16 => "gpmc_ad14",
32
+ P8_17 => "gpmc_ad11",
33
+ P8_18 => "gpmc_clk",
34
+ #P8_19 => "gpmc_ad8",
35
+ P8_20 => "gpmc_csn2",
36
+ P8_21 => "gpmc_csn1",
37
+ P8_22 => "gpmc_ad5",
38
+ P8_23 => "gpmc_ad4",
39
+ P8_24 => "gpmc_ad1",
40
+ P8_25 => "gpmc_ad0",
41
+ P8_26 => "gpmc_csn0",
42
+ P8_27 => "lcd_vsync",
43
+ P8_28 => "lcd_pclk",
44
+ P8_29 => "lcd_hsync",
45
+ P8_30 => "lcd_ac_bias_en",
46
+ #P8_31 => "lcd_data14",
47
+ #P8_32 => "lcd_data15",
48
+ #P8_33 => "lcd_data13",
49
+ #P8_34 => "lcd_data11",
50
+ #P8_35 => "lcd_data12",
51
+ #P8_36 => "lcd_data10",
52
+ #P8_37 => "lcd_data8",
53
+ #P8_38 => "lcd_data9",
54
+ P8_39 => "lcd_data6",
55
+ P8_40 => "lcd_data7",
56
+ P8_41 => "lcd_data4",
57
+ P8_42 => "lcd_data5",
58
+ P8_43 => "lcd_data2",
59
+ P8_44 => "lcd_data3",
60
+ P8_45 => "lcd_data0",
61
+ P8_46 => "lcd_data1",
62
+ #P9_11 => "gpmc_wait0",
63
+ P9_12 => "gpmc_ben1",
64
+ #P9_13 => "gpmc_wpn",
65
+ #P9_14 => "gpmc_a2",
66
+ P9_15 => "gpmc_a0",
67
+ #P9_16 => "gpmc_a3",
68
+ #P9_17 => "spi0_cs0",
69
+ #P9_18 => "spi0_d1",
70
+ #P9_19 => "uart1_rtsn",
71
+ #P9_20 => "uart1_ctsn",
72
+ #P9_21 => "spi0_d0",
73
+ #P9_22 => "spi0_sclk",
74
+ P9_23 => "gpmc_a1",
75
+ #P9_24 => "uart1_txd",
76
+ P9_25 => "mcasp0_ahclkx",
77
+ #P9_26 => "uart1_rxd",
78
+ P9_27 => "mcasp0_fsr",
79
+ #P9_28 => "mcasp0_ahclkr",
80
+ #P9_29 => "mcasp0_fsx",
81
+ #P9_30 => "mcasp0_axr0",
82
+ #P9_31 => "mcasp0_ahclkx",
83
+ #P9_41 => "xdma_event_intr0",
84
+ P9_42 => "ecap0_in_pwm0_out"
85
+ }.freeze
86
+
17
87
  USR_LEDS = [
18
88
  USR0, USR1, USR2, USR3
19
89
  ].freeze
@@ -55,15 +125,21 @@ module Rbone
55
125
  f.write(pin.to_s)
56
126
  end
57
127
 
128
+ muxfile = File.open("/sys/kernel/debug/omap_mux/%s" % [PIN_MUX_REF[pin]], 'w')
129
+
58
130
  filename = '/sys/class/gpio/gpio%d/direction' % [pin]
59
131
  File.open(filename, 'w') do |f|
60
132
  if direction == INPUT
61
133
  f.write("in")
134
+ muxfile.write("2F")
62
135
  else
63
136
  f.write("out")
137
+ muxfile.write("7")
64
138
  end
65
139
  end
66
140
 
141
+ muxfile.close
142
+
67
143
  @exported_pins.push(pin)
68
144
  else
69
145
  raise PinRefError, "#{pin} is not a valid digital pin reference"
@@ -96,7 +172,7 @@ module Rbone
96
172
  File.open(filename, 'r') do |f|
97
173
  value = f.read.chomp
98
174
  end
99
- case value.chomp
175
+ case value
100
176
  when '0' then LOW
101
177
  when '1' then HIGH
102
178
  else nil
@@ -1,3 +1,3 @@
1
1
  module Rbone
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -13,6 +13,12 @@ describe Rbone::App do
13
13
  FileUtils.mkdir_p(base_dir)
14
14
  FileUtils.touch(%w(brightness max_brightness trigger uevent).map{ |f| "#{base_dir}/#{f}" })
15
15
  end
16
+
17
+ # mock pin mux files
18
+ FileUtils.mkdir_p("/sys/kernel/debug/omap_mux")
19
+ Rbone::App::PIN_MUX_REF.values.each do |pin_mux_file|
20
+ FileUtils.touch("/sys/kernel/debug/omap_mux/%s" % [pin_mux_file])
21
+ end
16
22
  end
17
23
 
18
24
  after :each do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-22 00:00:00.000000000 Z
12
+ date: 2012-11-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70349566284100 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70349566284100
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &70349566283620 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70349566283620
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: fakefs
38
- requirement: &70349566283080 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,7 +53,12 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70349566283080
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  description: This gem provides a simple interface for writing Arduino-style programs
48
63
  for the BeagleBone.
49
64
  email:
@@ -80,7 +95,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
95
  version: '0'
81
96
  segments:
82
97
  - 0
83
- hash: 4427378904925698514
98
+ hash: -2053350550598623761
84
99
  required_rubygems_version: !ruby/object:Gem::Requirement
85
100
  none: false
86
101
  requirements:
@@ -89,10 +104,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
104
  version: '0'
90
105
  segments:
91
106
  - 0
92
- hash: 4427378904925698514
107
+ hash: -2053350550598623761
93
108
  requirements: []
94
109
  rubyforge_project:
95
- rubygems_version: 1.8.11
110
+ rubygems_version: 1.8.23
96
111
  signing_key:
97
112
  specification_version: 3
98
113
  summary: Write simple Arduino-style programs for your BeagleBone