Paul Martin
/
LACCgame_rx
wireless educational game for use with Python3 code
main.cpp
- Committer:
- caeng
- Date:
- 2015-07-09
- Revision:
- 0:782928220968
File content as of revision 0:782928220968:
#include "mbed.h" #include "nRF24L01P.h" Serial pc(USBTX, USBRX); // tx, rx nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9, p10); // mosi, miso, sck, csn, ce, irq DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); int main() { // set up PC comm. pc.baud(115200); // set up wireless transfer size #define TRANSFER_SIZE 3 char rxData[TRANSFER_SIZE]; int rxDataCnt = 0; // initialize wireless comm. my_nrf24l01p.powerUp(); my_nrf24l01p.setTransferSize( TRANSFER_SIZE ); my_nrf24l01p.setReceiveMode(); my_nrf24l01p.enable(); my_nrf24l01p.setAirDataRate(2000); // set wireless RX my_nrf24l01p.setRxAddress(0xABCDABCDABCDABCD); // Display the (default) setup of the nRF24L01+ chip pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() ); pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() ); pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() ); pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() ); pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() ); while (1) { led1 = 1; // If we've received anything in the nRF24L01+... if ( my_nrf24l01p.readable() ) { // ...read the data into the receive buffer rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) ); // Display the receive buffer contents via the host serial link for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) { pc.printf( "%d,", rxData[i] ); } pc.printf("\n\r"); // Toggle LED2 (to help debug nRF24L01+ -> Host communication) led2 = !led2; } } }