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;
}
}
}