RadioLib
Universal wireless communication library for Arduino
RadioLib.h
1 #if !defined(_RADIOLIB_H)
2 #define _RADIOLIB_H
3 
37 #include "TypeDef.h"
38 #include "Module.h"
39 
40 // warnings are printed in this file since BuildOpt.h is compiled in multiple places
41 
42 // check God mode
43 #if defined(RADIOLIB_GODMODE)
44  #warning "God mode active, I hope it was intentional. Buckle up, lads."
45 #endif
46 
47 // print debug info
48 #if defined(RADIOLIB_DEBUG)
49  #pragma message "RADIOLIB_PLATFORM: " RADIOLIB_PLATFORM
50 #endif
51 
52 // check unknown/unsupported platform
53 #if defined(RADIOLIB_UNKNOWN_PLATFORM)
54  #warning "RadioLib might not be compatible with this Arduino board - check supported platforms at https://github.com/jgromes/RadioLib!"
55 #endif
56 
57 #include "modules/CC1101/CC1101.h"
58 #include "modules/LLCC68/LLCC68.h"
59 #include "modules/nRF24/nRF24.h"
60 #include "modules/RF69/RF69.h"
61 #include "modules/RFM2x/RFM22.h"
62 #include "modules/RFM2x/RFM23.h"
63 #include "modules/RFM9x/RFM95.h"
64 #include "modules/RFM9x/RFM96.h"
65 #include "modules/RFM9x/RFM97.h"
66 #include "modules/Si443x/Si4430.h"
67 #include "modules/Si443x/Si4431.h"
68 #include "modules/Si443x/Si4432.h"
69 #include "modules/SX1231/SX1231.h"
70 #include "modules/SX126x/SX1261.h"
71 #include "modules/SX126x/SX1262.h"
72 #include "modules/SX126x/SX1268.h"
73 #include "modules/SX127x/SX1272.h"
74 #include "modules/SX127x/SX1273.h"
75 #include "modules/SX127x/SX1276.h"
76 #include "modules/SX127x/SX1277.h"
77 #include "modules/SX127x/SX1278.h"
78 #include "modules/SX127x/SX1279.h"
79 #include "modules/SX128x/SX1280.h"
80 #include "modules/SX128x/SX1281.h"
81 #include "modules/SX128x/SX1282.h"
82 
83 // physical layer protocols
84 #include "protocols/PhysicalLayer/PhysicalLayer.h"
85 #include "protocols/AFSK/AFSK.h"
86 #include "protocols/AX25/AX25.h"
87 #include "protocols/Hellschreiber/Hellschreiber.h"
88 #include "protocols/Morse/Morse.h"
89 #include "protocols/RTTY/RTTY.h"
90 #include "protocols/SSTV/SSTV.h"
91 #include "protocols/FSK4/FSK4.h"
92 
93 // only create Radio class when using RadioShield
94 #if defined(RADIOLIB_RADIOSHIELD)
95 
96 // RadioShield pin definitions
97 #define RADIOSHIELD_CS_A 10
98 #define RADIOSHIELD_IRQ_A 2
99 #define RADIOSHIELD_RST_A 9
100 #define RADIOSHIELD_GPIO_A 8
101 #define RADIOSHIELD_CS_B 5
102 #define RADIOSHIELD_IRQ_B 3
103 #define RADIOSHIELD_RST_B 7
104 #define RADIOSHIELD_GPIO_B 6
105 
112 class Radio {
113  public:
114 
115  Module* ModuleA;
116  Module* ModuleB;
117 
121  Radio() {
122  ModuleA = new Module(RADIOSHIELD_CS_A, RADIOSHIELD_IRQ_A, RADIOSHIELD_RST_A, RADIOSHIELD_GPIO_A);
123  ModuleB = new Module(RADIOSHIELD_CS_B, RADIOSHIELD_IRQ_B, RADIOSHIELD_RST_B, RADIOSHIELD_GPIO_B);
124  }
125 
126 #if defined(RADIOLIB_GODMODE)
127  private:
128 #endif
129 
130 };
131 
132 Radio RadioShield;
133 #endif
134 
135 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:16