From 648b455cfffff0de279025c3f96f4d3ca40dd041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Grome=C5=A1?= Date: Tue, 26 Mar 2024 06:57:25 +0100 Subject: [PATCH] [LoRaWAN] Added array of supported bands (#1032) --- src/protocols/LoRaWAN/LoRaWAN.h | 23 +++++++++++++++++++++++ src/protocols/LoRaWAN/LoRaWANBands.cpp | 22 +++++++++++----------- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/protocols/LoRaWAN/LoRaWAN.h b/src/protocols/LoRaWAN/LoRaWAN.h index 0aab1fa7a..875ac7cb2 100644 --- a/src/protocols/LoRaWAN/LoRaWAN.h +++ b/src/protocols/LoRaWAN/LoRaWAN.h @@ -392,6 +392,29 @@ extern const LoRaWANBand_t AS923; extern const LoRaWANBand_t KR920; extern const LoRaWANBand_t IN865; +/*! + \struct LoRaWANBandNum_t + \brief IDs of all currently supported bands +*/ +enum LoRaWANBandNum_t { + BandEU868, + BandUS915, + BandCN780, + BandEU433, + BandAU915, + BandCN500, + BandAS923, + BandKR920, + BandIN865, + BandLast +}; + +// provide easy access to the number of currently supported bands +#define RADIOLIB_LORAWAN_NUM_SUPPORTED_BANDS (BandLast - BandEU868) + +// array of currently supported bands +extern const LoRaWANBand_t* LoRaWANBands[]; + /*! \struct LoRaWANMacCommand_t \brief Structure to save information about MAC command diff --git a/src/protocols/LoRaWAN/LoRaWANBands.cpp b/src/protocols/LoRaWAN/LoRaWANBands.cpp index ad0b1b9ee..eaeb0841a 100644 --- a/src/protocols/LoRaWAN/LoRaWANBands.cpp +++ b/src/protocols/LoRaWAN/LoRaWANBands.cpp @@ -2,17 +2,17 @@ #if !RADIOLIB_EXCLUDE_LORAWAN -enum LoRaWANBandNum_t { - BandNone, - BandEU868, - BandUS915, - BandCN780, - BandEU433, - BandAU915, - BandCN500, - BandAS923, - BandKR920, - BandIN865 +// array of pointers to currently supported LoRaWAN bands +const LoRaWANBand_t* LoRaWANBands[RADIOLIB_LORAWAN_NUM_SUPPORTED_BANDS] = { + &EU868, + &US915, + &CN780, + &EU433, + &AU915, + &CN500, + &AS923, + &KR920, + &IN865, }; const LoRaWANBand_t EU868 = {