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.
Fork of pdiot-ble-notify-array by
Revision 47:4905acf20758, committed 2017-10-04
- Comitter:
- vladb
- Date:
- Wed Oct 04 10:58:38 2017 +0000
- Parent:
- 46:dfdf7d1ebde2
- Commit message:
- continuous stream sent to mobile
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MPU9250.lib Wed Oct 04 10:58:38 2017 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/Edutech/code/MPU9250/#98a0cccbc509
--- a/source/ButtonService.h Tue Oct 03 08:46:39 2017 +0000
+++ b/source/ButtonService.h Wed Oct 04 10:58:38 2017 +0000
@@ -14,6 +14,23 @@
* limitations under the License.
*/
+#include "mbed.h"
+#include "MPU9250.h"
+
+// Serial comms
+Serial pc(USBTX, USBRX);
+
+// Sensor board library
+MPU9250 mpu = MPU9250(p26, p27);
+
+
+// Configuration
+bool test_comms = true;
+bool do_sensor_init = false;
+bool do_sensor_self_test = true;
+bool print_accel = true;
+bool print_gyro = true;
+
#ifndef __BLE_BUTTON_SERVICE_H__
#define __BLE_BUTTON_SERVICE_H__
@@ -29,44 +46,67 @@
GattService buttonService(ButtonService::BUTTON_SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *));
ble.gattServer().addService(buttonService);
}
+
+
void updateButtonState(bool newState) {
- uint8_t v[12] = {0};
- if (newState) {
- v[0] = 0;
- v[1] = 1;
- v[2] = 2;
- v[3] = 3;
- v[4] = 4;
- v[5] = 5;
- v[6] = 0;
- v[7] = 1;
- v[8] = 2;
- v[9] = 3;
- v[10] = 4;
- v[11] = 5;
- }
- else {
- v[0] = 6;
- v[1] = 7;
- v[2] = 8;
- v[3] = 9;
- v[4] = 10;
- v[5] = 11;
- v[6] = 6;
- v[7] = 7;
- v[8] = 8;
- v[9] = 9;
- v[10] = 10;
- v[11] = 11;
- }
+
+ float test_result[6] = {0.0,0.0,0.0,0.0,0.0,0.0};
+ int16_t accel[3] = {0,0,0};
+ int16_t gyro[3] = {0,0,0};
+ int16_t temp = 0;
+// uint8_t v[12] = {0};
+// if (newState) {
+// v[0] = 0;
+// v[1] = 1;
+// v[2] = 2;
+// v[3] = 3;
+// v[4] = 4;
+// v[5] = 5;
+// v[6] = 0;
+// v[7] = 1;
+// v[8] = 2;
+// v[9] = 3;
+// v[10] = 4;
+// v[11] = 5;
+// }
+// else {
+// v[0] = 6;
+// v[1] = 7;
+// v[2] = 8;
+// v[3] = 9;
+// v[4] = 10;
+// v[5] = 11;
+// v[6] = 6;
+// v[7] = 7;
+// v[8] = 8;
+// v[9] = 9;
+// v[10] = 10;
+// v[11] = 11;
+// }
+ uint8_t v[6] = {0};
+ if (print_accel) {
+ mpu.readAccelData(accel);
+ float ax = accel[0] * 2.0 / 32768.0; v[0] = ax;
+ float ay = accel[1] * 2.0 / 32768.0; v[1] = ay;
+ float az = accel[2] * 2.0 / 32768.0; v[2] = az;
+ pc.printf("accel: (%f, %f, %f)\n", ax,ay,az);
+ }
+
+ if (print_gyro) {
+ mpu.readGyroData(gyro);
+ float gx = gyro[0] * 250.0 / 32768.0; v[3] = gx;
+ float gy = gyro[1] * 250.0 / 32768.0; v[4] = gy;
+ float gz = gyro[2] * 250.0 / 32768.0; v[5] = gz;
+ pc.printf("gyro: (%f, %f, %f)\n", gx,gy,gz);
+ }
//ble.gattServer().write(buttonState.getValueHandle(), (uint8_t *)v, sizeof(v));
ble.updateCharacteristicValue(buttonState.getValueHandle(), (uint8_t *)v ,sizeof(v));
}
private:
BLE &ble;
- ReadOnlyArrayGattCharacteristic<uint8_t, sizeof(uint8_t[12])> buttonState;
+ ReadOnlyArrayGattCharacteristic<uint8_t, sizeof(uint8_t[6])> buttonState;
};
#endif /* #ifndef __BLE_BUTTON_SERVICE_H__ */
--- a/source/main.cpp Tue Oct 03 08:46:39 2017 +0000
+++ b/source/main.cpp Wed Oct 04 10:58:38 2017 +0000
@@ -31,8 +31,10 @@
ButtonService *buttonServicePtr;
void buttonPressedCallback(void)
-{
+{
+
eventQueue.call(Callback<void(bool)>(buttonServicePtr, &ButtonService::updateButtonState), true);
+
}
void buttonReleasedCallback(void)
@@ -48,6 +50,10 @@
void blinkCallback(void)
{
led1 = !led1; /* Do blinky on LED1 to indicate system aliveness. */
+ pc.printf("blink");
+
+ eventQueue.call(Callback<void(bool)>(buttonServicePtr, &ButtonService::updateButtonState), true);
+
}
void onBleInitError(BLE &ble, ble_error_t error)
@@ -102,6 +108,7 @@
ble.init(bleInitComplete);
eventQueue.dispatch_forever();
-
+
+
return 0;
}
