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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 249689284e61d2cf7c6639904475d0f5785fe97c
4
- data.tar.gz: 64106a2735be14152ab1abd4cd916668cae55498
3
+ metadata.gz: 8439aea93e663ecf53256639ad51b1fc31345e7c
4
+ data.tar.gz: 799807ebfc631089a5d7b9d30a0b6511349f2b44
5
5
  SHA512:
6
- metadata.gz: c64d1970995d6838931970bcddf5465c686bb287fd7a59375c8b17b814b746cc338cc3893a4345690e04ca4cd24bb59724bfad4965ee7dda5104eb987a0194ba
7
- data.tar.gz: 2f7f6c69f80f374039e2b9da1ffef587e8a2459c7f9b44e31aeb07244e906f2c1ae7a4b8c0db4b4ab026ae251fa8b592e4d0d4001234b6e00c84b33f649a6399
6
+ metadata.gz: 1da3c49ffd3a440a335946dc8c00e16c1b1b9b8b2d3e01467c5ca1840260e10d00e9cc1aa336235ae1952bcb130073a8d439f2e9d568a09c76816b8032672e76
7
+ data.tar.gz: acd0c64926c82f3dda48cce8c58dead3eb3c3c3960a91cb9d94a09b8de91c7126996a296e8cbce5d737b6e8bcf9b85e977d525081c4847943178fcbd939b425d
@@ -2,4 +2,5 @@ require "i2c"
2
2
  require "rmagick"
3
3
 
4
4
  require "SSD1306/version"
5
+ require "SSD1306/font"
5
6
  require "SSD1306/display"
@@ -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
@@ -1,3 +1,3 @@
1
1
  module SSD1306
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: SSD1306
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xavier Bick