23static const uint8_t CALIBRATE_SAMPLES = 64;
24static const uint8_t MAX_LINE_LENGTH = 46;
25static const uint8_t TOTAL_GATES = 16;
37 virtual void on_energy(uint16_t *sensor_energy,
size_t size){};
60 void setup()
override;
BedjetMode mode
BedJet operating mode.
void dump_config() override
void init_gate_config_numbers()
void readline_(int rx_data, uint8_t *buffer, int len)
void set_system_mode(uint16_t mode)
float get_max_gate_distance_value()
void handle_ack_data_(uint8_t *buffer, int len)
void revert_config_action()
float gate_still_sensitivity_factor
int32_t last_periodic_millis
void restart_module_action()
void set_gate_timeout_number(number::Number *number)
void set_gate_still_sensitivity_factor_number(number::Number *number)
std::vector< number::Number * > gate_still_threshold_numbers_
number::Number * gate_select_number_
uint8_t set_config_mode(bool enable)
void register_listener(LD2420Listener *listener)
button::Button * factory_reset_button_
void update_radar_data(uint16_t const *gate_energy, uint8_t sample_number)
float get_setup_priority() const override
void send_module_restart()
void set_operating_mode_select(select::Select *selector)
void set_distance_(uint16_t distance)
void set_min_max_distances_timeout(uint32_t max_gate_distance, uint32_t min_gate_distance, uint32_t timeout)
void set_gate_threshold(uint8_t gate)
void set_factory_reset_button(button::Button *button)
void handle_energy_mode_(uint8_t *buffer, int len)
void set_gate_move_threshold_numbers(int gate, number::Number *n)
void publish_gate_still_threshold(uint8_t gate)
button::Button * revert_config_button_
void auto_calibrate_sensitivity()
void set_calibration_(bool state)
number::Number * min_gate_distance_number_
void set_restart_module_button(button::Button *button)
button::Button * apply_config_button_
int32_t report_periodic_millis
uint16_t gate_peak[TOTAL_GATES]
std::vector< LD2420Listener * > listeners_
void get_firmware_version_()
std::vector< number::Number * > gate_move_threshold_numbers_
float gate_move_sensitivity_factor
float get_min_gate_distance_value()
void set_mode_(uint16_t mode)
void apply_config_action()
uint8_t get_gate_select_value()
uint16_t gate_avg[TOTAL_GATES]
void set_min_gate_distance_number(number::Number *number)
void set_gate_still_threshold_numbers(int gate, number::Number *n)
RegConfigT current_config
uint8_t buffer_data_[MAX_LINE_LENGTH]
int get_gate_threshold_(uint8_t gate)
number::Number * gate_still_sensitivity_factor_number_
void set_revert_config_button(button::Button *button)
void handle_cmd_error(uint8_t error)
void factory_reset_action()
int send_cmd_from_array(CmdFrameT cmd_frame)
void get_reg_value_(uint16_t reg)
void refresh_gate_config_numbers()
uint16_t gate_energy_[TOTAL_GATES]
void publish_gate_move_threshold(uint8_t gate)
int32_t last_normal_periodic_millis
void handle_simple_mode_(const uint8_t *inbuf, int len)
number::Number * max_gate_distance_number_
void set_gate_select_number(number::Number *number)
select::Select * operating_selector_
button::Button * restart_module_button_
int32_t monitor_periodic_millis
void set_operating_mode(const std::string &state)
int get_min_max_distances_timeout_()
number::Number * gate_timeout_number_
void set_apply_config_button(button::Button *button)
void set_max_gate_distance_number(number::Number *number)
uint16_t total_sample_number_counter
uint8_t current_operating_mode
uint16_t radar_data[TOTAL_GATES][CALIBRATE_SAMPLES]
uint8_t sample_number_counter
void set_presence_(bool presence)
number::Number * gate_move_sensitivity_factor_number_
void set_reg_value(uint16_t reg, uint16_t value)
void set_gate_move_sensitivity_factor_number(number::Number *number)
virtual void on_fw_version(std::string &fw)
virtual void on_distance(uint16_t distance)
virtual void on_presence(bool presence)
virtual void on_energy(uint16_t *sensor_energy, size_t size)
Base-class for all numbers.
Base-class for all selects.
Providing packet encoding functions for exchanging data with a remote host.
uint32_t move_thresh[TOTAL_GATES]
uint32_t still_thresh[TOTAL_GATES]