Program Listing for File rf_physical_layer.h
↰ Return to documentation for file (src/knx/rf_physical_layer.h)
#pragma once
#include "config.h"
#ifdef USE_RF
#include <stdint.h>
#include "platform.h"
// Calculate the real packet size out of the L-field of FT3 frame data. See KNX-RF spec. 3.2.5 Data Link Layer frame format
#define PACKET_SIZE(lField) ((((lField - 10 /*size of first pkt*/))/16 + 2 /*CRC in first pkt */) * 2 /*to bytes*/ +lField + 1 /*size of len byte*/)
class RfDataLinkLayer;
class RfPhysicalLayer
{
public:
RfPhysicalLayer(RfDataLinkLayer& rfDataLinkLayer, Platform& platform)
: _rfDataLinkLayer(rfDataLinkLayer), _platform(platform) {}
virtual bool InitChip() = 0;
virtual void stopChip() = 0;
virtual void loop() = 0;
protected:
RfDataLinkLayer& _rfDataLinkLayer;
Platform& _platform;
};
#endif