nRF_24 module library for MBED / Emitter Test Program

Dependencies:   MOD24_NRF mbed

Committer:
villemejane
Date:
Thu Sep 16 14:20:10 2021 +0000
Revision:
4:ba17339f3ec6
Parent:
1:fbce251f7d0c
nRF_24 module library for MBED / Emitter test program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
villemejane 1:fbce251f7d0c 1 /****************************************************************************/
villemejane 1:fbce251f7d0c 2 /* Test MOD-24LR / nrf24L01 */
villemejane 1:fbce251f7d0c 3 /****************************************************************************/
villemejane 1:fbce251f7d0c 4 /* LEnsE / Julien VILLEMEJANE / Institut d'Optique Graduate School */
villemejane 1:fbce251f7d0c 5 /****************************************************************************/
villemejane 1:fbce251f7d0c 6 /* Brochage */
villemejane 1:fbce251f7d0c 7 /* TO COMPLETE */
villemejane 1:fbce251f7d0c 8 /****************************************************************************/
villemejane 1:fbce251f7d0c 9 /* Test réalisé sur Nucléo-F411RE */
villemejane 1:fbce251f7d0c 10 /****************************************************************************/
villemejane 0:96c89b4dc711 11
villemejane 1:fbce251f7d0c 12 #include "mbed.h"
villemejane 1:fbce251f7d0c 13 #include "MOD24_NRF.h"
villemejane 1:fbce251f7d0c 14 #define TRANSFER_SIZE 4
villemejane 1:fbce251f7d0c 15
villemejane 1:fbce251f7d0c 16 nRF24L01P my_mod(D11, D12, D13, D7, D8, D5);
villemejane 1:fbce251f7d0c 17
villemejane 1:fbce251f7d0c 18 Serial pc(USBTX, USBRX);
villemejane 1:fbce251f7d0c 19 DigitalIn my_bp(USER_BUTTON);
villemejane 1:fbce251f7d0c 20
villemejane 1:fbce251f7d0c 21 char k;
villemejane 1:fbce251f7d0c 22 char dataToSend[TRANSFER_SIZE] = {0xAA, 0x01, 0x10, 0xF0};
villemejane 1:fbce251f7d0c 23 char dataReceived[TRANSFER_SIZE] = {0};
villemejane 1:fbce251f7d0c 24
villemejane 0:96c89b4dc711 25 int main() {
villemejane 1:fbce251f7d0c 26 pc.printf("Test\r\n");
villemejane 1:fbce251f7d0c 27 my_mod.setRfFrequency(2400);
villemejane 1:fbce251f7d0c 28 wait(0.1);
villemejane 1:fbce251f7d0c 29 my_mod.powerUp();
villemejane 1:fbce251f7d0c 30
villemejane 1:fbce251f7d0c 31 // Display the (default) setup of the nRF24L01+ chip
villemejane 1:fbce251f7d0c 32 pc.printf( "nRF24L01+ Frequency : %d MHz\r\n", my_mod.getRfFrequency() );
villemejane 1:fbce251f7d0c 33 pc.printf( "nRF24L01+ Output power : %d dBm\r\n", my_mod.getRfOutputPower() );
villemejane 1:fbce251f7d0c 34 pc.printf( "nRF24L01+ Data Rate : %d kbps\r\n", my_mod.getAirDataRate() );
villemejane 1:fbce251f7d0c 35 pc.printf( "nRF24L01+ TX Address : 0x%010llX\r\n", my_mod.getTxAddress() );
villemejane 1:fbce251f7d0c 36 pc.printf( "nRF24L01+ RX Address : 0x%010llX\r\n", my_mod.getRxAddress() );
villemejane 0:96c89b4dc711 37
villemejane 1:fbce251f7d0c 38 pc.printf( "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
villemejane 1:fbce251f7d0c 39
villemejane 1:fbce251f7d0c 40 my_mod.setTransferSize( TRANSFER_SIZE );
villemejane 1:fbce251f7d0c 41
villemejane 1:fbce251f7d0c 42 my_mod.setReceiveMode();
villemejane 1:fbce251f7d0c 43 my_mod.enable();
villemejane 1:fbce251f7d0c 44
villemejane 0:96c89b4dc711 45 while(1) {
villemejane 1:fbce251f7d0c 46 if(my_bp == 1){
villemejane 1:fbce251f7d0c 47 my_mod.setRfFrequency(2400);
villemejane 1:fbce251f7d0c 48 }
villemejane 1:fbce251f7d0c 49 else{
villemejane 1:fbce251f7d0c 50 my_mod.setRfFrequency(2500);
villemejane 0:96c89b4dc711 51 }
villemejane 1:fbce251f7d0c 52 my_mod.write( NRF24L01P_PIPE_P0, dataToSend, TRANSFER_SIZE );
villemejane 1:fbce251f7d0c 53 pc.printf( "SENDED\r\n");
villemejane 1:fbce251f7d0c 54 wait(1);
villemejane 0:96c89b4dc711 55 }
villemejane 1:fbce251f7d0c 56 }