Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
master.cpp@51:090149c4aa28, 2017-01-18 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |