#pragma once #include "esphome/components/select/select.h" #include "../cc1101.h" namespace esphome { namespace cc1101 { template class Select : public select::Select, public Parented { protected: void control(const std::string &value) override { this->publish_state(value); if (auto index = this->active_index()) { (this->parent_->*F)((T) *index); } } }; using RxAttenuationSelect = Select; using TunerSyncModeSelect = Select; using TunerModulationSelect = Select; using AgcMagnTargetSelect = Select; using AgcMaxLnaGainSelect = Select; using AgcMaxDvgaGainSelect = Select; using AgcCarrierSenseRelThrSelect = Select; using AgcFilterLengthFskMskSelect = Select; using AgcFilterLengthAskOokSelect = Select; using AgcFreezeSelect = Select; using AgcWaitTimeSelect = Select; using AgcHystLevelSelect = Select; } // namespace cc1101 } // namespace esphome