SSD1306 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/SSD1306.rb +1 -0
- data/lib/SSD1306/display.rb +24 -1
- data/lib/SSD1306/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8439aea93e663ecf53256639ad51b1fc31345e7c
|
4
|
+
data.tar.gz: 799807ebfc631089a5d7b9d30a0b6511349f2b44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1da3c49ffd3a440a335946dc8c00e16c1b1b9b8b2d3e01467c5ca1840260e10d00e9cc1aa336235ae1952bcb130073a8d439f2e9d568a09c76816b8032672e76
|
7
|
+
data.tar.gz: acd0c64926c82f3dda48cce8c58dead3eb3c3c3960a91cb9d94a09b8de91c7126996a296e8cbce5d737b6e8bcf9b85e977d525081c4847943178fcbd939b425d
|
data/lib/SSD1306.rb
CHANGED
data/lib/SSD1306/display.rb
CHANGED
@@ -37,7 +37,7 @@ module SSD1306
|
|
37
37
|
SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL = 0x2A
|
38
38
|
|
39
39
|
class Display
|
40
|
-
attr_accessor :protocol, :path, :address, :width, :height, :buffer, :vccstate, :interface
|
40
|
+
attr_accessor :protocol, :path, :address, :width, :height, :buffer, :vccstate, :interface, :cursor
|
41
41
|
|
42
42
|
def initialize(opts = {})
|
43
43
|
default_options = {
|
@@ -59,6 +59,7 @@ module SSD1306
|
|
59
59
|
@vccstate = options[:vccstate]
|
60
60
|
@pages = @height / 8
|
61
61
|
@buffer = [0]*(@width*@pages)
|
62
|
+
@cursor = Cursor.new
|
62
63
|
@reset = options[:reset]
|
63
64
|
if @protocol == :i2c
|
64
65
|
@interface = I2C.create(@path)
|
@@ -109,6 +110,7 @@ module SSD1306
|
|
109
110
|
end
|
110
111
|
|
111
112
|
self.command SSD1306_DISPLAYON
|
113
|
+
self.clear!
|
112
114
|
end
|
113
115
|
|
114
116
|
def reset
|
@@ -168,6 +170,19 @@ module SSD1306
|
|
168
170
|
self.display!
|
169
171
|
end
|
170
172
|
|
173
|
+
def print(string)
|
174
|
+
string.each_byte do |c|
|
175
|
+
self.print_char c
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
def println(string)
|
180
|
+
string.each_byte do |c|
|
181
|
+
self.print_char c
|
182
|
+
end
|
183
|
+
self.print_char 10 # 10 is ASCII for \n
|
184
|
+
end
|
185
|
+
|
171
186
|
#TODO Implement Contrast functionality
|
172
187
|
def set_contrast(contrast)
|
173
188
|
raise "Contrast not yet implemented"
|
@@ -177,5 +192,13 @@ module SSD1306
|
|
177
192
|
def dim(dim)
|
178
193
|
raise "Dim not implemented yet"
|
179
194
|
end
|
195
|
+
|
196
|
+
private
|
197
|
+
def print_char(b)
|
198
|
+
for i in 0...5
|
199
|
+
@buffer[@cursor.buffer_index + i] = FONT[(b*5) + i]
|
200
|
+
end
|
201
|
+
@cursor.increment
|
202
|
+
end
|
180
203
|
end
|
181
204
|
end
|
data/lib/SSD1306/version.rb
CHANGED