public Result Class(LoRaClass loRaClass)
        {
            string command;
            string response;

            switch (loRaClass)
            {
            case LoRaClass.A:
                command  = "AT+CLASS=A";
                response = "+CLASS: A";
                break;

            case LoRaClass.B:
                command  = "AT+CLASS=B";
                response = "+CLASS: B";
                break;

            case LoRaClass.C:
                command  = "AT+CLASS=C";
                response = "+CLASS: C";
                break;

            default:
                throw new ArgumentException($"LoRa class value {loRaClass} invalid", "loRaClass");
            }

            // Set the class
#if DIAGNOSTICS
            Debug.WriteLine($" {DateTime.UtcNow:hh:mm:ss} AT+CLASS:{loRaClass}");
#endif
            Result result = SendCommand(response, command, CommandTimeoutDefault);
            if (result != Result.Success)
            {
#if DIAGNOSTICS
                Debug.WriteLine($" {DateTime.UtcNow:hh:mm:ss} AT+CLASS failed {result}");
#endif
                return(result);
            }

            return(Result.Success);
        }
        public Result Class(LoRaClass loRaClass)
        {
            string command;

            switch (loRaClass)
            {
            case LoRaClass.A:
                command = "at+set_config=lora:class:0";
                break;

            // Currently ClassB unsupported
            //case LoRaClass.B;
            //   command = "at+set_config=lora:class:1";
            //   break;
            case LoRaClass.C:
                command = "at+set_config=lora:class:2";
                break;

            default:
                throw new ArgumentException($"LoRa class value {loRaClass} invalid", "loRaClass");
            }

            // Set the class
#if DIAGNOSTICS
            Debug.WriteLine($" {DateTime.UtcNow:hh:mm:ss} lora:class:{loRaClass}");
#endif
            Result result = SendCommand("OK", command, CommandTimeoutDefault);
            if (result != Result.Success)
            {
#if DIAGNOSTICS
                Debug.WriteLine($" {DateTime.UtcNow:hh:mm:ss} lora:class failed {result}");
#endif
                return(result);
            }

            return(Result.Success);
        }