wireless educational game for use with Python3 code

Dependencies:   mbed nRF24L01P

Committer:
caeng
Date:
Thu Jul 09 00:32:26 2015 +0000
Revision:
0:782928220968
LACC quasar wireless game

Who changed what in which revision?

UserRevisionLine numberNew contents of line
caeng 0:782928220968 1 #include "mbed.h"
caeng 0:782928220968 2 #include "nRF24L01P.h"
caeng 0:782928220968 3
caeng 0:782928220968 4 Serial pc(USBTX, USBRX); // tx, rx
caeng 0:782928220968 5 nRF24L01P my_nrf24l01p(p5, p6, p7, p8, p9, p10); // mosi, miso, sck, csn, ce, irq
caeng 0:782928220968 6
caeng 0:782928220968 7 DigitalOut led1(LED1);
caeng 0:782928220968 8 DigitalOut led2(LED2);
caeng 0:782928220968 9 DigitalOut led3(LED3);
caeng 0:782928220968 10 DigitalOut led4(LED4);
caeng 0:782928220968 11
caeng 0:782928220968 12 int main() {
caeng 0:782928220968 13
caeng 0:782928220968 14 // set up PC comm.
caeng 0:782928220968 15 pc.baud(115200);
caeng 0:782928220968 16
caeng 0:782928220968 17 // set up wireless transfer size
caeng 0:782928220968 18 #define TRANSFER_SIZE 3
caeng 0:782928220968 19
caeng 0:782928220968 20 char rxData[TRANSFER_SIZE];
caeng 0:782928220968 21 int rxDataCnt = 0;
caeng 0:782928220968 22
caeng 0:782928220968 23 // initialize wireless comm.
caeng 0:782928220968 24 my_nrf24l01p.powerUp();
caeng 0:782928220968 25 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
caeng 0:782928220968 26 my_nrf24l01p.setReceiveMode();
caeng 0:782928220968 27 my_nrf24l01p.enable();
caeng 0:782928220968 28 my_nrf24l01p.setAirDataRate(2000);
caeng 0:782928220968 29 // set wireless RX
caeng 0:782928220968 30 my_nrf24l01p.setRxAddress(0xABCDABCDABCDABCD);
caeng 0:782928220968 31
caeng 0:782928220968 32 // Display the (default) setup of the nRF24L01+ chip
caeng 0:782928220968 33 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
caeng 0:782928220968 34 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_nrf24l01p.getRfOutputPower() );
caeng 0:782928220968 35 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
caeng 0:782928220968 36 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_nrf24l01p.getTxAddress() );
caeng 0:782928220968 37 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
caeng 0:782928220968 38
caeng 0:782928220968 39 while (1) {
caeng 0:782928220968 40 led1 = 1;
caeng 0:782928220968 41
caeng 0:782928220968 42 // If we've received anything in the nRF24L01+...
caeng 0:782928220968 43 if ( my_nrf24l01p.readable() ) {
caeng 0:782928220968 44
caeng 0:782928220968 45 // ...read the data into the receive buffer
caeng 0:782928220968 46 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
caeng 0:782928220968 47
caeng 0:782928220968 48 // Display the receive buffer contents via the host serial link
caeng 0:782928220968 49 for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ) {
caeng 0:782928220968 50 pc.printf( "%d,", rxData[i] );
caeng 0:782928220968 51 }
caeng 0:782928220968 52 pc.printf("\n\r");
caeng 0:782928220968 53
caeng 0:782928220968 54 // Toggle LED2 (to help debug nRF24L01+ -> Host communication)
caeng 0:782928220968 55 led2 = !led2;
caeng 0:782928220968 56 }
caeng 0:782928220968 57 }
caeng 0:782928220968 58 }