mirror of
https://github.com/esphome/esphome.git
synced 2024-12-02 11:44:13 +01:00
726b0e73d9
* Add more efficient SPI implementation * Lint * Add 200KHZ * Updates * Fix write_byte * Update from datasheet * Shift clock * Fix calculation
29 lines
720 B
C++
29 lines
720 B
C++
#pragma once
|
|
|
|
#include "esphome/core/component.h"
|
|
#include "esphome/components/ssd1306_base/ssd1306_base.h"
|
|
#include "esphome/components/spi/spi.h"
|
|
|
|
namespace esphome {
|
|
namespace ssd1306_spi {
|
|
|
|
class SPISSD1306 : public ssd1306_base::SSD1306,
|
|
public spi::SPIDevice<spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_HIGH, spi::CLOCK_PHASE_TRAILING,
|
|
spi::DATA_RATE_8MHZ> {
|
|
public:
|
|
void set_dc_pin(GPIOPin *dc_pin) { dc_pin_ = dc_pin; }
|
|
|
|
void setup() override;
|
|
|
|
void dump_config() override;
|
|
|
|
protected:
|
|
void command(uint8_t value) override;
|
|
|
|
void write_display_data() override;
|
|
|
|
GPIOPin *dc_pin_;
|
|
};
|
|
|
|
} // namespace ssd1306_spi
|
|
} // namespace esphome
|