Julien VILLEMEJANE
/
IeTI_MOD24_nrf_emit
nRF_24 module library for MBED / Emitter Test Program
main.cpp@4:ba17339f3ec6, 2021-09-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |