RadioLib
Universal wireless communication library for Arduino
ExternalRadio.h
1 #if !defined(_RADIOLIB_EXTERNAL_RADIO_H)
2 #define _RADIOLIB_EXTERNAL_RADIO_H
3 
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
6 #if defined(RADIOLIB_BUILD_ARDUINO)
7 #include "../../ArduinoHal.h"
8 #endif
9 
10 #include "../PhysicalLayer/PhysicalLayer.h"
11 
17  public:
18  #if defined(RADIOLIB_BUILD_ARDUINO)
23  ExternalRadio(uint32_t pin = RADIOLIB_NC); // cppcheck-suppress noExplicitConstructor
24  #endif
25 
31  ExternalRadio(RadioLibHal *hal, uint32_t pin = RADIOLIB_NC); // cppcheck-suppress noExplicitConstructor
32 
37  ExternalRadio(const ExternalRadio& ext);
38 
44 
49 
54  Module* getMod() override;
55 
61  int16_t setFrequencyDeviation(float freqDev) override;
62 
68  int16_t setDataShaping(uint8_t sh) override;
69 
75  int16_t setEncoding(uint8_t encoding) override;
76 
83  int16_t transmitDirect(uint32_t frf = 0) override;
84 
85  private:
86  Module* mod;
87  uint32_t prevFrf;
88 };
89 
90 #endif
Class to interface with external radio hardware.
Definition: ExternalRadio.h:16
int16_t setFrequencyDeviation(float freqDev) override
Dummy implementation overriding PhysicalLayer.
Definition: ExternalRadio.cpp:44
int16_t transmitDirect(uint32_t frf=0) override
Direct transmission to drive external radio.
Definition: ExternalRadio.cpp:59
~ExternalRadio()
Default destructor.
Definition: ExternalRadio.cpp:34
ExternalRadio(RadioLibHal *hal, uint32_t pin=RADIOLIB_NC)
Default constructor.
Definition: ExternalRadio.cpp:11
int16_t setDataShaping(uint8_t sh) override
Dummy implementation overriding PhysicalLayer.
Definition: ExternalRadio.cpp:49
Module * getMod() override
Method to retrieve pointer to the underlying Module instance.
Definition: ExternalRadio.cpp:40
int16_t setEncoding(uint8_t encoding) override
Dummy implementation overriding PhysicalLayer.
Definition: ExternalRadio.cpp:54
ExternalRadio & operator=(const ExternalRadio &ext)
Overload for assignment operator.
Definition: ExternalRadio.cpp:24
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:65
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:135
Hardware abstraction library base interface.
Definition: Hal.h:13