mirror of
https://github.com/esphome/esphome.git
synced 2024-11-30 13:04:13 +01:00
Memset all structs to 0
This commit is contained in:
parent
c1e7306ac6
commit
bd55a56db0
@ -32,6 +32,7 @@ static bool IRAM_ATTR HOT rmt_callback(rmt_channel_handle_t channel, const rmt_r
|
||||
void RemoteReceiverComponent::setup() {
|
||||
ESP_LOGCONFIG(TAG, "Setting up Remote Receiver...");
|
||||
rmt_rx_channel_config_t channel{};
|
||||
memset(&channel, 0, sizeof(channel));
|
||||
channel.clk_src = RMT_CLK_SRC_DEFAULT;
|
||||
channel.resolution_hz = 1 * 1000 * 1000;
|
||||
channel.mem_block_symbols = MEM_BLOCK_SIZE * this->mem_block_num_;
|
||||
@ -56,6 +57,7 @@ void RemoteReceiverComponent::setup() {
|
||||
}
|
||||
|
||||
rmt_rx_event_callbacks_t callbacks{};
|
||||
memset(&callbacks, 0, sizeof(callbacks));
|
||||
callbacks.on_recv_done = rmt_callback;
|
||||
error = rmt_rx_register_event_callbacks(this->channel_, &callbacks, &this->store_);
|
||||
if (error != ESP_OK) {
|
||||
@ -68,6 +70,7 @@ void RemoteReceiverComponent::setup() {
|
||||
uint32_t event_size = sizeof(rmt_rx_done_event_data_t);
|
||||
uint32_t max_filter_ns = 255u * 1000 / this->clock_divider_;
|
||||
uint32_t max_idle_ns = 65535u * 1000;
|
||||
memset(&this->store_.config, 0, sizeof(this->store_.config));
|
||||
this->store_.config.signal_range_min_ns = std::min(this->filter_us_ * 1000, max_filter_ns);
|
||||
this->store_.config.signal_range_max_ns = std::min(this->idle_us_ * 1000, max_idle_ns);
|
||||
this->store_.receive_size = (MEM_BLOCK_SIZE * this->mem_block_num_ + 1) * sizeof(rmt_symbol_word_t);
|
||||
|
@ -33,6 +33,7 @@ void RemoteTransmitterComponent::dump_config() {
|
||||
|
||||
void RemoteTransmitterComponent::configure_rmt_() {
|
||||
rmt_tx_channel_config_t channel{};
|
||||
memset(&channel, 0, sizeof(channel));
|
||||
channel.clk_src = RMT_CLK_SRC_DEFAULT;
|
||||
channel.resolution_hz = 1 * 1000 * 1000;
|
||||
channel.gpio_num = gpio_num_t(this->pin_->get_pin());
|
||||
@ -57,6 +58,7 @@ void RemoteTransmitterComponent::configure_rmt_() {
|
||||
}
|
||||
|
||||
rmt_copy_encoder_config_t encoder{};
|
||||
memset(&encoder, 0, sizeof(encoder));
|
||||
error = rmt_new_copy_encoder(&encoder, &this->encoder_);
|
||||
if (error != ESP_OK) {
|
||||
this->error_code_ = error;
|
||||
@ -66,6 +68,7 @@ void RemoteTransmitterComponent::configure_rmt_() {
|
||||
}
|
||||
|
||||
rmt_carrier_config_t carrier{};
|
||||
memset(&carrier, 0, sizeof(carrier));
|
||||
if (this->current_carrier_frequency_ == 0 || this->carrier_duty_percent_ == 100) {
|
||||
carrier.frequency_hz = 0;
|
||||
carrier.duty_cycle = 100;
|
||||
@ -141,6 +144,7 @@ void RemoteTransmitterComponent::send_internal(uint32_t send_times, uint32_t sen
|
||||
this->transmit_trigger_->trigger();
|
||||
for (uint32_t i = 0; i < send_times; i++) {
|
||||
rmt_transmit_config_t config{};
|
||||
memset(&config, 0, sizeof(config));
|
||||
config.loop_count = 0;
|
||||
config.flags.eot_level = this->inverted_;
|
||||
esp_err_t error = rmt_transmit(this->channel_, this->encoder_, this->rmt_temp_.data(),
|
||||
|
Loading…
Reference in New Issue
Block a user