HomeSpan/src/RFControl.h

30 lines
1.1 KiB
C++

////////////////////////////////////
// RF Control Module //
////////////////////////////////////
#define RF433_PIN 22 // pin used for 433MHz transmitter
#define RF315_PIN 23 // pin used for 315MHz transmitter
class RFControl {
private:
int pin;
static volatile int numCycles;
static boolean configured;
static uint32_t *pRMT;
static int pCount;
static void eot_int(void *arg);
public:
RFControl(int pin); // creates transmitter on pin
static void clear(); // clears transmitter memory
static void add(uint16_t onTime, uint16_t offTime); // adds pulse of onTime ticks HIGH followed by offTime ticks LOW
void start(int _numCycles, int tickTime=1); // starts transmission of pulses, repeated for numCycles, where each tick in pulse is tickTime microseconds long
};
// Two transmitters are defined
extern RFControl RF433;
extern RFControl RF315;