i2c-devices 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +8 -0
- data/README.md +3 -3
- data/lib/i2c.rb +1 -1
- data/lib/i2c/device/aqm0802.rb +14 -2
- data/lib/i2c/device/hdc1000.rb +42 -0
- data/lib/i2c/driver/gpio.rb +1 -1
- data/lib/i2c/driver/i2c-dev.rb +1 -1
- data/xt/aqm0802a.rb +7 -0
- data/xt/driver-gpio.rb +15 -15
- data/xt/hdc1000.rb +6 -0
- data/xt/mpl115a2.rb +1 -1
- metadata +13 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 246d5743687852c69c063e4bdcb689320446ce70
|
4
|
+
data.tar.gz: ca1a2ca228efb4273a950b5f6cf75f54c4abb2d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5275d90cca868f5529428dcc26498883a61979b36e35ff7306086665a3df190cdffb8cb46204f8668cdfd833264ab67229a23a7fc368c3983feb38481444c5a
|
7
|
+
data.tar.gz: c1526218e9e11d57affcc896dbe0f747e1ccdc7d7ba69e1fc4c629eb41e0bcdd90531fb58d4d4c32935713b7feca3b42fdd51b69e0a281c49d85886fdc892705
|
data/ChangeLog
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
2015-08-14 SATOH Hiroh <cho45@lowreal.net>
|
2
|
+
|
3
|
+
* 0.0.5:
|
4
|
+
[MOD] i2cget acceprt nil as param (by hotchpotch)
|
5
|
+
[ADD] add device HDC1000 (by hotchpotch)
|
6
|
+
[FIX] fix device AQM0802a (by hotchpotch)
|
7
|
+
|
8
|
+
|
1
9
|
2014-02-20 SATOH Hiroh <cho45@lowreal.net>
|
2
10
|
|
3
11
|
* 0.0.1: initial release
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ or pre-defiend device driver class:
|
|
27
27
|
```
|
28
28
|
require "i2c/device/acm1602ni"
|
29
29
|
|
30
|
-
lcd = ACM1602NI.new
|
30
|
+
lcd = I2CDevice::ACM1602NI.new
|
31
31
|
|
32
32
|
lcd.put_line(0, "0123456789ABCDEF")
|
33
33
|
```
|
@@ -39,7 +39,7 @@ with driver class
|
|
39
39
|
require "i2c/device/mpl115a2"
|
40
40
|
require "i2c/driver/i2c-dev"
|
41
41
|
|
42
|
-
mpl = MPL115A2.new(driver: I2CDevice::Driver::I2CDev.new("/dev/i2c-0"))
|
42
|
+
mpl = I2CDevice::MPL115A2.new(driver: I2CDevice::Driver::I2CDev.new("/dev/i2c-0"))
|
43
43
|
p mpl.calculate_hPa
|
44
44
|
```
|
45
45
|
|
@@ -49,7 +49,7 @@ or GPIO backend driver (this is very slow)
|
|
49
49
|
require "i2c/device/mpl115a2"
|
50
50
|
require "i2c/driver/gpio"
|
51
51
|
|
52
|
-
mpl = MPL115A2.new(driver: I2CDevice::Driver::GPIO.new(
|
52
|
+
mpl = I2CDevice::MPL115A2.new(driver: I2CDevice::Driver::GPIO.new(
|
53
53
|
sda: 23, # pin 16 in raspberry pi
|
54
54
|
scl: 24, # pin 18 in raspberry pi
|
55
55
|
))
|
data/lib/i2c.rb
CHANGED
data/lib/i2c/device/aqm0802.rb
CHANGED
@@ -53,6 +53,18 @@ class I2CDevice::AQM0802A < I2CDevice::HD44780
|
|
53
53
|
i2cset(0, 0b00100000 | (dl<<4) | (n<<3) | (f<<2) | (is))
|
54
54
|
sleep 37e-6
|
55
55
|
end
|
56
|
-
end
|
57
|
-
|
58
56
|
|
57
|
+
def put_line(line, str, force=false)
|
58
|
+
str.force_encoding(Encoding::BINARY)
|
59
|
+
str.gsub!(/#{MAP.keys.join('|')}/, MAP)
|
60
|
+
str = "%- 8s" % str
|
61
|
+
if force || str != @lines[line]
|
62
|
+
# set ddram address
|
63
|
+
set_ddram_address(line<<6) # line is 0 or 1
|
64
|
+
sleep 60e-6
|
65
|
+
i2cset(0b01000000, *str.unpack("C*"))
|
66
|
+
sleep 60e-6
|
67
|
+
end
|
68
|
+
@lines[line] = str
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
require "i2c"
|
4
|
+
|
5
|
+
# http://www.ti.com/product/HDC1000
|
6
|
+
# A Digital humidity/temperature sensor
|
7
|
+
|
8
|
+
class I2CDevice::HDC1000 < I2CDevice
|
9
|
+
def initialize(args = {})
|
10
|
+
args = {
|
11
|
+
address: 0x40
|
12
|
+
}.merge(args)
|
13
|
+
super args
|
14
|
+
configuration
|
15
|
+
end
|
16
|
+
|
17
|
+
def configuration
|
18
|
+
i2cset(
|
19
|
+
0x02, # Configuration register
|
20
|
+
0x10, # TRES 14bit
|
21
|
+
0x00 # HRES 14bit
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_data
|
26
|
+
i2cset(0x00)
|
27
|
+
sleep 6.35e-3 + 6.5e-3
|
28
|
+
raw = i2cget(nil, 4).unpack("C4")
|
29
|
+
{
|
30
|
+
temperature: calc_temperature(raw[0], raw[1]),
|
31
|
+
humidity: calc_humidity(raw[2], raw[3])
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
def calc_temperature(d1, d2)
|
36
|
+
((d1<<8 | d2).to_f / 2**16 * 165) - 40
|
37
|
+
end
|
38
|
+
|
39
|
+
def calc_humidity(d1, d2)
|
40
|
+
(d1<<8 | d2).to_f / 2**16 * 100
|
41
|
+
end
|
42
|
+
end
|
data/lib/i2c/driver/gpio.rb
CHANGED
data/lib/i2c/driver/i2c-dev.rb
CHANGED
@@ -36,7 +36,7 @@ class I2CDevice::Driver::I2CDev < I2CDevice::Driver::Base
|
|
36
36
|
def i2cget(address, param, length)
|
37
37
|
i2c = File.open(@path, "r+")
|
38
38
|
i2c.ioctl(I2C_SLAVE, address)
|
39
|
-
i2c.syswrite(param.chr)
|
39
|
+
i2c.syswrite(param.chr) unless param.nil?
|
40
40
|
ret = i2c.sysread(length)
|
41
41
|
i2c.close
|
42
42
|
ret
|
data/xt/aqm0802a.rb
ADDED
data/xt/driver-gpio.rb
CHANGED
@@ -13,22 +13,22 @@ driver = I2CDevice::Driver::GPIO.new(
|
|
13
13
|
)
|
14
14
|
|
15
15
|
|
16
|
-
device = I2CDevice.new(address: 0x20, driver: driver)
|
17
|
-
loop do
|
18
|
-
seq = Array.new(8) { rand(0x10) }
|
19
|
-
seq = (0..7).map {|n| 0x10 + n }
|
20
|
-
seq = (1..10).to_a
|
21
|
-
p seq
|
22
|
-
p device.i2cset(0x00, *seq)
|
23
|
-
# p device.i2cget(0x00, 8).unpack("C*")
|
24
|
-
|
25
|
-
exit 1
|
26
|
-
sleep 1
|
27
|
-
end
|
28
|
-
|
29
|
-
#mpl = MPL115A2.new(driver: driver)
|
16
|
+
#device = I2CDevice.new(address: 0x20, driver: driver)
|
30
17
|
#loop do
|
31
|
-
#
|
18
|
+
# seq = Array.new(8) { rand(0x10) }
|
19
|
+
# seq = (0..7).map {|n| 0x10 + n }
|
20
|
+
# seq = (1..10).to_a
|
21
|
+
# p seq
|
22
|
+
# p device.i2cset(0x00, *seq)
|
23
|
+
# # p device.i2cget(0x00, 8).unpack("C*")
|
24
|
+
#
|
25
|
+
# exit 1
|
32
26
|
# sleep 1
|
33
27
|
#end
|
34
28
|
|
29
|
+
mpl = I2CDevice::MPL115A2.new(driver: driver)
|
30
|
+
loop do
|
31
|
+
p mpl.calculate_hPa
|
32
|
+
sleep 1
|
33
|
+
end
|
34
|
+
|
data/xt/hdc1000.rb
ADDED
data/xt/mpl115a2.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: i2c-devices
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cho45
|
@@ -14,28 +14,28 @@ dependencies:
|
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
description: i2c-devices is a drivers for i2c devices
|
@@ -45,7 +45,7 @@ extensions: []
|
|
45
45
|
extra_rdoc_files:
|
46
46
|
- README.md
|
47
47
|
files:
|
48
|
-
- .gitignore
|
48
|
+
- ".gitignore"
|
49
49
|
- ChangeLog
|
50
50
|
- README.md
|
51
51
|
- Rakefile
|
@@ -55,6 +55,7 @@ files:
|
|
55
55
|
- lib/i2c/device/adt7410.rb
|
56
56
|
- lib/i2c/device/aqm0802.rb
|
57
57
|
- lib/i2c/device/hd44780.rb
|
58
|
+
- lib/i2c/device/hdc1000.rb
|
58
59
|
- lib/i2c/device/mpl115a2.rb
|
59
60
|
- lib/i2c/driver.rb
|
60
61
|
- lib/i2c/driver/gpio.rb
|
@@ -65,7 +66,9 @@ files:
|
|
65
66
|
- spec/i2cdevice_spec.rb
|
66
67
|
- spec/mocki2cdevice.rb
|
67
68
|
- xt/acm1602ni.rb
|
69
|
+
- xt/aqm0802a.rb
|
68
70
|
- xt/driver-gpio.rb
|
71
|
+
- xt/hdc1000.rb
|
69
72
|
- xt/i2cdetect.rb
|
70
73
|
- xt/mpl115a2.rb
|
71
74
|
homepage: https://github.com/cho45/ruby-i2c-devices
|
@@ -74,23 +77,23 @@ licenses:
|
|
74
77
|
metadata: {}
|
75
78
|
post_install_message:
|
76
79
|
rdoc_options:
|
77
|
-
- --main
|
80
|
+
- "--main"
|
78
81
|
- README.md
|
79
82
|
require_paths:
|
80
83
|
- lib
|
81
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|
82
85
|
requirements:
|
83
|
-
- -
|
86
|
+
- - ">="
|
84
87
|
- !ruby/object:Gem::Version
|
85
88
|
version: '0'
|
86
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
90
|
requirements:
|
88
|
-
- -
|
91
|
+
- - ">="
|
89
92
|
- !ruby/object:Gem::Version
|
90
93
|
version: '0'
|
91
94
|
requirements: []
|
92
95
|
rubyforge_project:
|
93
|
-
rubygems_version: 2.
|
96
|
+
rubygems_version: 2.4.5
|
94
97
|
signing_key:
|
95
98
|
specification_version: 4
|
96
99
|
summary: i2c device drivers
|