diff --git a/examples/LR11x0/LR11x0_Channel_Activity_Detection_Blocking/LR11x0_Channel_Activity_Detection_Blocking.ino b/examples/LR11x0/LR11x0_Channel_Activity_Detection_Blocking/LR11x0_Channel_Activity_Detection_Blocking.ino index 81b3f7bd5..0a6c13ca0 100644 --- a/examples/LR11x0/LR11x0_Channel_Activity_Detection_Blocking/LR11x0_Channel_Activity_Detection_Blocking.ino +++ b/examples/LR11x0/LR11x0_Channel_Activity_Detection_Blocking/LR11x0_Channel_Activity_Detection_Blocking.ino @@ -65,10 +65,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -79,6 +75,9 @@ void setup() { Serial.println(state); while (true) { delay(10); } } + + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); } void loop() { diff --git a/examples/LR11x0/LR11x0_Channel_Activity_Detection_Interrupt/LR11x0_Channel_Activity_Detection_Interrupt.ino b/examples/LR11x0/LR11x0_Channel_Activity_Detection_Interrupt/LR11x0_Channel_Activity_Detection_Interrupt.ino index 304bbc9d9..e7e295cb9 100644 --- a/examples/LR11x0/LR11x0_Channel_Activity_Detection_Interrupt/LR11x0_Channel_Activity_Detection_Interrupt.ino +++ b/examples/LR11x0/LR11x0_Channel_Activity_Detection_Interrupt/LR11x0_Channel_Activity_Detection_Interrupt.ino @@ -60,10 +60,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -75,6 +71,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // set the function that will be called // when LoRa packet or timeout is detected radio.setIrqAction(setFlag); diff --git a/examples/LR11x0/LR11x0_GNSS_Almanac_Update/LR11x0_GNSS_Almanac_Update.ino b/examples/LR11x0/LR11x0_GNSS_Almanac_Update/LR11x0_GNSS_Almanac_Update.ino index 444ee6574..0f02a2536 100644 --- a/examples/LR11x0/LR11x0_GNSS_Almanac_Update/LR11x0_GNSS_Almanac_Update.ino +++ b/examples/LR11x0/LR11x0_GNSS_Almanac_Update/LR11x0_GNSS_Almanac_Update.ino @@ -41,6 +41,26 @@ LR1110 radio = new Module(10, 2, 3, 9); Radio radio = new RadioModule(); */ +// set RF switch configuration for Wio WM1110 +// Wio WM1110 uses DIO5 and DIO6 for RF switching +// NOTE: other boards may be different! +static const uint32_t rfswitch_dio_pins[] = { + RADIOLIB_LR11X0_DIO5, RADIOLIB_LR11X0_DIO6, + RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC +}; + +static const Module::RfSwitchMode_t rfswitch_table[] = { + // mode DIO5 DIO6 + { LR11x0::MODE_STBY, { LOW, LOW } }, + { LR11x0::MODE_RX, { HIGH, LOW } }, + { LR11x0::MODE_TX, { HIGH, HIGH } }, + { LR11x0::MODE_TX_HP, { LOW, HIGH } }, + { LR11x0::MODE_TX_HF, { LOW, LOW } }, + { LR11x0::MODE_GNSS, { LOW, LOW } }, + { LR11x0::MODE_WIFI, { LOW, LOW } }, + END_OF_MODE_TABLE, +}; + // structure to save information about the GNSS almanac LR11x0GnssAlmanacStatus_t almStatus; @@ -58,6 +78,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // check the firmware version Serial.print(F("[LR1110] Checking firmware version ... ")); state = radio.isGnssScanCapable(); diff --git a/examples/LR11x0/LR11x0_GNSS_Autonomous_Position/LR11x0_GNSS_Autonomous_Position.ino b/examples/LR11x0/LR11x0_GNSS_Autonomous_Position/LR11x0_GNSS_Autonomous_Position.ino index 800a21b85..994b749da 100644 --- a/examples/LR11x0/LR11x0_GNSS_Autonomous_Position/LR11x0_GNSS_Autonomous_Position.ino +++ b/examples/LR11x0/LR11x0_GNSS_Autonomous_Position/LR11x0_GNSS_Autonomous_Position.ino @@ -37,6 +37,26 @@ LR1110 radio = new Module(10, 2, 3, 9); Radio radio = new RadioModule(); */ +// set RF switch configuration for Wio WM1110 +// Wio WM1110 uses DIO5 and DIO6 for RF switching +// NOTE: other boards may be different! +static const uint32_t rfswitch_dio_pins[] = { + RADIOLIB_LR11X0_DIO5, RADIOLIB_LR11X0_DIO6, + RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC +}; + +static const Module::RfSwitchMode_t rfswitch_table[] = { + // mode DIO5 DIO6 + { LR11x0::MODE_STBY, { LOW, LOW } }, + { LR11x0::MODE_RX, { HIGH, LOW } }, + { LR11x0::MODE_TX, { HIGH, HIGH } }, + { LR11x0::MODE_TX_HP, { LOW, HIGH } }, + { LR11x0::MODE_TX_HF, { LOW, LOW } }, + { LR11x0::MODE_GNSS, { LOW, LOW } }, + { LR11x0::MODE_WIFI, { LOW, LOW } }, + END_OF_MODE_TABLE, +}; + // structure to save information about the GNSS scan result LR11x0GnssResult_t gnssResult; @@ -57,6 +77,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // check the firmware version Serial.print(F("[LR1110] Checking firmware version ... ")); state = radio.isGnssScanCapable(); diff --git a/examples/LR11x0/LR11x0_GNSS_Satellites/LR11x0_GNSS_Satellites.ino b/examples/LR11x0/LR11x0_GNSS_Satellites/LR11x0_GNSS_Satellites.ino index bd84bc457..ad0457c92 100644 --- a/examples/LR11x0/LR11x0_GNSS_Satellites/LR11x0_GNSS_Satellites.ino +++ b/examples/LR11x0/LR11x0_GNSS_Satellites/LR11x0_GNSS_Satellites.ino @@ -37,6 +37,26 @@ LR1110 radio = new Module(10, 2, 3, 9); Radio radio = new RadioModule(); */ +// set RF switch configuration for Wio WM1110 +// Wio WM1110 uses DIO5 and DIO6 for RF switching +// NOTE: other boards may be different! +static const uint32_t rfswitch_dio_pins[] = { + RADIOLIB_LR11X0_DIO5, RADIOLIB_LR11X0_DIO6, + RADIOLIB_NC, RADIOLIB_NC, RADIOLIB_NC +}; + +static const Module::RfSwitchMode_t rfswitch_table[] = { + // mode DIO5 DIO6 + { LR11x0::MODE_STBY, { LOW, LOW } }, + { LR11x0::MODE_RX, { HIGH, LOW } }, + { LR11x0::MODE_TX, { HIGH, HIGH } }, + { LR11x0::MODE_TX_HP, { LOW, HIGH } }, + { LR11x0::MODE_TX_HF, { LOW, LOW } }, + { LR11x0::MODE_GNSS, { LOW, LOW } }, + { LR11x0::MODE_WIFI, { LOW, LOW } }, + END_OF_MODE_TABLE, +}; + // structure to save information about the GNSS scan result LR11x0GnssResult_t gnssResult; @@ -54,6 +74,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // check the firmware version Serial.print(F("[LR1110] Checking firmware version ... ")); state = radio.isGnssScanCapable(); diff --git a/examples/LR11x0/LR11x0_PingPong/LR11x0_PingPong.ino b/examples/LR11x0/LR11x0_PingPong/LR11x0_PingPong.ino index b6b5e08de..a2a62f961 100644 --- a/examples/LR11x0/LR11x0_PingPong/LR11x0_PingPong.ino +++ b/examples/LR11x0/LR11x0_PingPong/LR11x0_PingPong.ino @@ -74,10 +74,6 @@ void setFlag(void) { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -89,6 +85,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // set the function that will be called // when new packet is received radio.setIrqAction(setFlag); diff --git a/examples/LR11x0/LR11x0_Receive_Blocking/LR11x0_Receive_Blocking.ino b/examples/LR11x0/LR11x0_Receive_Blocking/LR11x0_Receive_Blocking.ino index aeb40679f..341b1a74d 100644 --- a/examples/LR11x0/LR11x0_Receive_Blocking/LR11x0_Receive_Blocking.ino +++ b/examples/LR11x0/LR11x0_Receive_Blocking/LR11x0_Receive_Blocking.ino @@ -70,10 +70,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -84,6 +80,9 @@ void setup() { Serial.println(state); while (true) { delay(10); } } + + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); } void loop() { diff --git a/examples/LR11x0/LR11x0_Receive_Interrupt/LR11x0_Receive_Interrupt.ino b/examples/LR11x0/LR11x0_Receive_Interrupt/LR11x0_Receive_Interrupt.ino index 76b8919fb..372c208f0 100644 --- a/examples/LR11x0/LR11x0_Receive_Interrupt/LR11x0_Receive_Interrupt.ino +++ b/examples/LR11x0/LR11x0_Receive_Interrupt/LR11x0_Receive_Interrupt.ino @@ -66,10 +66,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -81,6 +77,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // set the function that will be called // when new packet is received radio.setPacketReceivedAction(setFlag); diff --git a/examples/LR11x0/LR11x0_Transmit_Blocking/LR11x0_Transmit_Blocking.ino b/examples/LR11x0/LR11x0_Transmit_Blocking/LR11x0_Transmit_Blocking.ino index bad54bd1d..66a9058df 100644 --- a/examples/LR11x0/LR11x0_Transmit_Blocking/LR11x0_Transmit_Blocking.ino +++ b/examples/LR11x0/LR11x0_Transmit_Blocking/LR11x0_Transmit_Blocking.ino @@ -61,10 +61,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -76,6 +72,9 @@ void setup() { delay(1000); while (true) { delay(10); } } + + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); } // counter to keep track of transmitted packets diff --git a/examples/LR11x0/LR11x0_Transmit_Interrupt/LR11x0_Transmit_Interrupt.ino b/examples/LR11x0/LR11x0_Transmit_Interrupt/LR11x0_Transmit_Interrupt.ino index 2efdc263d..8e40eff29 100644 --- a/examples/LR11x0/LR11x0_Transmit_Interrupt/LR11x0_Transmit_Interrupt.ino +++ b/examples/LR11x0/LR11x0_Transmit_Interrupt/LR11x0_Transmit_Interrupt.ino @@ -65,10 +65,6 @@ int transmissionState = RADIOLIB_ERR_NONE; void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -80,6 +76,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // set the function that will be called // when packet transmission is finished radio.setPacketSentAction(setFlag); diff --git a/examples/LR11x0/LR11x0_WiFi_Scan_Blocking/LR11x0_WiFi_Scan_Blocking.ino b/examples/LR11x0/LR11x0_WiFi_Scan_Blocking/LR11x0_WiFi_Scan_Blocking.ino index 53bafd36b..6da1b356e 100644 --- a/examples/LR11x0/LR11x0_WiFi_Scan_Blocking/LR11x0_WiFi_Scan_Blocking.ino +++ b/examples/LR11x0/LR11x0_WiFi_Scan_Blocking/LR11x0_WiFi_Scan_Blocking.ino @@ -63,10 +63,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -77,6 +73,9 @@ void setup() { Serial.println(state); while (true) { delay(10); } } + + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); } void loop() { diff --git a/examples/LR11x0/LR11x0_WiFi_Scan_Interrupt/LR11x0_WiFi_Scan_Interrupt.ino b/examples/LR11x0/LR11x0_WiFi_Scan_Interrupt/LR11x0_WiFi_Scan_Interrupt.ino index fcae902a7..38872f2e8 100644 --- a/examples/LR11x0/LR11x0_WiFi_Scan_Interrupt/LR11x0_WiFi_Scan_Interrupt.ino +++ b/examples/LR11x0/LR11x0_WiFi_Scan_Interrupt/LR11x0_WiFi_Scan_Interrupt.ino @@ -63,10 +63,6 @@ static const Module::RfSwitchMode_t rfswitch_table[] = { void setup() { Serial.begin(9600); - // set RF switch control configuration - // this has to be done prior to calling begin() - radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); - // initialize LR1110 with default settings Serial.print(F("[LR1110] Initializing ... ")); int state = radio.begin(); @@ -78,6 +74,9 @@ void setup() { while (true) { delay(10); } } + // set RF switch control configuration + radio.setRfSwitchTable(rfswitch_dio_pins, rfswitch_table); + // set the function that will be called // when WiFi scan is complete radio.setIrqAction(setFlag);