50 SUB_SENSOR(accumulated_flow)
55#ifdef USE_BINARY_SENSOR
56 SUB_BINARY_SENSOR(ufc_chip_error)
57 SUB_BINARY_SENSOR(flow_direction_wrong)
58 SUB_BINARY_SENSOR(empty_tube)
59 SUB_BINARY_SENSOR(flow_rate_out_of_range)
63 void setup()
override;
65 void dump_config()
override;
69 float get_setup_priority()
const override;
77 bool send_command_(
const std::array<uint8_t, 7> &command);
78 void send_command_no_wait_(
const std::array<uint8_t, 7> &command);
81 bool process_active_stream_();
82 void on_active_frame_(uint8_t data[FRAME_SIZE]);
85 void loop_active_stream_();
86 void loop_passive_poll_();
88 void enter_active_stream_(
const char *reason);
89 void start_passive_read_();
96 bool reset_retried_{
false};
100 bool passive_read_pending_{
false};
102 size_t passive_index_{0};
103 uint8_t passive_frame_[PASSIVE_FRAME_SIZE];
105 int32_t read_index_ = 0;
106 uint8_t data_[FRAME_SIZE];
108 friend class testing::TestableUFM01;