Tag Archives: RFM95W

Solved the problem “RH_RF95 Does not name a type”

Solved the problem “RH_95 Does not name a type”

The Developers or users may face a problem when they follow the step of the user manual try to Upload a sketch to the Dragino Lora gateway LG01-S or Upload Sketch to Lora shield board by using the newest version Arduino-1.8.5. the compiler will show: class RH_RF95′ has no member named ‘setSpreadingFactor’ or RH_RF95 Does not name a type.

dwmzone-Solved-the -problem-RH_RF95 -Does-not -name-a -type-pro1

dwmzone-Solved-the -problem-RH_RF95 -Does-not -name-a -type-pro1


You may try many ways or search on the internet to find a way to solve the problems when the problems come.i have faced this problem and solved the problems successfully.
Here are my way and explanation:
1. The explanation
you may had used the old version Lora Library before like the version RadioHead-1.63 and add to the IDE as one library now the Dragino had been upgraded the newest version Lora library which is RadioHead-master the problems comes from the conflict between the old version and newest version Lora library(The newest version Lora library can be download from https://github.com/dragino/RadioHead/archive/master.zip).
2. The way solved the problems
1) find the library file and delete the RadioHead file here is the route(you cant uninstall from the Library Manager)


C:\Users\Administrator\Documents\Arduino\libraries/RadioHead
2)find the cached file and delete the Arduino15 file here is the route(which will store the history data for the old version library)


C:\Users\Administrator\AppData\Local\Arduino15
3) Install the newest version Lora Library by using the Library Manager again.
Then problem solved you can try it again.

RFduino Board & LoRa module as DK board User guide

     RFduino Board original design for all of the Wireless modules can share with same Library and can run a Wireless communication code with the RFduino Board.This User guide will show you how to use the RFduino Board to delevelop the RFM92W,RFM95W,RFM96W,RFM98W  LoRa module etcs.

    RFduino Board which also name HopeDuino But we used to call it as RFduino board.If there are any questions please contact us sales@odlstore.com. We will give more details about the name.

If you are  the firt time use the   RFduino Board please visit the  RFduino Board User Manule.

  1. Prepare Hardware and software:

2. Operation

 1.) Set two RFM9X LoRa module to The RFduino Board .

rfduino-board

2.) Connect the RFduino Board to the PC by USB cable.

   3.) Opens the Arduino IDE interface, click on the [file] – > [Examples] -> [HopeRFLib] ->[lora_Tx], below operation;

   4.) Opens the Arduino IDE interface, click on the [file] – > [example] -> [HopeRFLib] -> [lora_Rx], the following figure.

Dwmzone-LoRa-module-RFduino-board

5.) Compile and download the Software.

Since there are two USB cable connect to one PC and one Aduino ID there are onething need to be carefull that’s the Serial port,each of time you compile and download the LoRa_Tx and LoRa_Rx You have to choice the correct Serial Port.You can see the serial port on the right down corner which shows as below:

Dwmzone-LoRa-module-RFduino-board-serial-poart

 6.) Serial Port Monitor the TX and RX communication.

After Compile and download the Software the TX will start the wireless transmission periodically and you can set the Rx serial port and check the received data package by click the “Serial Mornitor”.

Dwmzone-LoRa-module-RFduino-board-serial-poart-monitor

It will open a new windows and display the data received.shows as below:

Dwmzone-LoRa-module-RFduino-board-serial-poart-data

Note: You can check the UART Library  which content the function for UART communiction here is the Route: HoepRF-HSP->libraries->HopeRFLib -> HopeDuino_UART.

3.Paremeter Definition and Description.

“LoRa. H” and “LoRa. CPP” library file repository paths in the Arduino IDE folder/libraries/HopeRFLib;

  •  FreqStruct
    Type:  Union type
    Description: for RFM9X frequency register definition
    Content: the Freq, long, 4 bytes, frequency values;
            FreqL, bytes, in view of the Freq split the low frequency values of 8 [0:7];
            FreqM, bytes, in view of the Freq split the frequency values of 8 [8:15];
            FreqH, bytes, in view of the high Freq split frequency values of 8 [16:23];
            FreqX, byte, redundancy, rounding 4 bytes, No meaning.
  • Modulation Type
    Type: enum-type
    Description: select Modulation and demodulation system
    Content: OOK, FSK, GFSK, LORA
    OOK: ON-Off – the Key ;
        FSK:  Frequency – Shift – Key:
       GFSK: FSK modulation with gaussian filtering;
        LoRa :Semtech characteristic spread spectrum modulation technique.
  • moduleType
    Type: enum-type
    Description: select the target module models
    Content: LoRa module EVB/DK Kits(RFM92W,RFM95W,RFM96W,RFM98W).
  • sfType
    Type: enum-type
    Description: define LoRa mode, spreading factor (SF – spreading factor)
    Content:  SF6, SF7 SF8 SF9, SF10, SF11, SF12.
  • Modulation
    Type: modulationType type
    Description: define modulation demodulation system, OOK, FSK, GFSK,LoRa by selecting one of the them.
  • COB
    Type: moduleType type
    Description: definition module model, COB said Chip – On – Borad, can be choice from LoRa module EVB/DK Kits(RFM92W,RFM95W,RFM96W,RFM98W).
  • Frequency
    Type: type lword (unsigned long)
    Description: the target operating Frequency, the unit KHz, such as: Frequency = 433920, on behalf of 433.92 MHz.
  • SymbolTime
    Type: type lword (unsigned long)
    Description: the target rate, the unit ns, such as: SymbolTime = 416000, representing 416 us each symbol, It means the rate is 2.4 kbps.
  • Devation
    Type: type lword (unsigned long)
    Description: the target work frequency deviation, in view of the FSK and GFSK launch needs to be defined, unit KHz, for example: Devation = 45, It means the Frequency Deviation is 45 KHz.
  •  BandWidth
    Type: type of word (unsigned int)
    Description: the target work receive BandWidth, for receiving need to define the unit KHz, for example: BandWidth = 100, on behalf of the receiving BandWidth is 100 KHz.
  • OutputPower
    Type: unsigned char
    Description: the target output power, in view of the need to define the launch, range 2-20, unit dBm, for example, is set to 10 means the Output Power is 10 dBm.
  • PreambleLength
    Type: type of word (unsigned int)
    Function: Preamble of packet length setting, need to be configured for launch, byte units.
  • CrcDisable
    Types: bool type
    Description: choose whether or not to bring in a packet function CRC, set true representative prohibit CRC function;Set up false open CRC function.
  • FixedPktLength
    Types: bool type
    Description: define packet is fixed packet length, or longer packets, set true representative fixed packet length;Set the false on behalf of the variable-length packet format.
  • SyncLength
    Types: Byte type
    Description: wireless packet format, the synchronization word length, set the range is 1 ~ 8 bytes;Cannot be set to zero bytes.
  • SyncWord [8]
    Type: an array of bytes
    Description: set the packet format, the synchronization word, the content of the need and SyncLength set in accordance with (length).
  • PayloadLength
    Types: Byte type
    Description: in fixed packet length model, defining fixed packet length.
  • SFSel
    Type: sfType type
    Description: set LoRa mode of spread spectrum factor, can choose SF6, SF7, SF8, SF9, SF10, SF11, SF12 one of them.
  • BWSel
    Type: bwType type
    Description: set LoRa mode emission bandwidth parameters, can choose BW62K, BW125K, BW250K, BW500K one of them.
  • CRSel
    Type: crType type
    Description: set the CodeRate LoRa mode, can choose CR4_5, CR4_6, CR4_7, CR4_8 one of them.
  • PayloadLength
    Type: Byte type:
    Description: in fixed packet length model, defining fixed packet length.
  •  SFSel
    Type: sfType type
    Description: set LoRa mode of spread spectrum factor, can choose SF6, SF7, SF8, SF9, SF10, SF11, SF12 one of them.
  • BWSel
    Type: bwType type
    Description: set LoRa mode emission bandwidth parameters, can choose BW62K, BW125K, BW250K, BW500K one of them.
  • CRSel
    Type: crType type
    Description: set the CodeRate LoRa mode, can choose CR4_5, CR4_6, CR4_7, CR4_8 one of them.

4.Function Definition and Description.

  • vInitialize
    Type:Function
    Parameter: none
    Return value: none
    Description: initialization module (chip), suitable for RFM66 module, the program started calling;Before the call, it is necessary to the foregoing associated variable is set to complete.Initialization function after the configuration (including call vConfig function), that module (chip) for Standby state, namely, not hair, not closed, not sleep.
  • vConfig
    Type: Function
    Parameter: none
    Return value: none
    Description: configuration parameters to the module (chip), applicable to the program need to reconfigure the parameters in the process of work.Also need to complete the associated variable is set before invoking it.If the associated variables set up complete, the follow-up is unchanged, only want to reconfigure a parameters, can be called directly;If need in the process of work, the work of switching frequency, etc., need to modify the relevant parameters, and then in the call.After the call, need to use working mode switching function, so that the chips accurately to the specific work mode, the mode switching function are: vGoRx, vGoStandby, vGoSleep etc.
  • vGoRx
    Type:Function
    Parameter: none
    Return value: none
    Description: configuration module (chip) into the receive mode.
  • vGoStandby
    Type: Function
    Parameter: none
    Return value: none
    Description: configuration module (chip) to enter standby mode.
  • vGoSleep
    Type: Function
    Parameter: none
    Return value: none
    Description: configuration module (chip) into sleep mode.
  • bSendMessage
    Type: function
    Parameter: MSG [], unsigned char pointer type, with emission data array called entrance (pointer);Length, unsigned char types, to launch the data length, the unit is byte;
    Return Value: returns a bool type, true indicates the successful launch;False indicates failure to launch, such as: push a timeout, and so on and so forth;
    Description: the data are sent to launch, just send a (a frame);Sent after the completion of automatic return to Standby mode (Standby mode).
  • bGetMessage
    Type: Function
    Parameter: MSG [], unsigned char pointer type, calls for receiving data array entry (pointer);
    Return Value: return value is the length of the receiving data, if it returns 0 means no received data;
    Description: query whether receives the data, the query object is chip output IO state, if not received data, returns 0;If the received data, returns the length of the received data, after the charge, module (chip) is still in a state of receiving.

5.PIN definition

RFDuino Board MCU (Lgt8f328) RFM9x modules(Or Chipset)
13 PB5 SCK
12 PB4 MISO
11 PB3 MOSI
10 PB2 nCS
9 PB1 POR
8 PB0 DIO0
7 PD7 DIO1(Jumper
6 PD6 DIO2(Jumper)
5 PD5 DIO3(Jumper)
4 PD4 DIO4(Jumper)