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 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