private LoraRegisterModemConfig1.CodingRateEnum ConvertCodingRate(CodingRate codingRate)
        {
            switch (codingRate)
            {
            case CodingRate.FourOfFive:
                return(LoraRegisterModemConfig1.CodingRateEnum.Rate1);

            case CodingRate.FourOfSix:
                return(LoraRegisterModemConfig1.CodingRateEnum.Rate2);

            case CodingRate.FourOfSeven:
                return(LoraRegisterModemConfig1.CodingRateEnum.Rate3);

            case CodingRate.FourOfEight:
                return(LoraRegisterModemConfig1.CodingRateEnum.Rate4);

            default:
                throw new ArgumentOutOfRangeException(nameof(codingRate), codingRate, null);
            }
        }
 public TransceiverSettings(
     RadioModemKind radioModem,
     uint frequency,
     BandWidth bandWidth,
     SpreadingFactor spreadingFactor,
     CodingRate codingRate,
     ushort symbolTimeout,
     bool crcEnabled,
     bool enableLowDataRateOptimize,
     LoraSyncWord loraSyncWord)
 {
     RadioModem                = radioModem;
     Frequency                 = frequency;
     BandWidth                 = bandWidth;
     SpreadingFactor           = spreadingFactor;
     CodingRate                = codingRate;
     SymbolTimeout             = symbolTimeout;
     CrcEnabled                = crcEnabled;
     EnableLowDataRateOptimize = enableLowDataRateOptimize;
     LoraSyncWord              = loraSyncWord;
 }