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: BLE_API mbed nRF51822 circular_buffer
AccelService.cpp@13:e4c3b3e00e3d, 2016-05-25 (annotated)
- Committer:
- agufal
- Date:
- Wed May 25 13:35:41 2016 +0000
- Revision:
- 13:e4c3b3e00e3d
- Parent:
- 12:172acb80fcab
implementado bucle principal con un sleep
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| agufal | 9:3708b94b2312 | 1 | #include "AccelService.h" |
| agufal | 9:3708b94b2312 | 2 | |
| agufal | 13:e4c3b3e00e3d | 3 | AccelService::AccelService() : |
| agufal | 13:e4c3b3e00e3d | 4 | _accelState( CHARACTERISTIC_UUID, _values, 6, 6, GattCharacteristic::BLE_GATT_CHAR_PROPERTIES_READ) |
| agufal | 9:3708b94b2312 | 5 | { |
| agufal | 9:3708b94b2312 | 6 | |
| agufal | 10:8c5a246b9045 | 7 | const static char DEVICE_NAME[] = "AccelBike"; |
| agufal | 10:8c5a246b9045 | 8 | const uint16_t uuid16_list[] = { SERVICE_UUID }; |
| agufal | 10:8c5a246b9045 | 9 | |
| agufal | 10:8c5a246b9045 | 10 | // Segun la documentacion, a BLE hay que tratarlo como un singleton |
| agufal | 9:3708b94b2312 | 11 | BLE::Instance().init(); |
| agufal | 9:3708b94b2312 | 12 | BLE::Instance().gap().onDisconnection(disconnectionCallback); |
| agufal | 9:3708b94b2312 | 13 | BLE::Instance().gap().onConnection(connectionCallback); |
| agufal | 9:3708b94b2312 | 14 | |
| agufal | 9:3708b94b2312 | 15 | /* setup advertising */ |
| agufal | 9:3708b94b2312 | 16 | BLE::Instance().gap().accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED | GapAdvertisingData::LE_GENERAL_DISCOVERABLE); |
| agufal | 9:3708b94b2312 | 17 | BLE::Instance().gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_16BIT_SERVICE_IDS, (uint8_t *)uuid16_list, sizeof(uuid16_list)); |
| agufal | 9:3708b94b2312 | 18 | BLE::Instance().gap().accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LOCAL_NAME, (uint8_t *)DEVICE_NAME, sizeof(DEVICE_NAME)); |
| agufal | 9:3708b94b2312 | 19 | |
| agufal | 9:3708b94b2312 | 20 | BLE::Instance().gap().setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); |
| agufal | 9:3708b94b2312 | 21 | BLE::Instance().gap().setAdvertisingInterval(1000); /* 1000ms. */ |
| agufal | 9:3708b94b2312 | 22 | BLE::Instance().gap().startAdvertising(); |
| agufal | 9:3708b94b2312 | 23 | |
| agufal | 9:3708b94b2312 | 24 | /* setup service */ |
| agufal | 9:3708b94b2312 | 25 | GattCharacteristic *charTable[] = { &_accelState }; |
| agufal | 9:3708b94b2312 | 26 | GattService accelService ( SERVICE_UUID, charTable, sizeof(charTable) / sizeof(GattCharacteristic *) ); |
| agufal | 9:3708b94b2312 | 27 | BLE::Instance().gattServer().addService(accelService); |
| agufal | 9:3708b94b2312 | 28 | |
| agufal | 9:3708b94b2312 | 29 | } |
| agufal | 9:3708b94b2312 | 30 | |
| agufal | 9:3708b94b2312 | 31 | void AccelService::updateAccelState(Vector v) |
| agufal | 9:3708b94b2312 | 32 | { |
| agufal | 10:8c5a246b9045 | 33 | // Partimos los ejes en dos bytes para mandarlos |
| agufal | 10:8c5a246b9045 | 34 | _values[0] = (uint8_t)(v.x >> 8); // MSB |
| agufal | 10:8c5a246b9045 | 35 | _values[1] = (uint8_t)(v.x & 0x00FF); // LSB |
| agufal | 9:3708b94b2312 | 36 | |
| agufal | 10:8c5a246b9045 | 37 | _values[2] = (uint8_t)(v.y >> 8); // MSB |
| agufal | 10:8c5a246b9045 | 38 | _values[3] = (uint8_t)(v.y & 0x00FF); // LSB |
| agufal | 9:3708b94b2312 | 39 | |
| agufal | 10:8c5a246b9045 | 40 | _values[4] = (uint8_t)(v.z >> 8); // MSB |
| agufal | 10:8c5a246b9045 | 41 | _values[5] = (uint8_t)(v.z & 0x00FF); // LSB |
| agufal | 10:8c5a246b9045 | 42 | |
| agufal | 10:8c5a246b9045 | 43 | BLE::Instance().gattServer().write(_accelState.getValueHandle(), _values, 6); |
| agufal | 9:3708b94b2312 | 44 | |
| agufal | 9:3708b94b2312 | 45 | } |
