RadioLib
Universal wireless communication library for Arduino
RFM96.h
1 #if !defined(_RADIOLIB_RFM96_H)
2 #define _RADIOLIB_RFM96_H
3 
4 #include "../../TypeDef.h"
5 
6 #if !defined(RADIOLIB_EXCLUDE_RFM9X)
7 
8 #include "../../Module.h"
9 #include "../SX127x/SX127x.h"
10 #include "../SX127x/SX1278.h"
11 
12 // SX127X_REG_VERSION
13 #define RADIOLIB_RFM9X_CHIP_VERSION_OFFICIAL 0x11
14 #define RADIOLIB_RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
15 
21 class RFM96: public SX1278 {
22  public:
23 
24  // constructor
25 
31  RFM96(Module* mod);
32 
33  // basic methods
34 
58  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
59 
60  // configuration methods
61 
69  int16_t setFrequency(float freq);
70 
71 #if !defined(RADIOLIB_GODMODE)
72  private:
73 #endif
74 
75 };
76 
82 RADIOLIB_TYPE_ALIAS(RFM96, RFM98);
83 
84 #endif
85 
86 #endif
RFM96::begin
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: RFM96.cpp:8
RFM96::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 433.0 MHz to 470.0 MHz.
Definition: RFM96.cpp:44
RFM96
Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM96.h:21
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
RFM96::RFM96
RFM96(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM96.cpp:4
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:16
RFM98
Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules...