#pragma once #include "esphome/core/component.h" #include "esphome/components/sensor/sensor.h" #include "esphome/components/uart/uart.h" namespace esphome { class Marlin2 : public Component, public uart::UARTDevice { public: void setup() override; float get_setup_priority() const override { return setup_priority::LATE; } void loop() override; void dump_config() override; void add_sensor(int index, sensor::Sensor *sens) { this->sensors_.push_back(std::make_pair(index, sens)); } protected: void parse_values_(); std::vector rx_message_; std::vector> sensors_; }; } // namespace esphome