#include #include #include #include "RFControl.h" /////////////////// RFControl::RFControl(uint8_t pin){ // config=new rmt_config_t; config.rmt_mode=RMT_MODE_TX; config.tx_config.carrier_en=false; config.channel=RMT_CHANNEL_0; config.clk_div = 1; config.mem_block_num=1; config.gpio_num=(gpio_num_t)pin; ESP_ERROR_CHECK(rmt_config(&config)); ESP_ERROR_CHECK(rmt_driver_install(config.channel,0,0)); rmt_set_source_clk(RMT_CHANNEL_0,RMT_BASECLK_REF); } /////////////////// void RFControl::start(uint8_t nCycles, uint8_t tickTime){ // starts transmission of pulses from internal data structure, repeated for nCycles, where each tick in pulse is tickTime microseconds long start(data.data(), data.size(), nCycles, tickTime); } /////////////////// void RFControl::start(uint32_t *data, int nData, uint8_t nCycles, uint8_t tickTime){ // starts transmission of pulses from specified data pointer, repeated for nCycles, where each tick in pulse is tickTime microseconds long rmt_set_clk_div(RMT_CHANNEL_0,tickTime); // set clock divider for(int i=0;i