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
-2
View File
@@ -82,7 +82,5 @@ void MAX31855Sensor::read_data_() {
this->status_clear_warning();
}
bool MAX31855Sensor::is_device_msb_first() { return true; }
} // namespace max31855
} // namespace esphome
+4 -3
View File
@@ -7,7 +7,10 @@
namespace esphome {
namespace max31855 {
class MAX31855Sensor : public sensor::Sensor, public PollingComponent, public spi::SPIDevice {
class MAX31855Sensor : public sensor::Sensor,
public PollingComponent,
public spi::SPIDevice<spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_LOW,
spi::CLOCK_PHASE_LEADING, spi::DATA_RATE_4MHZ> {
public:
void setup() override;
void dump_config() override;
@@ -16,8 +19,6 @@ class MAX31855Sensor : public sensor::Sensor, public PollingComponent, public sp
void update() override;
protected:
bool is_device_msb_first() override;
void read_data_();
};