Algoritmo funcionando com a biblioteca de inatividade utilizando dos dados do acelerômetro e a biblioteca de PeakSearch se utilizando dos dados filtrados pelo filtro Kalman.

Dependencies:   mbed MatrixMath Matrix nrf51_rtc BMP180 MPU9250

Committer:
Rogercl
Date:
Sat Jul 27 12:17:25 2019 +0000
Revision:
5:d87c25f009d1
Parent:
1:d1002dc109b9
PeakSearch working with Kalman. The best Treshold is 30

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rogercl 0:095b19b8fb7e 1 #include "ble_config.h"
Rogercl 5:d87c25f009d1 2
Rogercl 0:095b19b8fb7e 3 char data_ble[100];
Rogercl 0:095b19b8fb7e 4 int flag_ble=0;
Rogercl 5:d87c25f009d1 5
Rogercl 0:095b19b8fb7e 6 void onDataWritten(const GattWriteCallbackParams *params)
Rogercl 0:095b19b8fb7e 7 {
Rogercl 0:095b19b8fb7e 8
Rogercl 0:095b19b8fb7e 9 char alc[10];
Rogercl 0:095b19b8fb7e 10 memset(data_ble, 0, sizeof(data_ble));
Rogercl 0:095b19b8fb7e 11 if ((params->handle == uart->getTXCharacteristicHandle()))
Rogercl 0:095b19b8fb7e 12 {
Rogercl 0:095b19b8fb7e 13 for(int x=0; x < params->len; x++)
Rogercl 0:095b19b8fb7e 14 {
Rogercl 0:095b19b8fb7e 15 sprintf(alc,"%c", params->data[x]);
Rogercl 0:095b19b8fb7e 16 strcat(data_ble,alc);
Rogercl 0:095b19b8fb7e 17 }// end for
Rogercl 0:095b19b8fb7e 18 if(strcmp(data_ble,"Start")== 0||strcmp(data_ble,"Start ")== 0||flag_ble!=0)
Rogercl 0:095b19b8fb7e 19 {
Rogercl 0:095b19b8fb7e 20 flag_ble=flag_ble+1;
Rogercl 0:095b19b8fb7e 21 } //end if "Start"
Rogercl 0:095b19b8fb7e 22 }// end if params...
Rogercl 0:095b19b8fb7e 23 } //end onDataWritten
Rogercl 5:d87c25f009d1 24
Rogercl 0:095b19b8fb7e 25 void getting_pacient_data()
Rogercl 0:095b19b8fb7e 26 {
Rogercl 0:095b19b8fb7e 27 char dia[20];
Rogercl 0:095b19b8fb7e 28 char horario[20];
Rogercl 0:095b19b8fb7e 29
Rogercl 0:095b19b8fb7e 30 ble.onEventsToProcess(scheduleBleEventsProcessing);
Rogercl 0:095b19b8fb7e 31 ble.init(bleInitComplete);
Rogercl 0:095b19b8fb7e 32 ble.onDataWritten(onDataWritten);
Rogercl 0:095b19b8fb7e 33 ble.waitForEvent();
Rogercl 0:095b19b8fb7e 34 while(flag_ble!=4)
Rogercl 0:095b19b8fb7e 35 {
Rogercl 0:095b19b8fb7e 36 ble.waitForEvent();
Rogercl 0:095b19b8fb7e 37 if(flag_ble==1)
Rogercl 0:095b19b8fb7e 38 {
Rogercl 5:d87c25f009d1 39 uart->writeString("Threshold:");
Rogercl 0:095b19b8fb7e 40 uart->writeString("\n");
Rogercl 0:095b19b8fb7e 41 flag_ble=flag_ble+1;
Rogercl 0:095b19b8fb7e 42 }
Rogercl 0:095b19b8fb7e 43 if(flag_ble==3)
Rogercl 0:095b19b8fb7e 44 {
Rogercl 5:d87c25f009d1 45 Threshold=atof(data_ble);
Rogercl 0:095b19b8fb7e 46 uart->writeString("Gravando...");
Rogercl 0:095b19b8fb7e 47 uart->writeString("\n");
Rogercl 0:095b19b8fb7e 48 flag_ble=flag_ble+1;
Rogercl 0:095b19b8fb7e 49 }
Rogercl 0:095b19b8fb7e 50 } //end while flag_ble !=4
Rogercl 0:095b19b8fb7e 51 } //end getting_pacient_data