Add more efficient SPI implementation (#622)

* Add more efficient SPI implementation

* Lint

* Add 200KHZ

* Updates

* Fix write_byte

* Update from datasheet

* Shift clock

* Fix calculation
This commit is contained in:
Otto Winter
2019-06-07 14:25:57 +02:00
committed by GitHub
parent 88ccd60a08
commit 726b0e73d9
14 changed files with 300 additions and 111 deletions
+3 -3
View File
@@ -7,7 +7,9 @@
namespace esphome {
namespace ssd1306_spi {
class SPISSD1306 : public ssd1306_base::SSD1306, public spi::SPIDevice {
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; }
@@ -19,8 +21,6 @@ class SPISSD1306 : public ssd1306_base::SSD1306, public spi::SPIDevice {
void command(uint8_t value) override;
void write_display_data() override;
bool is_device_msb_first() override;
bool is_device_high_speed() override;
GPIOPin *dc_pin_;
};