PSL_2021 / Mbed OS prog_robot_1_Eve_v4

Dependencies:   mbed-os nRF24L01P

Committer:
evedelegue
Date:
Fri Nov 26 07:58:20 2021 +0000
Revision:
7:65236900b1f5
Parent:
6:2be1def8ba74
Child:
8:04ab02bb2262
recepteur avec affichage des variable

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lderr 3:793d3386768b 1 /*
lderr 3:793d3386768b 2 RobotCup ENS Paris Saclay 2020-2021
lderr 3:793d3386768b 3 Team FC Furious
evedelegue 6:2be1def8ba74 4 Code by Luc DERRIEN adapted by Eve
lderr 3:793d3386768b 5
lderr 3:793d3386768b 6 Programme communication PC-Robot
lderr 3:793d3386768b 7 Point de vue : PC
lderr 3:793d3386768b 8 micro controleur : L475
lderr 3:793d3386768b 9
emerichartmann 5:42dad60edb69 10 envoi d'une chaine de caractère de taille TRANSFER_SIZE
lderr 3:793d3386768b 11 */
lderr 3:793d3386768b 12
Owen 0:a51a6e7da590 13 #include "mbed.h"
lderr 3:793d3386768b 14 #include "string.h"
Owen 0:a51a6e7da590 15 #include "nRF24L01P.h"
ajuton 4:4fae82a1be60 16 #include "string.h"
Owen 0:a51a6e7da590 17
evedelegue 7:65236900b1f5 18 char text[100];
lderr 3:793d3386768b 19
emerichartmann 5:42dad60edb69 20 UnbufferedSerial pc_serie(USBTX,USBRX,115200);
lderr 3:793d3386768b 21
Owen 0:a51a6e7da590 22
Fab2A 2:e309f19062b7 23 //Définition des E/S de la liaison SPI vers le module nRF24L01+
lderr 3:793d3386768b 24 nRF24L01P my_nrf24l01p(D11, D12, D13, D9, D2, D1); // mosi, miso, sck, csn, ce, irq
Owen 0:a51a6e7da590 25
lderr 3:793d3386768b 26 int main()
lderr 3:793d3386768b 27 {
Owen 0:a51a6e7da590 28
Fab2A 2:e309f19062b7 29 // Nombre de caractères transmis à chaque envoi
evedelegue 7:65236900b1f5 30 #define TRANSFER_SIZE 20
Owen 0:a51a6e7da590 31
Owen 0:a51a6e7da590 32 char txData[TRANSFER_SIZE], rxData[TRANSFER_SIZE];
Owen 0:a51a6e7da590 33 int txDataCnt = 0;
Owen 0:a51a6e7da590 34 int rxDataCnt = 0;
ajuton 4:4fae82a1be60 35 char texte[] = "Robot PSL connecte \n\r";
ajuton 4:4fae82a1be60 36
ajuton 4:4fae82a1be60 37 pc_serie.write(texte, strlen(texte));
Owen 0:a51a6e7da590 38
Owen 0:a51a6e7da590 39 my_nrf24l01p.powerUp();
lderr 3:793d3386768b 40
emerichartmann 5:42dad60edb69 41 my_nrf24l01p.setRfFrequency(2418); // Définition de la fréquence du canal d'E/R
Fab2A 2:e309f19062b7 42 my_nrf24l01p.setAirDataRate(NRF24L01P_DATARATE_1_MBPS); // Définition du débit de la communication RF
Owen 0:a51a6e7da590 43
Owen 0:a51a6e7da590 44 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
Owen 0:a51a6e7da590 45 my_nrf24l01p.setReceiveMode();
Owen 0:a51a6e7da590 46 my_nrf24l01p.enable();
evedelegue 7:65236900b1f5 47
evedelegue 7:65236900b1f5 48 // Affichage de l'état de la configuration du nRF24L01+
evedelegue 7:65236900b1f5 49 sprintf(text,"_______________________\r\nCarte recepteur :\r\n_______________________\r\n");
evedelegue 7:65236900b1f5 50 pc_serie.write( text, strlen(text) );
evedelegue 7:65236900b1f5 51
evedelegue 7:65236900b1f5 52 sprintf(text,"nRF24L01+ Frequency : %d MHz\r\n", my_nrf24l01p.getRfFrequency() );
evedelegue 7:65236900b1f5 53 pc_serie.write( text, strlen(text) );
evedelegue 7:65236900b1f5 54 sprintf(text, "nRF24L01+ Data Rate : %d kbps\r\n", my_nrf24l01p.getAirDataRate() );
evedelegue 7:65236900b1f5 55 pc_serie.write( text, strlen(text) );
evedelegue 7:65236900b1f5 56 sprintf(text, "nRF24L01+ RX Address : 0x%010llX\r\n", my_nrf24l01p.getRxAddress() );
evedelegue 7:65236900b1f5 57 pc_serie.write( text, strlen(text) );
Owen 0:a51a6e7da590 58
evedelegue 7:65236900b1f5 59 sprintf(text, "Type keys to test transfers:\r\n (transfers are grouped into %d characters)\r\n", TRANSFER_SIZE );
evedelegue 7:65236900b1f5 60 pc_serie.write( text, strlen(text) );
Owen 0:a51a6e7da590 61 while (1) {
Owen 0:a51a6e7da590 62
Fab2A 2:e309f19062b7 63 // If we've received anything in the nRF24L01+2...
Owen 0:a51a6e7da590 64 if ( my_nrf24l01p.readable() ) {
Owen 0:a51a6e7da590 65
Owen 0:a51a6e7da590 66 // ...read the data into the receive buffer
Owen 0:a51a6e7da590 67 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) );
Owen 0:a51a6e7da590 68
evedelegue 7:65236900b1f5 69 pc_serie.write(rxData,TRANSFER_SIZE);
Owen 0:a51a6e7da590 70 }
lderr 3:793d3386768b 71 rxDataCnt = 0;
Owen 0:a51a6e7da590 72
Owen 0:a51a6e7da590 73 }
lderr 3:793d3386768b 74
Owen 0:a51a6e7da590 75 }
emerichartmann 5:42dad60edb69 76