i2c-devices 0.0.4 → 0.0.5
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 +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
|