Class: Denko::Display::SSD1306

Inherits:
Object
  • Object
show all
Includes:
MonoOLED
Defined in:
lib/denko/display/ssd1306.rb

Constant Summary

Constants included from MonoOLED

MonoOLED::ADDRESSING_MODE, MonoOLED::ADDRESSING_MODE_DEFAULT, MonoOLED::CHARGE_PUMP, MonoOLED::CLOCK, MonoOLED::COLUMNS, MonoOLED::COLUMN_ADDRESS_RANGE, MonoOLED::COLUMN_START_LOWER, MonoOLED::COLUMN_START_UPPER, MonoOLED::COM_DIRECTION, MonoOLED::COM_PIN_CONFIG, MonoOLED::CONTRAST, MonoOLED::DISPLAY_OFF, MonoOLED::DISPLAY_OFFSET, MonoOLED::DISPLAY_ON, MonoOLED::HEIGHTS, MonoOLED::I2C_ADDRESS, MonoOLED::I2C_FREQUENCY, MonoOLED::INVERT_OFF, MonoOLED::INVERT_ON, MonoOLED::MULTIPLEX_RATIO, MonoOLED::PAGE_ADDRESS_RANGE, MonoOLED::PAGE_START, MonoOLED::PIXELS_ALL_ON, MonoOLED::PIXELS_FROM_RAM, MonoOLED::PRECHARGE_PERIOD, MonoOLED::ROWS, MonoOLED::SEGMENT_REMAP, MonoOLED::START_LINE, MonoOLED::VCOM_DESELECT_LEVEL, MonoOLED::WIDTHS

Constants included from Behaviors::Lifecycle

Behaviors::Lifecycle::CALLBACK_METHODS

Instance Attribute Summary

Attributes included from Behaviors::Component

#board, #params

Attributes included from Behaviors::State

#state

Instance Method Summary collapse

Methods included from MonoOLED

#contrast=, #mutate_i2c, #mutate_spi, #off, #on, #reflect_x, #reflect_y, #rotate

Methods included from Behaviors::Lifecycle

included

Methods included from Behaviors::BusPeripheral

#atomically

Methods included from Behaviors::Component

#initialize, #micro_delay

Methods included from Behaviors::State

#update_state

Instance Method Details

#draw_partial(buffer, x_start, x_finish, p_start, p_finish, color = 1) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/denko/display/ssd1306.rb', line 6

def draw_partial(buffer, x_start, x_finish, p_start, p_finish, color=1)
  partial_buffer = get_partial_buffer(buffer, x_start, x_finish, p_start, p_finish)

  # Limit auto-incrementing GRAM address to the rectangle being drawn.
  command [ COLUMN_ADDRESS_RANGE, x_start, x_finish, PAGE_ADDRESS_RANGE, p_start, p_finish ]

  # Send in chunks up to maximum transfer size.
  partial_buffer.each_slice(transfer_limit) { |slice| data(slice) }
end