RF24Network Send example program.
Dependencies: xtoff RF24Network mbed
Fork of RF24Network_Send by
Verzender.cpp@8:62b4607c44ca, 2018-03-08 (annotated)
- 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?
User | Revision | Line number | New 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 | } |