![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
d
Dependencies: xtoff RF24Network mbed
Transmitter.cpp@0:a1bd5b12a602, 2018-07-12 (annotated)
- Committer:
- gimohd
- Date:
- Thu Jul 12 12:02:35 2018 +0000
- Revision:
- 0:a1bd5b12a602
hoi
Who changed what in which revision?
User | Revision | Line number | New 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 | } |