Я работаю с 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)