16 virtual void on_packet(
const std::vector<uint8_t> &packet,
float freq_offset,
float rssi, uint8_t lqi) = 0;
20 public spi::SPIDevice<spi::BIT_ORDER_MSB_FIRST, spi::CLOCK_POLARITY_LOW,
21 spi::CLOCK_PHASE_LEADING, spi::DATA_RATE_1MHZ> {
25 void setup()
override;
98 void call_listeners_(
const std::vector<uint8_t> &packet,
float freq_offset,
float rssi, uint8_t lqi);
148 void play(
const Ts &...
x)
override {
151 this->
parent_->transmit_packet(data);
154 this->
parent_->transmit_packet(data);
167 void play(
const Ts &...
x)
override { this->
parent_->set_symbol_rate(this->symbol_rate_.value(
x...)); }
173 void play(
const Ts &...
x)
override { this->
parent_->set_frequency(this->frequency_.value(
x...)); }
179 void play(
const Ts &...
x)
override { this->
parent_->set_output_power(this->output_power_.value(
x...)); }
185 void play(
const Ts &...
x)
override { this->
parent_->set_modulation_type(this->modulation_type_.value(
x...)); }
191 void play(
const Ts &...
x)
override { this->
parent_->set_rx_attenuation(this->rx_attenuation_.value(
x...)); }
197 void play(
const Ts &...
x)
override { this->
parent_->set_dc_blocking_filter(this->dc_blocking_filter_.value(
x...)); }
203 void play(
const Ts &...
x)
override { this->
parent_->set_manchester(this->manchester_.value(
x...)); }
209 void play(
const Ts &...
x)
override { this->
parent_->set_filter_bandwidth(this->filter_bandwidth_.value(
x...)); }
215 void play(
const Ts &...
x)
override { this->
parent_->set_fsk_deviation(this->fsk_deviation_.value(
x...)); }
221 void play(
const Ts &...
x)
override { this->
parent_->set_msk_deviation(this->msk_deviation_.value(
x...)); }
227 void play(
const Ts &...
x)
override { this->
parent_->set_channel(this->channel_.value(
x...)); }
233 void play(
const Ts &...
x)
override { this->
parent_->set_channel_spacing(this->channel_spacing_.value(
x...)); }
239 void play(
const Ts &...
x)
override { this->
parent_->set_if_frequency(this->if_frequency_.value(
x...)); }
virtual void play(const Ts &...x)=0
Helper class to easily give an object a parent of type T.
CC1101Component * parent_
void play(const Ts &...x) override
void play(const Ts &...x) override
void set_packet_mode(bool value)
Trigger< std::vector< uint8_t >, float, float, uint8_t > * get_packet_trigger()
void set_max_dvga_gain(MaxDvgaGain value)
void set_whitening(bool value)
void set_carrier_sense_above_threshold(bool value)
void write_(Register reg)
void set_sync0(uint8_t value)
void set_freeze(Freeze value)
void call_listeners_(const std::vector< uint8_t > &packet, float freq_offset, float rssi, uint8_t lqi)
void set_rx_attenuation(RxAttenuation value)
InternalGPIOPin * gdo0_pin_
void set_symbol_rate(float value)
void register_listener(CC1101Listener *listener)
uint8_t strobe_(Command cmd)
void set_sync_mode(SyncMode value)
void set_fsk_deviation(float value)
void dump_config() override
float output_power_requested_
void set_msk_deviation(uint8_t value)
void set_carrier_sense_rel_thr(CarrierSenseRelThr value)
uint8_t pa_table_[PA_TABLE_SIZE]
void set_lna_priority(bool value)
float output_power_effective_
void set_output_power(float value)
void set_modulation_type(Modulation value)
void set_if_frequency(float value)
void set_frequency(float value)
void set_num_preamble(uint8_t value)
void set_hyst_level(HystLevel value)
void set_filter_bandwidth(float value)
void set_filter_length_fsk_msk(FilterLengthFskMsk value)
void set_crc_enable(bool value)
void set_carrier_sense_abs_thr(int8_t value)
bool enter_calibrated_(State target_state, Command cmd)
void set_magn_target(MagnTarget value)
void set_channel_spacing(float value)
CC1101Error transmit_packet(const std::vector< uint8_t > &packet)
void set_gdo0_pin(InternalGPIOPin *pin)
void set_wait_time(WaitTime value)
std::vector< CC1101Listener * > listeners_
void set_dc_blocking_filter(bool value)
void set_packet_length(uint8_t value)
void set_manchester(bool value)
std::vector< uint8_t > packet_
void set_channel(uint8_t value)
void set_filter_length_ask_ook(FilterLengthAskOok value)
void set_max_lna_gain(MaxLnaGain value)
void set_sync1(uint8_t value)
bool wait_for_state_(State target_state, uint32_t timeout_ms=100)
Trigger< std::vector< uint8_t >, float, float, uint8_t > packet_trigger_
virtual void on_packet(const std::vector< uint8_t > &packet, float freq_offset, float rssi, uint8_t lqi)=0
void play(const Ts &...x) override
std::function< std::vector< uint8_t >(Ts...)> data_func_
const uint8_t * data_static_
void set_data_static(const uint8_t *data, size_t len)
void play(const Ts &...x) override
void set_data_template(std::function< std::vector< uint8_t >(Ts...)> func)
TEMPLATABLE_VALUE(uint8_t, channel) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, channel_spacing) void play(const Ts &...x) override
TEMPLATABLE_VALUE(bool, dc_blocking_filter) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, filter_bandwidth) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, frequency) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, fsk_deviation) void play(const Ts &...x) override
void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, if_frequency) void play(const Ts &...x) override
TEMPLATABLE_VALUE(bool, manchester) void play(const Ts &...x) override
TEMPLATABLE_VALUE(Modulation, modulation_type) void play(const Ts &...x) override
TEMPLATABLE_VALUE(uint8_t, msk_deviation) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, output_power) void play(const Ts &...x) override
TEMPLATABLE_VALUE(RxAttenuation, rx_attenuation) void play(const Ts &...x) override
TEMPLATABLE_VALUE(float, symbol_rate) void play(const Ts &...x) override
The SPIDevice is what components using the SPI will create.