Yncréa ISEN Nimes CSI3 Electronique Numérique RF24Network Base 00
Dependencies: mbed RF24Network RF24
Diff: main.cpp
- Revision:
- 5:7937720a2afe
- Parent:
- 4:25610749c91c
- Child:
- 6:b5f1a2ddbb56
--- a/main.cpp Tue May 04 10:05:53 2021 +0000 +++ b/main.cpp Sun May 23 23:40:19 2021 +0000 @@ -7,7 +7,9 @@ // // Projet 2021 : Jeu type Simon's pour la rééducation // -// Note : Utilisation de Ticker et du SPI +// Note : Utilisation du SPI +// +// Code pour la base 00 /*************************************/ #include "mbed.h" #include <RF24Network.h> @@ -41,15 +43,13 @@ //const uint16_t node_03 = 03; // Structure of our payload -struct payload_t -{ +struct payload_t { uint8_t src; // Source du message uint8_t dest; // Destination du message uint8_t data; // Data du message }; -struct _node -{ +struct _node { uint8_t src; // Source du message uint8_t dest; // Destination du message uint8_t del; @@ -61,45 +61,40 @@ // Test de l'horloge Systeme // pc.printf("CPU SystemCoreClock is %d Hz\r\n", SystemCoreClock); // pc.baud(9600); - Set_8Dels(1); - wait_ms(1000); - Set_8Dels(0); - + /* Set_8Dels(1); + wait_ms(1000); + Set_8Dels(0); + */ _node node; pc.printf("mBed RF24Network Base 00\r\n"); radio.begin(); - + // Choix du canal de communication (128 canaux disponibles, de 0 à 127) // et numéro de l'émetteur, ici le node 00 network.begin(/*canal*/ 90, /*node address*/ this_node); wait_ms(2000); - while(1) - { + while(1) { // Refresh Dels - Set_8Dels(node.del); - +// Set_8Dels(node.del); + // Pump the network regularly network.update(); -// Machine d'états en mode réception par défaut - switch (etat) - { +// Machine d'états en mode réception par défaut + switch (etat) { case 0: // ---> Reception <--- - while ( network.available() ) // Si réception - { + while ( network.available() ) { // Si réception RF24NetworkHeader header_rx; // Création d'un entête payload_t payload_rx; // Création d'une structure pour le message network.read(header_rx,&payload_rx,sizeof(payload_rx)); // Lecture du message pc.printf("Node %d -> Node %d : msg %d\r\n", payload_rx.src, payload_rx.dest, payload_rx.data); - - if (payload_rx.dest == 00) - { + + if (payload_rx.dest == 00) { node.del = payload_rx.data%6; } - else - { + else { etat = 1; node.src = payload_rx.src; node.dest = payload_rx.dest; @@ -108,27 +103,26 @@ } break; case 1: // ---> Emission <--- - // RF24NetworkHeader header_tx; - payload_t payload_tx; - payload_tx.src = node.src; - payload_tx.dest = node.dest; - payload_tx.data = node.del; - pc.printf("Envoi..."); - RF24NetworkHeader header_tx(payload_tx.dest); - bool ok = network.write(header_tx,&payload_tx,sizeof(payload_tx)); - if (ok) - { - pc.printf("ok.\r\n"); - } - else - pc.printf("erreur.\r\n"); - - etat = 0; + // RF24NetworkHeader header_tx; + payload_t payload_tx; + payload_tx.src = node.src; + payload_tx.dest = node.dest; + payload_tx.data = node.del; + pc.printf("Envoi..."); + RF24NetworkHeader header_tx(payload_tx.dest); + bool ok = network.write(header_tx,&payload_tx,sizeof(payload_tx)); + if (ok) { + pc.printf("ok.\r\n"); + } else + pc.printf("erreur.\r\n"); + + etat = 0; break; default: etat = 0; break; - } + } // switch - } -} \ No newline at end of file + } // while(1) + return 0; +} // main \ No newline at end of file