We are looking to upgrade to the latest versions of LoRaServer, LoRa-App-Server and LoRa-Gateway-Bridge. However we need to add a modified IN865 region to support a similar frequency band in NZ, i.e. implement a new NZ865.
Previously, with older versions we have managed to achieve this by compiling those applications with the following changes:
For LoRaServer
- add new region definition file band_nz_865_867.go to loraserver/vendor/github.com/brocaar/lorawan/band/ based on band_in_865_867.go
- network_server.go - add new region to rfRegionMapping (e.g. band.NZ_865_867: backend.NZ865, )
- main.go - add new region to var bands = [] string { (e.g. string(band.NZ_865_867), )
- loraserver/vendor/github.com/brocaar/lorawan/band/band.go - add new region to // Available ISM bands (e.g. NZ_865_867 Name = “NZ_865_867” and add new case to func GetConfig (e.g. case NZ_865_867: return newNZ865Band(repeaterCompatible)
- backend.go - add new region to //Supported RF Regions (e.g. NZ865 RFRegion = “NZ865”)
For Lora-App-Server
- backend.go - add new region to //Supported RF Regions (e.g. NZ865 RFRegion = “NZ865”)
For Lora-Gateway-Bridge
- add new region definition file band_nz_865_867.go to lora-gateway-bridge/vendor/github.com/brocaar/lorawan/band/ based on band_in_865_867.go
- network_server.go - add new region to rfRegionMapping (e.g. band.NZ_865_867: backend.NZ865, )
- backend.go - add new region to //Supported RF Regions (e.g. NZ865 RFRegion = “NZ865”)
- main.go - add new region to var bands = [] string { (e.g. string(band.NZ_865_867), )
- lora-gateway-bridge/vendor/github.com/brocaar/lorawan/band/band.go - add new region to // Available ISM bands (e.g. NZ_865_867 Name = “NZ_865_867” and add new case to func GetConfig (e.g. case NZ_865_867: return newNZ865Band(repeaterCompatible)
- Create new band_nz_865_867_test.go in lora-gateway-bridge/vendor/github.com/brocaar/lorawan/band/ based on band_in_865_867_test.go
My question is whether for the latest versions a similar process should work, or do we need to do something different, or is there an easier approach now?
Many thanks, Ron