Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Project: nRF905 AVR/Arduino Library/Driver
- * Author: Zak Kemble, contact@zakkemble.co.uk
- * Copyright: (C) 2013 by Zak Kemble
- * License: GNU GPL v3 (see License.txt)
- * Web: http://blog.zakkemble.co.uk/nrf905-avrarduino-librarydriver/
- */
- /*
- * Wait for data and reply.
- * Output power is set to the lowest setting, receive sensitivity is lowered.
- *
- * 7 -> CE
- * 8 -> PWR
- * 9 -> TXE
- * 2 -> CD
- * 3 -> DR
- * 10 -> CSN
- * 12 -> SO
- * 11 -> SI
- * 13 -> SCK
- */
- #include <nRF905.h>
- #include <SPI.h>
- void setup()
- {
- // Start up
- nRF905_init();
- // Put into receive mode
- nRF905_receive();
- Serial.begin(9600);
- Serial.println(F("Server started"));
- }
- void loop()
- {
- Serial.println(F("Waiting for ping..."));
- // Make buffer for data
- char buffer[NRF905_MAX_PAYLOAD];
- // Wait for data
- while(!nRF905_getData(buffer, sizeof(buffer)));
- Serial.println(F("Got ping"));
- // Set payload data (reply with data received)
- nRF905_setData(buffer, sizeof(buffer));
- Serial.println(F("Sending reply..."));
- // Send payload (send fails if other transmissions are going on, keep trying until success)
- while(!nRF905_send());
- // Put back into receive mode
- nRF905_receive();
- Serial.println(F("Reply sent"));
- // Show raw data
- Serial.print(F("Raw: "));
- Serial.write((byte*)buffer, sizeof(buffer));
- Serial.println();
- // Printout ping contents
- Serial.print(F("Data: "));
- if(strncmp(buffer, "test test", sizeof(buffer)) == 0)
- Serial.println("OK");
- else
- Serial.println("Fail");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement