Example #1
0
        public LoRaArduinoSerial setDataRate(_data_rate_t dataRate, _physical_type_t physicalType)
        {
            if (physicalType == _physical_type_t.EU434)
            {
                sendCommand("AT+DR=EU433\r\n");
            }
            else if (physicalType == _physical_type_t.EU868)
            {
                sendCommand("AT+DR=EU868\r\n");
            }
            else if (physicalType == _physical_type_t.US915)
            {
                sendCommand("AT+DR=US915\r\n");
            }
            else if (physicalType == _physical_type_t.US915HYBRID)
            {
                sendCommand("AT+DR=US915HYBRID\r\n");
            }
            else if (physicalType == _physical_type_t.AU915)
            {
                sendCommand("AT+DR=AU915\r\n");
            }
            else if (physicalType == _physical_type_t.AU915OLD)
            {
                sendCommand("AT+DR=AU915OLD\r\n");
            }
            else if (physicalType == _physical_type_t.CN470)
            {
                sendCommand("AT+DR=CN470\r\n");
            }
            else if (physicalType == _physical_type_t.CN779)
            {
                sendCommand("AT+DR=CN779\r\n");
            }
            else if (physicalType == _physical_type_t.AS923)
            {
                sendCommand("AT+DR=AS923\r\n");
            }
            else if (physicalType == _physical_type_t.KR920)
            {
                sendCommand("AT+DR=KR920\r\n");
            }
            else if (physicalType == _physical_type_t.IN865)
            {
                sendCommand("AT+DR=IN865\r\n");
            }

            Thread.Sleep(DEFAULT_TIMEWAIT);

            string cmd = $"AT+DR={dataRate}\r\n";

            sendCommand(cmd);

            Thread.Sleep(DEFAULT_TIMEWAIT);

            return(this);
        }
        public async Task setDataRateAsync(_data_rate_t dataRate, _physical_type_t physicalType)
        {
            if (physicalType == _physical_type_t.EU434)
            {
                this.sendCommand("AT+DR=EU433\r\n");
            }
            else if (physicalType == _physical_type_t.EU868)
            {
                this.sendCommand("AT+DR=EU868\r\n");
            }
            else if (physicalType == _physical_type_t.US915)
            {
                this.sendCommand("AT+DR=US915\r\n");
            }
            else if (physicalType == _physical_type_t.US915HYBRID)
            {
                this.sendCommand("AT+DR=US915HYBRID\r\n");
            }
            else if (physicalType == _physical_type_t.AU915)
            {
                this.sendCommand("AT+DR=AU915\r\n");
            }
            else if (physicalType == _physical_type_t.AU915OLD)
            {
                this.sendCommand("AT+DR=AU915OLD\r\n");
            }
            else if (physicalType == _physical_type_t.CN470)
            {
                this.sendCommand("AT+DR=CN470\r\n");
            }
            else if (physicalType == _physical_type_t.CN779)
            {
                this.sendCommand("AT+DR=CN779\r\n");
            }
            else if (physicalType == _physical_type_t.AS923)
            {
                this.sendCommand("AT+DR=AS923\r\n");
            }
            else if (physicalType == _physical_type_t.KR920)
            {
                this.sendCommand("AT+DR=KR920\r\n");
            }
            else if (physicalType == _physical_type_t.IN865)
            {
                this.sendCommand("AT+DR=IN865\r\n");
            }

            await this.EnsureSerialAnswerAsync("+DR:", 30);

            await Task.Delay(DEFAULT_TIMEWAIT);

            string cmd = $"AT+DR={dataRate}\r\n";

            this.sendCommand(cmd);

            await this.EnsureSerialAnswerAsync("+DR:", 30);
        }