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@32:a6017128e999, 2017-01-17 (annotated)
- Committer:
- Bartosz Stebel
- Date:
- Tue Jan 17 11:37:01 2017 +0100
- Revision:
- 32:a6017128e999
- Parent:
- 27:27cffdb2e9d3
- Child:
- 34:e67581c9b50d
update nrf lib, some coap things
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" |
Bartosz Stebel |
32:a6017128e999 | 3 | #include "cantcoap.h" |
pannaannap | 5:fbd5b1e953e6 | 4 | |
sbarzowski | 10:869163c7929d | 5 | #include <sstream> |
sbarzowski | 10:869163c7929d | 6 | |
pannaannap | 7:e51d0fbb1a25 | 7 | int master_loop() { |
pannaannap | 7:e51d0fbb1a25 | 8 | Serial pc(USBTX, USBRX); // tx, rx |
Bartosz Stebel |
32:a6017128e999 | 9 | Serial wifi(PA_9, PA_10); |
pannaannap | 7:e51d0fbb1a25 | 10 | nRF24L01P radio(PB_15, PB_14, PB_13, PB_12, PB_1, PB_2); // mosi, miso, sck, csn, ce, irq |
pannaannap | 7:e51d0fbb1a25 | 11 | |
pannaannap | 7:e51d0fbb1a25 | 12 | const unsigned long long RX_ADDRESS = MASTER_ADDRESS; |
pannaannap | 27:27cffdb2e9d3 | 13 | const unsigned long long TX_ADDRESS = BOARD1_ADDRESS; |
pannaannap | 5:fbd5b1e953e6 | 14 | |
pannaannap | 5:fbd5b1e953e6 | 15 | char rxData[TRANSFER_SIZE]; |
pannaannap | 5:fbd5b1e953e6 | 16 | |
pannaannap | 5:fbd5b1e953e6 | 17 | pc.baud(115200); |
Bartosz Stebel |
32:a6017128e999 | 18 | wifi.baud(115200); |
pannaannap | 5:fbd5b1e953e6 | 19 | |
pannaannap | 5:fbd5b1e953e6 | 20 | radio_init(&radio, RX_ADDRESS, TX_ADDRESS); |
pannaannap | 5:fbd5b1e953e6 | 21 | |
pannaannap | 5:fbd5b1e953e6 | 22 | // Display the (default) setup of the nRF24L01+ chip |
pannaannap | 5:fbd5b1e953e6 | 23 | pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", radio.getRfFrequency() ); |
pannaannap | 5:fbd5b1e953e6 | 24 | pc.printf( "nRF24L01+ Output power : %d dBm\r\n", radio.getRfOutputPower() ); |
pannaannap | 5:fbd5b1e953e6 | 25 | pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", radio.getAirDataRate() ); |
pannaannap | 5:fbd5b1e953e6 | 26 | pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", radio.getTxAddress() ); |
pannaannap | 5:fbd5b1e953e6 | 27 | pc.printf( "nRF24L01+ RX0 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P0) ); |
pannaannap | 5:fbd5b1e953e6 | 28 | pc.printf( "nRF24L01+ RX1 Address : 0x%010llX\r\n", radio.getRxAddress(NRF24L01P_PIPE_P1) ); |
pannaannap | 5:fbd5b1e953e6 | 29 | |
Bartosz Stebel |
32:a6017128e999 | 30 | //wifi.printf("test test test\n"); |
Bartosz Stebel |
32:a6017128e999 | 31 | CoapPDU *pdu = new CoapPDU(); |
Bartosz Stebel |
32:a6017128e999 | 32 | pdu->setType(CoapPDU::COAP_NON_CONFIRMABLE); |
Bartosz Stebel |
32:a6017128e999 | 33 | pdu->setCode(CoapPDU::COAP_POST); |
Bartosz Stebel |
32:a6017128e999 | 34 | pdu->setURI((char*)"pir1",4); |
Bartosz Stebel |
32:a6017128e999 | 35 | |
pannaannap | 5:fbd5b1e953e6 | 36 | while (1) { |
pannaannap | 5:fbd5b1e953e6 | 37 | if(radio.readable(NRF24L01P_PIPE_P1)){ |
sbarzowski | 10:869163c7929d | 38 | int rx_bytes = radio.read(NRF24L01P_PIPE_P1, rxData, sizeof(rxData)); |
sbarzowski | 10:869163c7929d | 39 | std::stringstream ss; |
sbarzowski | 10:869163c7929d | 40 | |
sbarzowski | 10:869163c7929d | 41 | for (int i = 0; i < rx_bytes; ++i) { |
sbarzowski | 10:869163c7929d | 42 | ss << std::hex << rxData[i] / 16 << rxData[i] % 16; // ugly! |
sbarzowski | 10:869163c7929d | 43 | } |
sbarzowski | 10:869163c7929d | 44 | pc.printf("received: %s\r\n", ss.str().c_str()); |
Bartosz Stebel |
32:a6017128e999 | 45 | wifi.printf("received: %s\r\n", ss.str().c_str()); |
pannaannap | 5:fbd5b1e953e6 | 46 | } |
pannaannap | 5:fbd5b1e953e6 | 47 | } |
pannaannap | 5:fbd5b1e953e6 | 48 | } |