Skip to content

Commit a39d133

Browse files
author
Sylvain Miermont
committed
v1.5.0
- Adding option to discriminate LoRa MAC networks from private LoRa networks at PHY level.
1 parent 5b962da commit a39d133

File tree

5 files changed

+57
-6
lines changed

5 files changed

+57
-6
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.4.1
1+
1.5.0

libloragw/Makefile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,18 @@ else
9898
CFG_BRD_OPT := CFG_BRD_NONE
9999
endif
100100

101+
ifeq ($(CFG_NET),private)
102+
CFG_NET_MSG := Private network
103+
CFG_NET_OPT := CFG_NET_PRIVATE
104+
else ifeq ($(CFG_NET),lora_mac)
105+
CFG_NET_MSG := LoRa MAC network
106+
CFG_NET_OPT := CFG_NET_LORAMAC
107+
else
108+
$(warning [Warning] No network type selected, assume private network by default.)
109+
CFG_NET_MSG := Private network
110+
CFG_NET_OPT := CFG_NET_PRIVATE
111+
endif
112+
101113
### linking options
102114

103115
ifeq ($(CFG_SPI),native)
@@ -142,6 +154,9 @@ inc/config.h: ../VERSION library.cfg
142154
# Board misc. parameters
143155
@echo "Board misc. param : $(CFG_BRD_MSG)"
144156
@echo " #define $(CFG_BRD_OPT) 1" >> $@
157+
# Network type
158+
@echo "Network type : $(CFG_NET_MSG)"
159+
@echo " #define $(CFG_NET_OPT) 1" >> $@
145160
# Debug options
146161
@echo " #define DEBUG_AUX $(DEBUG_AUX)" >> $@
147162
@echo " #define DEBUG_SPI $(DEBUG_SPI)" >> $@

libloragw/library.cfg

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@ CFG_BAND= eu868
4545

4646
CFG_BRD= ref_1301_868
4747

48+
### Network Type ###
49+
# Accepted values:
50+
# private Default
51+
# lora_mac Only compliant with devices running LoRa MAC
52+
53+
CFG_NET= private
54+
4855
### Debug options ###
4956
# Set the DEBUG_* to 1 to activate debug mode in individual modules.
5057
# Warning: that makes the module *very verbose*, do not use for production

libloragw/src/loragw_hal.c

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,16 @@ typedef struct {
332332
#define CFG_BRD_STR "brd?"
333333
#endif
334334

335+
#if (CFG_NET_PRIVATE == 1)
336+
#define CFG_NET_STR "private"
337+
#elif (CFG_NET_LORAMAC == 1)
338+
#define CFG_NET_STR "lora_mac"
339+
#else
340+
#define CFG_NET_STR "network?"
341+
#endif
342+
335343
/* Version string, used to identify the library version/options once compiled */
336-
const char lgw_version_string[] = "Version: " LIBLORAGW_VERSION "; Options: " CFG_SPI_STR " " CFG_CHIP_STR " " CFG_RADIO_STR " " CFG_BAND_STR " " CFG_BRD_STR ";";
344+
const char lgw_version_string[] = "Version: " LIBLORAGW_VERSION "; Options: " CFG_SPI_STR " " CFG_CHIP_STR " " CFG_RADIO_STR " " CFG_BAND_STR " " CFG_BRD_STR " " CFG_NET_STR ";";
337345

338346
/* -------------------------------------------------------------------------- */
339347
/* --- PRIVATE VARIABLES ---------------------------------------------------- */
@@ -642,8 +650,13 @@ void lgw_constant_adjust(void) {
642650
// lgw_reg_w(LGW_SYNCH_DETECT_TH,1); /* default 1 */
643651
// lgw_reg_w(LGW_ZERO_PAD,0); /* default 0 */
644652
lgw_reg_w(LGW_SNR_AVG_CST,3); /* default 2 */
645-
// lgw_reg_w(LGW_FRAME_SYNCH_PEAK1_POS,1); /* default 1 */
646-
// lgw_reg_w(LGW_FRAME_SYNCH_PEAK2_POS,2); /* default 2 */
653+
#if (CFG_NET_LORAMAC == 1)
654+
lgw_reg_w(LGW_FRAME_SYNCH_PEAK1_POS,3); /* default 1 */
655+
lgw_reg_w(LGW_FRAME_SYNCH_PEAK2_POS,4); /* default 2 */
656+
#elif (CFG_NET_PRIVATE == 1)
657+
//lgw_reg_w(LGW_FRAME_SYNCH_PEAK1_POS,1); /* default 1 */
658+
//lgw_reg_w(LGW_FRAME_SYNCH_PEAK2_POS,2); /* default 2 */
659+
#endif
647660
// lgw_reg_w(LGW_PREAMBLE_FINE_TIMING_GAIN,1); /* default 1 */
648661
// lgw_reg_w(LGW_ONLY_CRC_EN,1); /* default 1 */
649662
// lgw_reg_w(LGW_PAYLOAD_FINE_TIMING_GAIN,2); /* default 2 */
@@ -658,8 +671,13 @@ void lgw_constant_adjust(void) {
658671
// lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_GAIN,1); /* default 1 */
659672
// lgw_reg_w(LGW_MBWSSF_SYNCH_DETECT_TH,1); /* default 1 */
660673
// lgw_reg_w(LGW_MBWSSF_ZERO_PAD,0); /* default 0 */
661-
// lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK1_POS,1); /* default 1 */
662-
// lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK2_POS,2); /* default 2 */
674+
#if (CFG_NET_LORAMAC == 1)
675+
lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK1_POS,3); /* default 1 */
676+
lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK2_POS,4); /* default 2 */
677+
#elif (CFG_NET_PRIVATE == 1)
678+
//lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK1_POS,1); /* default 1 */
679+
//lgw_reg_w(LGW_MBWSSF_FRAME_SYNCH_PEAK2_POS,2); /* default 2 */
680+
#endif
663681
// lgw_reg_w(LGW_MBWSSF_ONLY_CRC_EN,1); /* default 1 */
664682
// lgw_reg_w(LGW_MBWSSF_PAYLOAD_FINE_TIMING_GAIN,2); /* default 2 */
665683
// lgw_reg_w(LGW_MBWSSF_PREAMBLE_FINE_TIMING_GAIN,1); /* default 1 */
@@ -692,6 +710,13 @@ void lgw_constant_adjust(void) {
692710
/* TX LoRa */
693711
// lgw_reg_w(LGW_TX_MODE,0); /* default 0 */
694712
lgw_reg_w(LGW_TX_SWAP_IQ,1); /* "normal" polarity; default 0 */
713+
#if (CFG_NET_LORAMAC == 1)
714+
lgw_reg_w(LGW_TX_FRAME_SYNCH_PEAK1_POS,3); /* default 1 */
715+
lgw_reg_w(LGW_TX_FRAME_SYNCH_PEAK2_POS,4); /* default 2 */
716+
#elif (CFG_NET_PRIVATE == 1)
717+
//lgw_reg_w(LGW_TX_FRAME_SYNCH_PEAK1_POS,1); /* default 1 */
718+
//lgw_reg_w(LGW_TX_FRAME_SYNCH_PEAK2_POS,2); /* default 2 */
719+
#endif
695720

696721
/* TX FSK */
697722
// lgw_reg_w(LGW_FSK_TX_GAUSSIAN_EN,1); /* default 1 */

readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ gateways as receivers.
5656
3. Changelog
5757
-------------
5858

59+
### v1.5.0 ###
60+
61+
* Adding option to discriminate LoRa MAC networks from private LoRa networks at PHY level.
62+
5963
### v1.4.1 ###
6064

6165
* Enabling support for FSK per LoRa MAC specification

0 commit comments

Comments
 (0)