d

Dependencies:   xtoff RF24Network mbed

Committer:
gimohd
Date:
Thu Jul 12 12:02:35 2018 +0000
Revision:
0:a1bd5b12a602
hoi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gimohd 0:a1bd5b12a602 1 #include "Transmitter.h"
gimohd 0:a1bd5b12a602 2
gimohd 0:a1bd5b12a602 3 RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN );
gimohd 0:a1bd5b12a602 4 RF24Network network(radio);
gimohd 0:a1bd5b12a602 5 unsigned long packets_sent;
gimohd 0:a1bd5b12a602 6 RF24NetworkHeader header_rx;
gimohd 0:a1bd5b12a602 7 char previous_char;
gimohd 0:a1bd5b12a602 8
gimohd 0:a1bd5b12a602 9 /**
gimohd 0:a1bd5b12a602 10 Constructor: Initialize RF24 and RF24Network
gimohd 0:a1bd5b12a602 11 */
gimohd 0:a1bd5b12a602 12 Verzender::Verzender()
gimohd 0:a1bd5b12a602 13 {
gimohd 0:a1bd5b12a602 14 wait_ms(2000);
gimohd 0:a1bd5b12a602 15 radio.begin();
gimohd 0:a1bd5b12a602 16 network.begin(90, this_node);
gimohd 0:a1bd5b12a602 17 wait_ms(2000);
gimohd 0:a1bd5b12a602 18 radio.setPALevel(RF24_PA_MIN);
gimohd 0:a1bd5b12a602 19 radio.setDataRate(RF24_250KBPS);
gimohd 0:a1bd5b12a602 20
gimohd 0:a1bd5b12a602 21 }
gimohd 0:a1bd5b12a602 22
gimohd 0:a1bd5b12a602 23 void Verzender::update()
gimohd 0:a1bd5b12a602 24 {
gimohd 0:a1bd5b12a602 25 network.update();
gimohd 0:a1bd5b12a602 26 }
gimohd 0:a1bd5b12a602 27
gimohd 0:a1bd5b12a602 28 bool Verzender::write(payload_t packet)
gimohd 0:a1bd5b12a602 29 {
gimohd 0:a1bd5b12a602 30 RF24NetworkHeader header_tx(other_node);
gimohd 0:a1bd5b12a602 31 payload_t payload_tx;
gimohd 0:a1bd5b12a602 32 payload_tx = packet;
gimohd 0:a1bd5b12a602 33
gimohd 0:a1bd5b12a602 34 payload_tx.messageIndex = 0;
gimohd 0:a1bd5b12a602 35 payload_tx.messageAvailable = false;
gimohd 0:a1bd5b12a602 36
gimohd 0:a1bd5b12a602 37 return network.write(header_tx,&payload_tx,sizeof(payload_tx));
gimohd 0:a1bd5b12a602 38 }
gimohd 0:a1bd5b12a602 39
gimohd 0:a1bd5b12a602 40 void Verzender::sendMessage(char index){
gimohd 0:a1bd5b12a602 41
gimohd 0:a1bd5b12a602 42 if(previous_char != index){
gimohd 0:a1bd5b12a602 43 RF24NetworkHeader header_tx(other_node);
gimohd 0:a1bd5b12a602 44 payload_t payload_message;
gimohd 0:a1bd5b12a602 45 payload_message.messageIndex = index;
gimohd 0:a1bd5b12a602 46 payload_message.messageAvailable = true;
gimohd 0:a1bd5b12a602 47 bool test = network.write(header_tx,&payload_message,sizeof(payload_message));
gimohd 0:a1bd5b12a602 48 }
gimohd 0:a1bd5b12a602 49 previous_char = index;
gimohd 0:a1bd5b12a602 50 }
gimohd 0:a1bd5b12a602 51
gimohd 0:a1bd5b12a602 52 state_Packet Verzender::read()
gimohd 0:a1bd5b12a602 53 {
gimohd 0:a1bd5b12a602 54 state_Packet packet;
gimohd 0:a1bd5b12a602 55 network.read(header_rx,&packet,sizeof(packet));
gimohd 0:a1bd5b12a602 56
gimohd 0:a1bd5b12a602 57 return packet;
gimohd 0:a1bd5b12a602 58 }
gimohd 0:a1bd5b12a602 59
gimohd 0:a1bd5b12a602 60 bool Verzender::available()
gimohd 0:a1bd5b12a602 61 {
gimohd 0:a1bd5b12a602 62 return network.available();
gimohd 0:a1bd5b12a602 63 }
gimohd 0:a1bd5b12a602 64
gimohd 0:a1bd5b12a602 65 void Verzender::printDetails(){
gimohd 0:a1bd5b12a602 66 radio.printDetails();
gimohd 0:a1bd5b12a602 67 }