Разделение строки для уведомления BLE - PullRequest
0 голосов
/ 28 мая 2019

Я работаю с BLE 4.2 (ESP32), который отправляет данные IMU (accel, gyro, mag) в мое мобильное приложение (Android).К сожалению, я могу отправить только 20 байтов в одном пакете.

Это код, который у меня есть: (Я подключаю необработанные данные с плавающей запятой (ax, ay, ... my, mz ... etc) readот акселерометра.)

char myConcatenation[20];
char myStr[","];
.
.
. 





sprintf(myConcatenation,"%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f%s%3.2f", ax, myStr, ay, myStr, az, myStr,gx,myStr, gy, myStr, gz, myStr, mx, myStr, my, myStr, mz, myStr, yaw, myStr, pitch, myStr, roll);


.
.
.
pCharacteristic->setValue(myConcatenation);

pCharacteristic->notify(); // Send the value to the app!

Знаете ли вы, как создать код, чтобы я уведомлял приложение новыми данными длиной 20 байт?Например, каждый пакет состоит из показаний каждого датчика:

 1. (ax, ay, az) 
 2. (gx, gy, gz) 
 3. (mx, my, mz) 
 4. (yaw, pitch, roll) 
...