diff --git a/examples/CC1101_Receive/CC1101_Receive.ino b/examples/CC1101/CC1101_Receive/CC1101_Receive.ino similarity index 100% rename from examples/CC1101_Receive/CC1101_Receive.ino rename to examples/CC1101/CC1101_Receive/CC1101_Receive.ino diff --git a/examples/CC1101_Receive_Address/CC1101_Receive_Address.ino b/examples/CC1101/CC1101_Receive_Address/CC1101_Receive_Address.ino similarity index 100% rename from examples/CC1101_Receive_Address/CC1101_Receive_Address.ino rename to examples/CC1101/CC1101_Receive_Address/CC1101_Receive_Address.ino diff --git a/examples/CC1101_Transmit/CC1101_Transmit.ino b/examples/CC1101/CC1101_Transmit/CC1101_Transmit.ino similarity index 100% rename from examples/CC1101_Transmit/CC1101_Transmit.ino rename to examples/CC1101/CC1101_Transmit/CC1101_Transmit.ino diff --git a/examples/CC1101_Transmit_Address/CC1101_Transmit_Address.ino b/examples/CC1101/CC1101_Transmit_Address/CC1101_Transmit_Address.ino similarity index 100% rename from examples/CC1101_Transmit_Address/CC1101_Transmit_Address.ino rename to examples/CC1101/CC1101_Transmit_Address/CC1101_Transmit_Address.ino diff --git a/examples/HC05/HC05.ino b/examples/HC05/HC05_Basic/HC05_Basic.ino similarity index 100% rename from examples/HC05/HC05.ino rename to examples/HC05/HC05_Basic/HC05_Basic.ino diff --git a/examples/HTTP_Get/HTTP_Get.ino b/examples/HTTP/HTTP_Get/HTTP_Get.ino similarity index 100% rename from examples/HTTP_Get/HTTP_Get.ino rename to examples/HTTP/HTTP_Get/HTTP_Get.ino diff --git a/examples/HTTP_Post/HTTP_Post.ino b/examples/HTTP/HTTP_Post/HTTP_Post.ino similarity index 100% rename from examples/HTTP_Post/HTTP_Post.ino rename to examples/HTTP/HTTP_Post/HTTP_Post.ino diff --git a/examples/JDY08/JDY08.ino b/examples/JDY08/JDY08_Basic/JDY08_Basic.ino similarity index 100% rename from examples/JDY08/JDY08.ino rename to examples/JDY08/JDY08_Basic/JDY08_Basic.ino diff --git a/examples/MQTT_Publish/MQTT_Publish.ino b/examples/MQTT/MQTT_Publish/MQTT_Publish.ino similarity index 100% rename from examples/MQTT_Publish/MQTT_Publish.ino rename to examples/MQTT/MQTT_Publish/MQTT_Publish.ino diff --git a/examples/MQTT_Subscribe/MQTT_Subscribe.ino b/examples/MQTT/MQTT_Subscribe/MQTT_Subscribe.ino similarity index 100% rename from examples/MQTT_Subscribe/MQTT_Subscribe.ino rename to examples/MQTT/MQTT_Subscribe/MQTT_Subscribe.ino diff --git a/examples/Morse_Transmit/Morse_Transmit.ino b/examples/Morse/Morse_Transmit/Morse_Transmit.ino similarity index 100% rename from examples/Morse_Transmit/Morse_Transmit.ino rename to examples/Morse/Morse_Transmit/Morse_Transmit.ino diff --git a/examples/RF69_Receive/RF69_Receive.ino b/examples/RF69/RF69_Receive/RF69_Receive.ino similarity index 100% rename from examples/RF69_Receive/RF69_Receive.ino rename to examples/RF69/RF69_Receive/RF69_Receive.ino diff --git a/examples/RF69_Receive_AES/RF69_Receive_AES.ino b/examples/RF69/RF69_Receive_AES/RF69_Receive_AES.ino similarity index 100% rename from examples/RF69_Receive_AES/RF69_Receive_AES.ino rename to examples/RF69/RF69_Receive_AES/RF69_Receive_AES.ino diff --git a/examples/RF69_Receive_Address/RF69_Receive_Address.ino b/examples/RF69/RF69_Receive_Address/RF69_Receive_Address.ino similarity index 100% rename from examples/RF69_Receive_Address/RF69_Receive_Address.ino rename to examples/RF69/RF69_Receive_Address/RF69_Receive_Address.ino diff --git a/examples/RF69_Receive_Interrupt/RF69_Receive_Interrupt.ino b/examples/RF69/RF69_Receive_Interrupt/RF69_Receive_Interrupt.ino similarity index 100% rename from examples/RF69_Receive_Interrupt/RF69_Receive_Interrupt.ino rename to examples/RF69/RF69_Receive_Interrupt/RF69_Receive_Interrupt.ino diff --git a/examples/RF69_Settings/RF69_Settings.ino b/examples/RF69/RF69_Settings/RF69_Settings.ino similarity index 100% rename from examples/RF69_Settings/RF69_Settings.ino rename to examples/RF69/RF69_Settings/RF69_Settings.ino diff --git a/examples/RF69_Transmit/RF69_Transmit.ino b/examples/RF69/RF69_Transmit/RF69_Transmit.ino similarity index 100% rename from examples/RF69_Transmit/RF69_Transmit.ino rename to examples/RF69/RF69_Transmit/RF69_Transmit.ino diff --git a/examples/RF69_Transmit_AES/RF69_Transmit_AES.ino b/examples/RF69/RF69_Transmit_AES/RF69_Transmit_AES.ino similarity index 100% rename from examples/RF69_Transmit_AES/RF69_Transmit_AES.ino rename to examples/RF69/RF69_Transmit_AES/RF69_Transmit_AES.ino diff --git a/examples/RF69_Transmit_Address/RF69_Transmit_Address.ino b/examples/RF69/RF69_Transmit_Address/RF69_Transmit_Address.ino similarity index 100% rename from examples/RF69_Transmit_Address/RF69_Transmit_Address.ino rename to examples/RF69/RF69_Transmit_Address/RF69_Transmit_Address.ino diff --git a/examples/RTTY_Transmit/RTTY_Transmit.ino b/examples/RTTY/RTTY_Transmit/RTTY_Transmit.ino similarity index 100% rename from examples/RTTY_Transmit/RTTY_Transmit.ino rename to examples/RTTY/RTTY_Transmit/RTTY_Transmit.ino diff --git a/examples/SX1231_Receive/SX1231_Receive.ino b/examples/SX1231/SX1231_Receive/SX1231_Receive.ino similarity index 100% rename from examples/SX1231_Receive/SX1231_Receive.ino rename to examples/SX1231/SX1231_Receive/SX1231_Receive.ino diff --git a/examples/SX1231_Transmit/SX1231_Transmit.ino b/examples/SX1231/SX1231_Transmit/SX1231_Transmit.ino similarity index 100% rename from examples/SX1231_Transmit/SX1231_Transmit.ino rename to examples/SX1231/SX1231_Transmit/SX1231_Transmit.ino diff --git a/examples/SX127x_ChannelActivityDetection/SX127x_ChannelActivityDetection.ino b/examples/SX127x/SX127x_ChannelActivityDetection/SX127x_ChannelActivityDetection.ino similarity index 100% rename from examples/SX127x_ChannelActivityDetection/SX127x_ChannelActivityDetection.ino rename to examples/SX127x/SX127x_ChannelActivityDetection/SX127x_ChannelActivityDetection.ino diff --git a/examples/SX127x_Receive/SX127x_Receive.ino b/examples/SX127x/SX127x_Receive/SX127x_Receive.ino similarity index 100% rename from examples/SX127x_Receive/SX127x_Receive.ino rename to examples/SX127x/SX127x_Receive/SX127x_Receive.ino diff --git a/examples/SX127x_ReceiveInterrupt/SX127x_ReceiveInterrupt.ino b/examples/SX127x/SX127x_ReceiveInterrupt/SX127x_ReceiveInterrupt.ino similarity index 100% rename from examples/SX127x_ReceiveInterrupt/SX127x_ReceiveInterrupt.ino rename to examples/SX127x/SX127x_ReceiveInterrupt/SX127x_ReceiveInterrupt.ino diff --git a/examples/SX127x_Settings/SX127x_Settings.ino b/examples/SX127x/SX127x_Settings/SX127x_Settings.ino similarity index 100% rename from examples/SX127x_Settings/SX127x_Settings.ino rename to examples/SX127x/SX127x_Settings/SX127x_Settings.ino diff --git a/examples/SX127x_Transmit/SX127x_Transmit.ino b/examples/SX127x/SX127x_Transmit/SX127x_Transmit.ino similarity index 100% rename from examples/SX127x_Transmit/SX127x_Transmit.ino rename to examples/SX127x/SX127x_Transmit/SX127x_Transmit.ino diff --git a/examples/SX127x_TransmitInterrupt/SX127x_TransmitInterrupt.ino b/examples/SX127x/SX127x_TransmitInterrupt/SX127x_TransmitInterrupt.ino similarity index 100% rename from examples/SX127x_TransmitInterrupt/SX127x_TransmitInterrupt.ino rename to examples/SX127x/SX127x_TransmitInterrupt/SX127x_TransmitInterrupt.ino diff --git a/examples/XBee_Receive/XBee_Receive.ino b/examples/XBee/XBee_Receive/XBee_Receive.ino similarity index 100% rename from examples/XBee_Receive/XBee_Receive.ino rename to examples/XBee/XBee_Receive/XBee_Receive.ino diff --git a/examples/XBee_Transmit/XBee_Transmit.ino b/examples/XBee/XBee_Transmit/XBee_Transmit.ino similarity index 100% rename from examples/XBee_Transmit/XBee_Transmit.ino rename to examples/XBee/XBee_Transmit/XBee_Transmit.ino diff --git a/examples/XBee_Transparent/XBee_Transparent.ino b/examples/XBee/XBee_Transparent/XBee_Transparent.ino similarity index 100% rename from examples/XBee_Transparent/XBee_Transparent.ino rename to examples/XBee/XBee_Transparent/XBee_Transparent.ino diff --git a/examples/nRF24/nRF24_Transmit/nRF24_Transmit.ino b/examples/nRF24/nRF24_Transmit/nRF24_Transmit.ino new file mode 100644 index 00000000..bb55b595 --- /dev/null +++ b/examples/nRF24/nRF24_Transmit/nRF24_Transmit.ino @@ -0,0 +1,102 @@ +/* + RadioLib nRF24 Transmit Example +*/ + +// include the library +#include + +// nRF24 is in slot A on the shield +nRF24 nrf = RadioShield.ModuleA; + +void setup() { + Serial.begin(9600); + + // initialize nRF24 + Serial.print(F("[nRF24] Initializing ... ")); + // carrier frequency: 2400 MHz + // data rate: 1000 kbps + // address width: 5 bytes + int state = nrf.begin(); + if(state == ERR_NONE) { + Serial.println(F("success!")); + } else { + Serial.print(F("failed, code ")); + Serial.println(state); + while(true); + } + + // set receive pipe 0 address + // NOTE: address width in bytes MUST be equal to the + // width set in begin() or setAddressWidth() + // methods (5 by default) + Serial.print(F("[nRF24] Setting address for receive pipe 0 ... ")); + byte receiveAddr0[] = {0x05, 0x06, 0x07, 0x08, 0x09}; + state = nrf.setReceivePipe(0, receiveAddr0); + if(state == ERR_NONE) { + Serial.println(F("success!")); + } else { + Serial.print(F("failed, code ")); + Serial.println(state); + while(true); + } + + // set receive pipe 1 - 5 address + // NOTE: unlike receive pipe 0, pipes 1 - 5 are only + // distinguished by their least significant byte, + // the upper bytes will be the same! + Serial.print(F("[nRF24] Setting addresses for receive pipes 1 - 5 ... ")); + byte receiveAddr1[] = {0xAA, 0xBB, 0xCC, 0xDD, 0xE1}; + // set pipe 1 address + state = nrf.setReceivePipe(1, receiveAddr1); + // set the addresses for rest of pipes + state |= nrf.setReceivePipe(2, 0xE2); + state |= nrf.setReceivePipe(3, 0xE3); + state |= nrf.setReceivePipe(4, 0xE4); + state |= nrf.setReceivePipe(5, 0xE5); + if(state == ERR_NONE) { + Serial.println(F("success!")); + } else { + Serial.print(F("failed, code ")); + Serial.println(state); + while(true); + } + + // pipes 1 - 5 are automatically enabled upon address + // change, but can be disabled manually + Serial.print(F("[nRF24] Disabling pipes 2 - 5 ... ")); + state = nrf.disablePipe(2); + if(state == ERR_NONE) { + Serial.println(F("success!")); + } else { + Serial.print(F("failed, code ")); + Serial.println(state); + while(true); + } +} + +void loop() { + Serial.print(F("[nRF24] Transmitting packet ... ")); + + // set transmit address + // NOTE: address width in bytes MUST be equal to the + // width set in begin() or setAddressWidth() + // methods (5 by default) + byte addr[] = {0x00, 0x01, 0x02, 0x03, 0x04}; + + // you can transmit C-string or Arduino string up to + // 32 characters long + int state = nrf.transmit("Hello World!", addr); + + if (state == ERR_NONE) { + // the packet was successfully transmitted + Serial.println(" success!"); + + } else if (state == ERR_PACKET_TOO_LONG) { + // the supplied packet was longer than 256 bytes + Serial.println(" too long!"); + + } + + // wait for a second before transmitting again + delay(1000); +}