69 static constexpr size_t READ_BUFFER_SIZE = 32;
70 uint8_t read_buffer_[READ_BUFFER_SIZE];
uint32_t get_update_interval() const
void cancel_waiting_and_transition_to_(State state)
static void dump_buffer_vv(const char *prefix, const uint8_t *data, size_t len)
bool process_status_packet_(const uint8_t *payload, size_t len)
uint8_t status_msg_index_
void reset_read_position_and_dump_buffer_(const char *prefix)
static bool should_transition(State from, State to)
void set_state_(State new_state)
MitsubishiCN105(uart::UARTDevice &device)
bool process_rx_packet_(uint8_t type, const uint8_t *payload, size_t len)
bool is_status_initialized() const
uart::UARTDevice & device_
void did_transition_(State to)
std::optional< uint32_t > status_update_start_ms_
@ WAITING_FOR_SCHEDULED_STATUS_UPDATE
@ SCHEDULE_NEXT_STATUS_UPDATE
std::optional< uint32_t > write_timeout_start_ms_
static const LogString * state_to_string(State state)
bool parse_status_settings_(const uint8_t *payload, size_t len)
const Status & status() const
uint32_t update_interval_ms_
void send_packet_(const uint8_t *packet, size_t len)
bool parse_status_payload_(uint8_t msg_type, const uint8_t *payload, size_t len)
void set_update_interval(uint32_t interval_ms)
void send_packet_(const T &packet)
bool read_incoming_bytes_()
bool parse_status_room_temperature_(const uint8_t *payload, size_t len)
uint32_t get_loop_time_ms()
bool operator==(const Status &) const =default