Initial ability to send a packet from RFPowerView
This commit is contained in:
35
include/BufferFiller.h
Normal file
35
include/BufferFiller.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#ifndef BUFFERFILLER_H
|
||||
#define BUFFERFILLER_H
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "PacketCRC.h"
|
||||
#include "PacketTypes.h"
|
||||
|
||||
class BufferFiller {
|
||||
public:
|
||||
BufferFiller(uint8_t rollingCode1, uint8_t rollingCode2, uint8_t protocolVersion);
|
||||
~BufferFiller();
|
||||
|
||||
bool fill(uint8_t *buffer, const Packet* packet);
|
||||
|
||||
private:
|
||||
uint8_t rollingCode1;
|
||||
uint8_t rollingCode2;
|
||||
uint8_t protocolVersion;
|
||||
|
||||
PacketCRC packetCRC;
|
||||
|
||||
void setPacketSize(uint8_t *buffer, uint8_t);
|
||||
void setConstants(uint8_t *buffer);
|
||||
void setSourceAddress(uint8_t *buffer, uint16_t);
|
||||
void setDestinationAddress(uint8_t *buffer, uint16_t);
|
||||
void setRollingCodes(uint8_t *buffer);
|
||||
void setProtocolVersion(uint8_t *buffer, uint8_t);
|
||||
void setOpenPacketData(uint8_t *buffer);
|
||||
void setClosePacketData(uint8_t *buffer);
|
||||
void setStopPacketData(uint8_t *buffer);
|
||||
void calculateCRC(uint8_t *buffer);
|
||||
void incrementRollingCodes();
|
||||
};
|
||||
|
||||
#endif // BUFFERFILLER_H
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <RF24.h>
|
||||
#include "PacketReceiver.h"
|
||||
#include "PacketParser.h"
|
||||
#include "BufferFiller.h"
|
||||
#include "PacketTypes.h"
|
||||
|
||||
#define DEFAULT_RF_CHANNEL (7) //this is the channel HD shades use
|
||||
@@ -21,19 +22,25 @@ public:
|
||||
|
||||
bool begin();
|
||||
void loop();
|
||||
void startListening();
|
||||
|
||||
void setPacketCallback(std::function<void(const Packet*)> callback);
|
||||
void sendPacket(const Packet* packet);
|
||||
|
||||
private:
|
||||
RF24 radio;
|
||||
PacketReceiver packetReceiver;
|
||||
PacketParser packetParser;
|
||||
BufferFiller bufferFiller;
|
||||
uint8_t irqPin;
|
||||
uint8_t rfID[2];
|
||||
|
||||
std::function<void(const Packet*)> packetCallback;
|
||||
|
||||
uint8_t sendBuffer[32];
|
||||
|
||||
void startListening();
|
||||
void startTransmitting();
|
||||
|
||||
void interruptHandler();
|
||||
|
||||
void processBuffer(const uint8_t *buffer);
|
||||
|
||||
Reference in New Issue
Block a user