30 lines
1.1 KiB
C++
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;
|
|
|