IoT - Kubus / Mbed 2 deprecated Kubus

Dependencies:   mbed nRF24L01P

Committer:
sbarzowski
Date:
Wed Jan 18 16:57:05 2017 +0100
Branch:
multipipe
Revision:
51:090149c4aa28
Parent:
50:e83e38fece23
Child:
54:2551a3c781cf
Multipipe

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pannaannap 5:fbd5b1e953e6 1 #include "common.h"
pannaannap 7:e51d0fbb1a25 2 #include "master.h"
pannaannap 5:fbd5b1e953e6 3
pannaanna 39:381993764b40 4 #include "cantcoap.h"
sbarzowski 10:869163c7929d 5 #include <sstream>
sbarzowski 10:869163c7929d 6
sbarzowski 51:090149c4aa28 7 const int boards_count = 3;
sbarzowski 51:090149c4aa28 8
sbarzowski 51:090149c4aa28 9
pannaannap 7:e51d0fbb1a25 10 int master_loop() {
pannaannap 7:e51d0fbb1a25 11 Serial pc(USBTX, USBRX); // tx, rx
pannaanna 39:381993764b40 12 Serial wifi(PA_9, PA_10);
pannaannap 7:e51d0fbb1a25 13 nRF24L01P radio(PB_15, PB_14, PB_13, PB_12, PB_1, PB_2); // mosi, miso, sck, csn, ce, irq
Micha? ?azowik 50:e83e38fece23 14
pannaannap 5:fbd5b1e953e6 15 char rxData[TRANSFER_SIZE];
pannaannap 5:fbd5b1e953e6 16
pannaannap 5:fbd5b1e953e6 17 pc.baud(115200);
pannaanna 39:381993764b40 18 wifi.baud(115200);
Micha? ?azowik 50:e83e38fece23 19
sbarzowski 51:090149c4aa28 20 vector<unsigned long long> rx_addresses(addresses, addresses + boards_count);
sbarzowski 51:090149c4aa28 21
sbarzowski 51:090149c4aa28 22 radio_init_master(&radio, rx_addresses);
pannaanna 39:381993764b40 23
pannaannap 5:fbd5b1e953e6 24 // Display the (default) setup of the nRF24L01+ chip
pannaannap 5:fbd5b1e953e6 25 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", radio.getRfFrequency() );
pannaannap 5:fbd5b1e953e6 26 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", radio.getRfOutputPower() );
pannaannap 5:fbd5b1e953e6 27 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", radio.getAirDataRate() );
pannaannap 5:fbd5b1e953e6 28 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", radio.getTxAddress() );
pannaannap 5:fbd5b1e953e6 29 pc.printf( "nRF24L01+ RX0 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P0) );
pannaannap 5:fbd5b1e953e6 30 pc.printf( "nRF24L01+ RX1 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P1) );
sbarzowski 51:090149c4aa28 31 pc.printf( "nRF24L01+ RX2 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P2) );
sbarzowski 51:090149c4aa28 32 pc.printf( "nRF24L01+ RX3 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P3) );
pannaannap 5:fbd5b1e953e6 33
pannaanna 39:381993764b40 34 CoapPDU *pdu = new CoapPDU();
pannaanna 39:381993764b40 35 pdu->setType(CoapPDU::COAP_NON_CONFIRMABLE);
pannaanna 39:381993764b40 36 pdu->setCode(CoapPDU::COAP_POST);
pannaanna 39:381993764b40 37 pdu->setURI((char*)"pir1",4);
pannaanna 39:381993764b40 38
pannaannap 5:fbd5b1e953e6 39 while (1) {
sbarzowski 51:090149c4aa28 40 for (int board = 0; board < boards_count; ++board) {
sbarzowski 51:090149c4aa28 41 int pipe = pipes[board];
sbarzowski 51:090149c4aa28 42 //pc.printf("pipe: %x\r\n", pipe);
sbarzowski 51:090149c4aa28 43 if(radio.readable(pipe)){
sbarzowski 51:090149c4aa28 44 int rx_bytes = radio.read(pipe, rxData, sizeof(rxData));
sbarzowski 51:090149c4aa28 45 std::string output = str_hex(rxData, rx_bytes);
sbarzowski 51:090149c4aa28 46 wifi.printf("received: %s\r\n", output.c_str());
sbarzowski 51:090149c4aa28 47 pc.printf("received: %s\r\n", output.c_str());
sbarzowski 51:090149c4aa28 48 }
pannaannap 5:fbd5b1e953e6 49 }
pannaannap 5:fbd5b1e953e6 50 }
pannaannap 5:fbd5b1e953e6 51 }