Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed SimpleBLE X_NUCLEO_IDB0XA1 LIS3DH_spi
Diff: main.cpp
- Revision:
- 10:a15e07c7ad61
- Parent:
- 9:3d83d0b410b8
- Child:
- 11:72c976e0d889
--- a/main.cpp Fri Jan 17 12:42:51 2020 +0000
+++ b/main.cpp Wed Jan 22 09:33:01 2020 +0000
@@ -14,8 +14,8 @@
//Bluetooth hc05-6
-#define TX PA_15
-#define RX PB_7
+#define TX D0
+#define RX D1
//Init simpleBLE
@@ -53,16 +53,35 @@
//SimpleChar<float> compteur = ble.readOnly_float(0xA000, 0xA003);
//SimpleChar<float> Temps = ble.readOnly_float(0xA000, 0xA004);
-Serial BT(TX,RX);
-Serial pc(USBTX, USBRX);
+Serial BT(USBTX,USBRX);
+//Serial pc(USBTX, USBRX);
int compteur;
bool flag = false;
float end,begin;
+int message = 0;
+int temps1 = 0;
+string course;
+char Buffer[10];
+int i = 0;
+int begin2 = 0;
+
+void envoi(int message){
+ BT.printf("%i\n", message);
+ // pc.printf("Message envoye \r\n");
+}
+
void pressed(){
- compteur=1;
- led1= !led1;
+ // pc.printf("Test 2 \n ");
+ led1 = !led1;
+ temps1 = timer.read_ms();
+
+ // pc.printf("%i \r\n",temps1);
+ message = temps1;
+ envoi(message);
+ //timer.stop();
+ //timer.start();
}
@@ -107,10 +126,12 @@
// Characteristic PWM output
//SimpleChar<uint8_t> pwmout = ble.writeOnly_u8(0xA000, 0xA001, &PWMupdate);
+
+
void skater_d()
{
if(flag==false) {
- //printf("Ligne de depart coupee solo \n");
+ // pc.printf("Ligne de depart coupee solo \n");
if( flag == false) {
//printf("Depart skate \n");
begin = timer.read_ms();
@@ -140,42 +161,79 @@
}
}
+void test_mode(char Buffer[10]){
+ if(Buffer[0] == 'S'){
+ // pc.printf("mode solo \n");
+ timer.reset();
+ flag = false;
+ }else if(Buffer[0]=='D'){
+ // pc.printf("mode duo \n");
+ flag=true;
+ timer.reset();
+ }
+ else if (Buffer[0] == 'R'){
+ // pc.printf("Reset timer \n ");
+ timer.reset();
+ //wait(1);
+ //timer.start();
+ }
+ // pc.printf(" Test \n");
+}
+
+
+void RXevent (){
+ //c=BT.getc();
+ if(BT.readable()){
+ BT.scanf("%s", &Buffer);
+ wait(1);
+ }
+
+ //pc.printf(" Message recu :%s \n",Buffer);
+ //timer.start();
+
+ //test_mode(Buffer);
+
+ if (Buffer[0] == 'R'){
+ // pc.printf("Reset timer \r\n ");
+ timer.reset();
+ //wait(1);
+ //timer.start();
+ //temps1=timer.read_ms();
+ //envoi(temps1);
+ }
+ // pc.printf(" Message recu :%s \n", Buffer);
+ return;
+}
+
+
+
//Main program
int main(int, char**)
{
transistor=1;
//ble.start();
- Ticker t;
+ //Ticker t;
//t.attach(&Accupdate, 15.0f);
timer.start();
+ BT.attach(&RXevent);
+ //BT.attach(&RXevent);
user1.fall(&pressed);
- boutton1.fall(&pressed);
- boutton2.fall(&pressed);
- event.fall(&skater_d);
- char c;
- //char Buffer[10];
- int i = 0;
- int begin2 = 0;
+ //boutton1.fall(&pressed);
+ //boutton2.fall(&pressed);
+ event.fall(&pressed);
+ //BT.attach(&RXevent);
+
while (1) {
- //ble.waitForEvent();
- //if(timer.read_ms()>5000){
- timer.stop();
- timer.start();
- begin2 = timer.read_ms();
- //pc.printf("hello");
- Green = 0.001;
- c = compteur;
- BT.putc(i);
- BT.putc(begin2);
- wait(1);
- //BT.puts("Test");
- Green = 0;
- compteur = 0;
- i=i+1;
- wait(1);
+
+ //begin2 = timer.read_ms();
+ Green = 0.001;
+ wait(1);
+ //BT.puts("Test");
+ Green = 0;
+ wait(1);
//}
}