RF24Network Send example program.

Dependencies:   xtoff RF24Network mbed

Fork of RF24Network_Send by Akash Vibhute

Committer:
pietor
Date:
Tue Jul 10 12:07:26 2018 +0000
Revision:
12:38c5efed7950
Parent:
11:2aa84e063c49
pom

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 6:03ba3e18ced2 6 RF24NetworkHeader header_rx;
pietor 12:38c5efed7950 7 char previous_char;
pietor 8:62b4607c44ca 8
pietor 8:62b4607c44ca 9 /**
pietor 8:62b4607c44ca 10 Constructor: Initialize RF24 and RF24Network
pietor 8:62b4607c44ca 11 */
pietor 5:e6067799a414 12 Verzender::Verzender()
pietor 5:e6067799a414 13 {
pietor 9:6d8c0b946259 14 wait_ms(2000);
pietor 5:e6067799a414 15 radio.begin();
pietor 8:62b4607c44ca 16 network.begin(90, this_node);
pietor 5:e6067799a414 17 wait_ms(2000);
pietor 9:6d8c0b946259 18 radio.setPALevel(RF24_PA_MIN);
pietor 9:6d8c0b946259 19 radio.setDataRate(RF24_250KBPS);
pietor 12:38c5efed7950 20
pietor 5:e6067799a414 21 }
pietor 5:e6067799a414 22
pietor 5:e6067799a414 23 void Verzender::update()
pietor 5:e6067799a414 24 {
pietor 5:e6067799a414 25 network.update();
pietor 5:e6067799a414 26 }
pietor 5:e6067799a414 27
pietor 11:2aa84e063c49 28 bool Verzender::write(payload_t packet)
pietor 5:e6067799a414 29 {
pietor 5:e6067799a414 30 RF24NetworkHeader header_tx(other_node);
pietor 5:e6067799a414 31 payload_t payload_tx;
pietor 11:2aa84e063c49 32 payload_tx = packet;
pietor 11:2aa84e063c49 33
pietor 11:2aa84e063c49 34 payload_tx.messageIndex = 0;
pietor 11:2aa84e063c49 35 payload_tx.messageAvailable = false;
pietor 11:2aa84e063c49 36
pietor 5:e6067799a414 37 return network.write(header_tx,&payload_tx,sizeof(payload_tx));
pietor 5:e6067799a414 38 }
pietor 6:03ba3e18ced2 39
pietor 11:2aa84e063c49 40 void Verzender::sendMessage(char index){
pietor 12:38c5efed7950 41
pietor 12:38c5efed7950 42 if(previous_char != index){
pietor 11:2aa84e063c49 43 RF24NetworkHeader header_tx(other_node);
pietor 11:2aa84e063c49 44 payload_t payload_message;
pietor 11:2aa84e063c49 45 payload_message.messageIndex = index;
pietor 11:2aa84e063c49 46 payload_message.messageAvailable = true;
pietor 11:2aa84e063c49 47 bool test = network.write(header_tx,&payload_message,sizeof(payload_message));
pietor 12:38c5efed7950 48 }
pietor 12:38c5efed7950 49 previous_char = index;
pietor 11:2aa84e063c49 50 }
pietor 8:62b4607c44ca 51
pietor 6:03ba3e18ced2 52 state_Packet Verzender::read()
pietor 6:03ba3e18ced2 53 {
pietor 6:03ba3e18ced2 54 state_Packet packet;
pietor 6:03ba3e18ced2 55 network.read(header_rx,&packet,sizeof(packet));
pietor 11:2aa84e063c49 56
pietor 6:03ba3e18ced2 57 return packet;
pietor 6:03ba3e18ced2 58 }
pietor 6:03ba3e18ced2 59
pietor 6:03ba3e18ced2 60 bool Verzender::available()
pietor 6:03ba3e18ced2 61 {
pietor 6:03ba3e18ced2 62 return network.available();
pietor 11:2aa84e063c49 63 }
pietor 12:38c5efed7950 64
pietor 12:38c5efed7950 65 void Verzender::printDetails(){
pietor 12:38c5efed7950 66 radio.printDetails();
pietor 12:38c5efed7950 67 }