RF24Network Send example program.

Dependencies:   xtoff RF24Network mbed

Fork of RF24Network_Send by Akash Vibhute

Committer:
pietor
Date:
Thu Mar 08 09:23:05 2018 +0000
Revision:
8:62b4607c44ca
Parent:
6:03ba3e18ced2
Child:
9:6d8c0b946259
8/03;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pietor 5:e6067799a414 1 #include "Verzender.h"
pietor 5:e6067799a414 2
pietor 5:e6067799a414 3 RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN );
pietor 5:e6067799a414 4 RF24Network network(radio);
pietor 5:e6067799a414 5 unsigned long packets_sent;
pietor 8:62b4607c44ca 6 Serial pc2(USBTX, USBRX);
pietor 6:03ba3e18ced2 7 RF24NetworkHeader header_rx;
pietor 5:e6067799a414 8
pietor 8:62b4607c44ca 9
pietor 8:62b4607c44ca 10 /**
pietor 8:62b4607c44ca 11 Constructor: Initialize RF24 and RF24Network
pietor 8:62b4607c44ca 12 */
pietor 5:e6067799a414 13 Verzender::Verzender()
pietor 5:e6067799a414 14 {
pietor 5:e6067799a414 15 radio.begin();
pietor 8:62b4607c44ca 16 network.begin(90, this_node);
pietor 5:e6067799a414 17 wait_ms(2000);
pietor 5:e6067799a414 18 }
pietor 5:e6067799a414 19
pietor 5:e6067799a414 20
pietor 8:62b4607c44ca 21 /**
pietor 8:62b4607c44ca 22 Update to receive a message available for this node
pietor 8:62b4607c44ca 23 */
pietor 5:e6067799a414 24 void Verzender::update()
pietor 5:e6067799a414 25 {
pietor 5:e6067799a414 26 network.update();
pietor 5:e6067799a414 27 }
pietor 5:e6067799a414 28
pietor 8:62b4607c44ca 29
pietor 8:62b4607c44ca 30 /**
pietor 8:62b4607c44ca 31 Send a message to the receiver
pietor 8:62b4607c44ca 32
pietor 8:62b4607c44ca 33 @param message of type payload_t
pietor 8:62b4607c44ca 34 */
pietor 5:e6067799a414 35 bool Verzender::write(payload_t message)
pietor 5:e6067799a414 36 {
pietor 5:e6067799a414 37 RF24NetworkHeader header_tx(other_node);
pietor 5:e6067799a414 38 payload_t payload_tx;
pietor 5:e6067799a414 39 payload_tx = message;
pietor 5:e6067799a414 40 return network.write(header_tx,&payload_tx,sizeof(payload_tx));
pietor 5:e6067799a414 41 }
pietor 6:03ba3e18ced2 42
pietor 8:62b4607c44ca 43
pietor 8:62b4607c44ca 44 /**
pietor 8:62b4607c44ca 45 Read a message to the receiver
pietor 8:62b4607c44ca 46
pietor 8:62b4607c44ca 47 @return message of type state_packet
pietor 8:62b4607c44ca 48 */
pietor 6:03ba3e18ced2 49 state_Packet Verzender::read()
pietor 6:03ba3e18ced2 50 {
pietor 6:03ba3e18ced2 51 state_Packet packet;
pietor 6:03ba3e18ced2 52 network.read(header_rx,&packet,sizeof(packet));
pietor 8:62b4607c44ca 53
pietor 6:03ba3e18ced2 54 return packet;
pietor 6:03ba3e18ced2 55 }
pietor 6:03ba3e18ced2 56
pietor 8:62b4607c44ca 57
pietor 8:62b4607c44ca 58 /**
pietor 8:62b4607c44ca 59 Test whether there is a message available for this node
pietor 8:62b4607c44ca 60 */
pietor 6:03ba3e18ced2 61 bool Verzender::available()
pietor 6:03ba3e18ced2 62 {
pietor 6:03ba3e18ced2 63 return network.available();
pietor 6:03ba3e18ced2 64 }
pietor 8:62b4607c44ca 65
pietor 8:62b4607c44ca 66 void Verzender::test()
pietor 8:62b4607c44ca 67 {
pietor 8:62b4607c44ca 68 pc2.printf("%d", radio.testCarrier());
pietor 8:62b4607c44ca 69 pc2.printf("%d", radio.testRPD());
pietor 8:62b4607c44ca 70 }