SSD1306 0.3.0 → 0.3.1
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/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