![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
dd
Dependencies: xtoff2 RF24Network mbed
Fork of xtoff3 by
Ontvanger.cpp@15:f8aad6d1db68, 2018-07-13 (annotated)
- Committer:
- gimohd
- Date:
- Fri Jul 13 06:28:33 2018 +0000
- Revision:
- 15:f8aad6d1db68
- Parent:
- 13:f54dfb74247e
dd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pietor | 4:7ebc3b421306 | 1 | #include "Ontvanger.h" |
pietor | 4:7ebc3b421306 | 2 | |
pietor | 13:f54dfb74247e | 3 | Serial pc2(USBTX, USBRX); |
pietor | 4:7ebc3b421306 | 4 | RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN ); |
pietor | 4:7ebc3b421306 | 5 | RF24Network network(radio); |
pietor | 4:7ebc3b421306 | 6 | |
pietor | 4:7ebc3b421306 | 7 | RF24NetworkHeader header_rx; |
pietor | 4:7ebc3b421306 | 8 | |
pietor | 4:7ebc3b421306 | 9 | Ontvanger::Ontvanger() |
pietor | 4:7ebc3b421306 | 10 | { |
pietor | 4:7ebc3b421306 | 11 | radio.begin(); |
pietor | 4:7ebc3b421306 | 12 | network.begin(90, this_node); |
pietor | 4:7ebc3b421306 | 13 | wait_ms(2000); |
pietor | 10:0a4c465f7838 | 14 | radio.setPALevel(RF24_PA_MIN); |
pietor | 10:0a4c465f7838 | 15 | radio.setDataRate(RF24_250KBPS); |
pietor | 4:7ebc3b421306 | 16 | }; |
pietor | 4:7ebc3b421306 | 17 | |
pietor | 4:7ebc3b421306 | 18 | void Ontvanger::update() |
pietor | 4:7ebc3b421306 | 19 | { |
pietor | 4:7ebc3b421306 | 20 | network.update(); |
pietor | 4:7ebc3b421306 | 21 | } |
pietor | 4:7ebc3b421306 | 22 | |
pietor | 4:7ebc3b421306 | 23 | bool Ontvanger::available() |
pietor | 4:7ebc3b421306 | 24 | { |
pietor | 4:7ebc3b421306 | 25 | return network.available(); |
pietor | 4:7ebc3b421306 | 26 | } |
pietor | 4:7ebc3b421306 | 27 | |
gimohd | 15:f8aad6d1db68 | 28 | void Ontvanger::printDetails() |
gimohd | 15:f8aad6d1db68 | 29 | { |
gimohd | 15:f8aad6d1db68 | 30 | radio.printDetails(); |
gimohd | 15:f8aad6d1db68 | 31 | } |
pietor | 7:8515f205483b | 32 | |
pietor | 4:7ebc3b421306 | 33 | payload_t Ontvanger::read() |
pietor | 4:7ebc3b421306 | 34 | { |
pietor | 4:7ebc3b421306 | 35 | payload_t payload_rx; |
pietor | 4:7ebc3b421306 | 36 | network.read(header_rx,&payload_rx,sizeof(payload_rx)); |
pietor | 13:f54dfb74247e | 37 | |
pietor | 13:f54dfb74247e | 38 | if(payload_rx.messageAvailable == true) |
pietor | 13:f54dfb74247e | 39 | printMessage(payload_rx.messageIndex); |
pietor | 13:f54dfb74247e | 40 | |
pietor | 4:7ebc3b421306 | 41 | return payload_rx; |
pietor | 7:8515f205483b | 42 | } |
pietor | 7:8515f205483b | 43 | |
gimohd | 15:f8aad6d1db68 | 44 | bool Ontvanger::write(payload_t message) |
pietor | 7:8515f205483b | 45 | { |
pietor | 7:8515f205483b | 46 | RF24NetworkHeader header_tx(other_node); |
gimohd | 15:f8aad6d1db68 | 47 | payload_t packet; |
pietor | 7:8515f205483b | 48 | packet = message; |
pietor | 11:77018fac195e | 49 | |
pietor | 7:8515f205483b | 50 | return network.write(header_tx,&packet,sizeof(packet)); |
pietor | 7:8515f205483b | 51 | } |
pietor | 7:8515f205483b | 52 | |
pietor | 10:0a4c465f7838 | 53 | bool Ontvanger::isValid() |
pietor | 10:0a4c465f7838 | 54 | { |
pietor | 10:0a4c465f7838 | 55 | return radio.isValid(); |
pietor | 10:0a4c465f7838 | 56 | } |
pietor | 7:8515f205483b | 57 | |
pietor | 10:0a4c465f7838 | 58 | bool Ontvanger::testRPD() |
pietor | 10:0a4c465f7838 | 59 | { |
pietor | 10:0a4c465f7838 | 60 | return radio.testRPD(); |
pietor | 10:0a4c465f7838 | 61 | } |
pietor | 10:0a4c465f7838 | 62 | |
pietor | 13:f54dfb74247e | 63 | void Ontvanger::printMessage(char index){ |
pietor | 13:f54dfb74247e | 64 | switch (index) { |
pietor | 13:f54dfb74247e | 65 | case '1': |
pietor | 13:f54dfb74247e | 66 | pc2.printf("Message: Initializing...\n\r"); |
pietor | 13:f54dfb74247e | 67 | break; |
pietor | 13:f54dfb74247e | 68 | case '2': |
pietor | 13:f54dfb74247e | 69 | pc2.printf("Message: Taring...\n\r"); |
pietor | 13:f54dfb74247e | 70 | break; |
pietor | 13:f54dfb74247e | 71 | case '3': |
pietor | 13:f54dfb74247e | 72 | pc2.printf("Message: Error: Tare first\n\r"); |
pietor | 13:f54dfb74247e | 73 | break; |
pietor | 13:f54dfb74247e | 74 | case '4': |
pietor | 13:f54dfb74247e | 75 | pc2.printf("Message: Tare completed\n\r"); |
pietor | 13:f54dfb74247e | 76 | break; |
pietor | 13:f54dfb74247e | 77 | case '5': |
pietor | 13:f54dfb74247e | 78 | pc2.printf("Message: Error: Tare value to low... Retry\n\r"); |
pietor | 13:f54dfb74247e | 79 | break; |
pietor | 13:f54dfb74247e | 80 | case '6': |
pietor | 13:f54dfb74247e | 81 | pc2.printf("Message: Waiting on the right position...\n\r"); |
pietor | 13:f54dfb74247e | 82 | break; |
pietor | 13:f54dfb74247e | 83 | case '7': |
pietor | 13:f54dfb74247e | 84 | pc2.printf("Message: Wait 5 Seconds on POSITION...\n\r"); |
pietor | 13:f54dfb74247e | 85 | break; |
pietor | 13:f54dfb74247e | 86 | case '8': |
pietor | 13:f54dfb74247e | 87 | pc2.printf("Message: ERROR: Not on position\n\r"); |
pietor | 13:f54dfb74247e | 88 | break; |
pietor | 13:f54dfb74247e | 89 | } |
pietor | 13:f54dfb74247e | 90 | } |
pietor | 10:0a4c465f7838 | 91 | |
pietor | 13:f54dfb74247e | 92 |