PSL_2021 / Mbed OS prog_robot_1_Eve_v4

Dependencies:   mbed-os nRF24L01P

Committer:
evedelegue
Date:
Fri Feb 25 10:13:06 2022 +0000
Revision:
9:67d737d8a349
Parent:
8:04ab02bb2262
Child:
10:0312e23ba3a1
premiere version juste pour la com (mais %f bug)

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
evedelegue 9:67d737d8a349 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"
evedelegue 9:67d737d8a349 16 #include "float.h"
evedelegue 9:67d737d8a349 17 #include "MX12.h"
evedelegue 9:67d737d8a349 18 #include "stdio.h"
lderr 3:793d3386768b 19
emerichartmann 8:04ab02bb2262 20 BufferedSerial pc_serie(USBTX,USBRX,115200);
lderr 3:793d3386768b 21
lderr 3:793d3386768b 22 nRF24L01P my_nrf24l01p(D11, D12, D13, D9, D2, D1); // mosi, miso, sck, csn, ce, irq
evedelegue 9:67d737d8a349 23 DigitalOut maled2(LED2);
evedelegue 9:67d737d8a349 24
Owen 0:a51a6e7da590 25
lderr 3:793d3386768b 26 int main()
lderr 3:793d3386768b 27 {
Owen 0:a51a6e7da590 28
evedelegue 9:67d737d8a349 29 #define TRANSFER_SIZE 12
Owen 0:a51a6e7da590 30
evedelegue 9:67d737d8a349 31 char chaine[50];
evedelegue 9:67d737d8a349 32 float reception[3];
evedelegue 9:67d737d8a349 33 float Vavance, Vlat,Wz;
evedelegue 9:67d737d8a349 34 int i;
Owen 0:a51a6e7da590 35 my_nrf24l01p.powerUp();
evedelegue 9:67d737d8a349 36 my_nrf24l01p.setRfFrequency(2420);
evedelegue 9:67d737d8a349 37 my_nrf24l01p.setAirDataRate(1000);
Owen 0:a51a6e7da590 38 my_nrf24l01p.setTransferSize( TRANSFER_SIZE );
Owen 0:a51a6e7da590 39 my_nrf24l01p.setReceiveMode();
emerichartmann 8:04ab02bb2262 40 my_nrf24l01p.setCrcWidth(0);
emerichartmann 8:04ab02bb2262 41 my_nrf24l01p.setRxAddress();
Owen 0:a51a6e7da590 42 my_nrf24l01p.enable();
evedelegue 9:67d737d8a349 43
evedelegue 9:67d737d8a349 44 pc_serie.write("Je suis le robot de Eve", strlen("Je suis le robot de Eve"));
evedelegue 9:67d737d8a349 45
evedelegue 9:67d737d8a349 46 maled2 = 1;
evedelegue 9:67d737d8a349 47
Owen 0:a51a6e7da590 48 while (1) {
Owen 0:a51a6e7da590 49
Owen 0:a51a6e7da590 50
evedelegue 9:67d737d8a349 51 if (my_nrf24l01p.readable()) {
evedelegue 9:67d737d8a349 52 maled2 = !maled2;
evedelegue 9:67d737d8a349 53 my_nrf24l01p.read( NRF24L01P_PIPE_P0, (char *)reception, TRANSFER_SIZE );
evedelegue 9:67d737d8a349 54 Vavance = reception[0];
evedelegue 9:67d737d8a349 55 Vlat = reception[1];
evedelegue 9:67d737d8a349 56 Wz = reception[2];
evedelegue 9:67d737d8a349 57
evedelegue 9:67d737d8a349 58 sprintf(chaine," Vav = %f, Vlat = %f, Wz = %f\n\r",(float)Vavance, (float)Vlat, (float)Wz);
evedelegue 9:67d737d8a349 59 pc_serie.write(chaine, strlen(chaine));
evedelegue 9:67d737d8a349 60 // cmd_moteur(Vavance, Vlat, Wz);
Owen 0:a51a6e7da590 61
Owen 0:a51a6e7da590 62 }
lderr 3:793d3386768b 63
Owen 0:a51a6e7da590 64 }
emerichartmann 5:42dad60edb69 65
evedelegue 9:67d737d8a349 66 }
evedelegue 9:67d737d8a349 67