Reserved registers on RFM95 module

Hi everyone,

This is my first topic here since i couldnt find anyone having a similar problem, i hope this became useful for the community.

As a brief introduction i’m working with raw LoRa toy examples with a couple of RF95+Arduino modules using RadioHead library (rf95_client and rf95_server). My goal is to send very short packages (1 byte at most) in very narrow time windows (no longer than 20ms). Playing with Semtech’s LoRa calculator i’ve found that a spreading factor of 6 would suit my needs. However, i can’t get a working Client-Server link with this configuration, meaning that both codes compile and upload but they don’t share information. This is the code i’m actually using to switch between modem configs.

RH_RF95::ModemConfig modemconfig;
modemconfig.reg_1d = 0x72; // BW 125
modemconfig.reg_1e = 0x74; // SF 7
modemconfig.reg_26 = 0x00; 
rf95.setModemRegisters(&modemconfig);

Wich works fine for all of the pre-set modem configs, but when i try to set SF=6 on register 1E, i cant get the link to work. Looking around the internet i found that Dragino’s version of RadioHead library has a set of functions to modify these parameters easily, including a spreading factor of 6. By going deeper, i read the definitions of these functions and i noticed that in order to get this value to work two registers has to be changed first, 0x31 and 0x37. These registers are reserved according to HopeRF datasheet and that blew my mind.

image
Draginos CPP
Draginos H
image

So my questiones are: 1) Does anyone has some experience with these reserved registers on that module, what do they do and how to use them?. 2) It seems that other registers has to be modified in order to configure the modem, does anyone had a problem like this before? what did you do to solve it? And finally. 3) Our long reach goal is to run this with a LoRaWAN gateway, are nodes configured in the same way?

I will try to implement these modifications on my sketch and see how it works

Thanks for reading, have a nice day!

See pages 25, 91 and 113 of the Semtech Sx1272

SF6 is a special case setting that can only be used with a fixed packet length with Sx1272 and Sx1276.

To what end, some form of custom application that would be non-standard as far as a TTN gateway is concerned ?

And as @jreiss has pointed out you need to use the proper documentation for the SX127x devices, I would not be relying on Hopes ‘copy’.

Thank you very much! all doubts cleared