12 enum class Mode : uint8_t {
88 static constexpr size_t READ_BUFFER_SIZE = 32;
89 uint8_t read_buffer_[READ_BUFFER_SIZE];
BedjetMode mode
BedJet operating mode.
void reset_and_dump_buffer_(const char *prefix)
bool read_and_parse(uart::UARTDevice &device, Callback &&callback)
static void dump_buffer_vv(const char *prefix, const uint8_t *data, size_t len)
uint32_t get_update_interval() const
void cancel_waiting_and_transition_to_(State state)
std::optional< uint32_t > last_room_temperature_update_ms_
bool process_status_packet_(const uint8_t *payload, size_t len)
static bool should_transition(State from, State to)
uint8_t current_status_msg_type_
void set_room_temperature_min_interval(uint32_t interval_ms)
bool should_request_room_temperature_() const
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
bool use_temperature_encoding_b_
uart::UARTDevice & device_
void did_transition_(State to)
std::optional< uint32_t > status_update_start_ms_
UpdateFlags pending_updates_
@ WAITING_FOR_SCHEDULED_STATUS_UPDATE
@ SCHEDULE_NEXT_STATUS_UPDATE
std::optional< uint32_t > write_timeout_start_ms_
void set_power(bool power_on)
uint32_t get_room_temperature_min_interval() const
static const LogString * state_to_string(State state)
void set_target_temperature(float target_temperature)
bool parse_status_settings_(const uint8_t *payload, size_t len)
uint32_t room_temperature_min_interval_ms_
const Status & status() const
uint32_t update_interval_ms_
void set_fan_mode(FanMode fan_mode)
bool is_room_temperature_enabled() const
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)
FrameParser frame_parser_
bool parse_status_room_temperature_(const uint8_t *payload, size_t len)
uint32_t get_loop_time_ms()
constexpr uint32_t SCHEDULER_DONT_RUN
Lightweight type-erased callback (8 bytes on 32-bit) that avoids std::function overhead.
bool has(UpdateFlag f) const