Ce programme correspond a la cellule d'arrivee du systeme "Laser Gate Timer" developpe par Tanguy KESSELY et Dorian VOYDIE. Il utilise une carte Nucleo F411, un shield BLE IDB05A1 et un PCB fait maison

Dependencies:   mbed

Revision:
1:417efc7560c8
Parent:
0:badac4c5dd91
Child:
2:06ec0e48f564
--- a/main.cpp	Tue Nov 10 14:25:00 2020 +0000
+++ b/main.cpp	Tue Nov 17 17:19:59 2020 +0000
@@ -1,71 +1,30 @@
 //Includes
 
 #include "mbed.h"
-#include "SimpleBLE.h"
 
 
 ///////////Init STM32 pins///////////
-DigitalOut myLed(PC_8);
-DigitalIn my_button(PC_13);  //User1
+DigitalOut myLed(LED1);
+InterruptIn my_button(USER_BUTTON);  //User1
 /////////////////////////////////////
 
 
 
 
 ///////////Init HC05/////////////////
-Serial HC05(PA_2, PA_3);
+Serial HC05(D8, D2);
 //Bluetooth
-//Maitre (Tanguy) : ADDR = 0019,10,08FCD3
-//Esclave (Dorian) : ADDR = 0019,10,08FCB5
-/////////////////////////////////////
-
-
-
-
-//////////////Init BLE///////////////
-SimpleBLE ble("ObCP_CROC_ENSMM");
-
-/////////////READ////////////////////
-SimpleChar<float> trigger_value = ble.readOnly_float(0xA000, 0xA002);
-SimpleChar<float> chrono_value = ble.readOnly_float(0xA000, 0xA003);
-/////////////////////////////////////
-
-
-
-
-////////////TIMER////////////////////
-Timer timer;
-int begin;
-int end;
-float chrono=0;
-void Timer_triggered()
-{
-    timer.start();
-    begin = timer.read_ms();
-}
-void Timer_Reset()
-{
-    timer.stop();
-    begin=0;
-    end=0;
-    chrono=0;
-}
+//Maitre (Arrivee) : ADDR = 98d3,b1,fd5c5d
+//Esclave (Départ) : ADDR = 0019,10,08FCB5
 /////////////////////////////////////
 
 
 
 
 /////////COMMUNICATION///////////////
-void HC05_receive()
+void HC05_transmit()
 {
-    char IncomingValue = HC05.getc();
-    if(IncomingValue == 'u') {
-        end = timer.read_ms();
-        timer.stop();
-        chrono = end-begin;
-
-    }
-    HC05.putc(IncomingValue);
+    HC05.putc('u');
 }
 /////////////////////////////////////
 
@@ -75,49 +34,18 @@
 /////////////GAMEMODES///////////////
 void solo()
 {
-    trigger_value = float(my_button);
-    chrono_value = float(chrono)* 0.001F;
 
-
-    if (my_button==0) {
-        Timer_triggered();
-        myLed=1;
-    } else {
-        myLed = 0;
-    }
-    //while bluetooth device is receiving data
-    while(HC05.readable()) {
-        HC05_receive();
-    }
 }
 /////////////////////////////////////
 
 
-
-
-/////////GAMEMODES UPDATE////////////
-float gamemode = 0;
-void updateGM(float newValue)
-{
-    gamemode = newValue;
-}
-SimpleChar<float> gamemode_command = ble.writeOnly_float(0xA000, 0xA004, &updateGM);
-/////////////////////////////////////
-
-
-
-
-
-
-
-
 int main(int, char**)
 {
-    HC05.baud(9600);
-    ble.start();
+    HC05.baud(38400);
+    my_button.fall(&HC05_transmit);
+    
     while (1) {
-        ble.waitForEvent();
-        solo();
+        //while bluetooth device is receiving data
 
     }
 }