class SSD1306::Cursor
Attributes
size[RW]
x_pos[RW]
y_pos[RW]
Public Class Methods
new()
click to toggle source
# File lib/SSD1306/cursor.rb, line 5 def initialize @size = 1 @x_pos = 0 @y_pos = 0 end
Public Instance Methods
buffer_index(page_offset = 0)
click to toggle source
# File lib/SSD1306/cursor.rb, line 43 def buffer_index(page_offset = 0) page = @y_pos / 8 index = (page*128 + page_offset*128) + @x_pos end
increment()
click to toggle source
# File lib/SSD1306/cursor.rb, line 25 def increment if @x_pos >= (127 - 6*@size) newline else @x_pos += (6*@size) end end
newline()
click to toggle source
# File lib/SSD1306/cursor.rb, line 33 def newline @x_pos = 0 @y_pos += 8*@size end
position_in_buffer()
click to toggle source
# File lib/SSD1306/cursor.rb, line 48 def position_in_buffer index = buffer_index page = @y_pos / 8 offset = @y_pos % 8 {index: index, x: @x_pos, page: page, page_offset: offset} end
reset()
click to toggle source
# File lib/SSD1306/cursor.rb, line 11 def reset reset_pos reset_size end
reset_pos()
click to toggle source
# File lib/SSD1306/cursor.rb, line 16 def reset_pos @x_pos = 0 @y_pos = 0 end
reset_size()
click to toggle source
# File lib/SSD1306/cursor.rb, line 21 def reset_size @size = 1 end
set_pos(x, y)
click to toggle source
# File lib/SSD1306/cursor.rb, line 38 def set_pos(x, y) @x_pos = x @y_pos = y end