NAME
    `Device::BusPirate::Chip::SSD1306' - use a SSD1306 OLED driver with
    `Device::BusPirate'

DESCRIPTION
    This abstract Device::BusPirate::Chip subclass provides communication to
    an SSD1306 chip attached to the Bus Pirate. To actually use it, you
    should use one of the subclasses for the various interface types.

    *   Device::BusPirate::Chip::SSD1306::I2C - I2C

    *   Device::BusPirate::Chip::SSD1306::SPI4 - 4-wire SPI

    The reader is presumed to be familiar with the general operation of this
    chip; the documentation here will not attempt to explain or define
    chip-specific concepts or features, only the use of this module to
    access them.

METHODS
    The following methods documented with a trailing call to `->get' return
    Future instances.

  $ssd->init->get
    Initialise the display after reset to some sensible defaults.

  $ssd->display( $on )->get
    Turn on or off the display.

  $ssd->display_lamptest( $enable )->get
    Turn on or off the all-pixels-lit lamptest mode.

  $ssd->send_display( $pixels )->get
    Sends an entire screen-worth of pixel data. The `$pixels' should be in a
    packed binary string 128 * 8 bytes long.

TODO
    *   More interfaces - I2C and 3-wire SPI

    *   Maintain a framebuffer. Add some drawing commands like pixels and
        lines.

AUTHOR
    Paul Evans <leonerd@leonerd.org.uk>

