Merge pull request #522 from jonvmey/fix-nav-uuid-docs
Fix Navigation Service UUID docs
This commit is contained in:
commit
0ca018b309
3 changed files with 29 additions and 49 deletions
|
@ -9,19 +9,19 @@ manDist (string) - Manouvre Distance, the distance to the upcoming change
|
||||||
progress (uint8) - Percent complete of total route, value 0-100
|
progress (uint8) - Percent complete of total route, value 0-100
|
||||||
|
|
||||||
## Service
|
## Service
|
||||||
The service UUID is c7e60001-78fc-48fe-8e23-433b3a1942d0
|
The service UUID is 00010000-78fc-48fe-8e23-433b3a1942d0
|
||||||
|
|
||||||
## Characteristics
|
## Characteristics
|
||||||
## Flags (UUID c7e60002-78fc-48fe-8e23-433b3a1942d0)
|
## Flags (UUID 00010001-78fc-48fe-8e23-433b3a1942d0)
|
||||||
All included icons are from pure-maps, which provides the actual routing from the client. The icon names ultimately come from the mapbox project "direction-icons", See https://github.com/rinigus/pure-maps/tree/master/qml/icons/navigation See the end of this document for the full lsit of supported icon names.
|
All included icons are from pure-maps, which provides the actual routing from the client. The icon names ultimately come from the mapbox project "direction-icons", See https://github.com/rinigus/pure-maps/tree/master/qml/icons/navigation See the end of this document for the full lsit of supported icon names.
|
||||||
|
|
||||||
## Narrative (UUID c7e60003-78fc-48fe-8e23-433b3a1942d0)
|
## Narrative (UUID 00010002-78fc-48fe-8e23-433b3a1942d0)
|
||||||
This is a client supplied string describing the upcoming instruction such as "At the roundabout take the first exit".
|
This is a client supplied string describing the upcoming instruction such as "At the roundabout take the first exit".
|
||||||
|
|
||||||
## Man Dist (UUID c7e60004-78fc-48fe-8e23-433b3a1942d0)
|
## Man Dist (UUID 00010003-78fc-48fe-8e23-433b3a1942d0)
|
||||||
This is a short string describing the distance to the upcoming instruction such as "50 m".
|
This is a short string describing the distance to the upcoming instruction such as "50 m".
|
||||||
|
|
||||||
## Progress (UUID c7e60001=5-78fc-48fe-8e23-433b3a1942d0)
|
## Progress (UUID 00010004-78fc-48fe-8e23-433b3a1942d0)
|
||||||
The percent complete in a uint8. The watch displays this as an overall progress in a progress bar.
|
The percent complete in a uint8. The watch displays this as an overall progress in a progress bar.
|
||||||
|
|
||||||
## Full icon list
|
## Full icon list
|
||||||
|
|
|
@ -20,35 +20,32 @@
|
||||||
|
|
||||||
#include "systemtask/SystemTask.h"
|
#include "systemtask/SystemTask.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
// 0001yyxx-78fc-48fe-8e23-433b3a1942d0
|
||||||
|
constexpr ble_uuid128_t CharUuid(uint8_t x, uint8_t y) {
|
||||||
|
return ble_uuid128_t {.u = {.type = BLE_UUID_TYPE_128},
|
||||||
|
.value = {0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, x, y, 0x01, 0x00}};
|
||||||
|
}
|
||||||
|
|
||||||
|
// 00010000-78fc-48fe-8e23-433b3a1942d0
|
||||||
|
constexpr ble_uuid128_t BaseUuid() {
|
||||||
|
return CharUuid(0x00, 0x00);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr ble_uuid128_t navUuid {BaseUuid()};
|
||||||
|
|
||||||
|
constexpr ble_uuid128_t navFlagCharUuid {CharUuid(0x01, 0x00)};
|
||||||
|
constexpr ble_uuid128_t navNarrativeCharUuid {CharUuid(0x02, 0x00)};
|
||||||
|
constexpr ble_uuid128_t navManDistCharUuid {CharUuid(0x03, 0x00)};
|
||||||
|
constexpr ble_uuid128_t navProgressCharUuid {CharUuid(0x04, 0x00)};
|
||||||
|
|
||||||
int NAVCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg) {
|
int NAVCallback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt* ctxt, void* arg) {
|
||||||
auto navService = static_cast<Pinetime::Controllers::NavigationService*>(arg);
|
auto navService = static_cast<Pinetime::Controllers::NavigationService*>(arg);
|
||||||
return navService->OnCommand(conn_handle, attr_handle, ctxt);
|
return navService->OnCommand(conn_handle, attr_handle, ctxt);
|
||||||
}
|
}
|
||||||
|
} // namespace
|
||||||
|
|
||||||
Pinetime::Controllers::NavigationService::NavigationService(Pinetime::System::SystemTask& system) : m_system(system) {
|
Pinetime::Controllers::NavigationService::NavigationService(Pinetime::System::SystemTask& system) : m_system(system) {
|
||||||
navUuid.value[14] = navId[0];
|
|
||||||
navUuid.value[15] = navId[1];
|
|
||||||
|
|
||||||
navFlagCharUuid.value[12] = navFlagCharId[0];
|
|
||||||
navFlagCharUuid.value[13] = navFlagCharId[1];
|
|
||||||
navFlagCharUuid.value[14] = navId[0];
|
|
||||||
navFlagCharUuid.value[15] = navId[1];
|
|
||||||
|
|
||||||
navNarrativeCharUuid.value[12] = navNarrativeCharId[0];
|
|
||||||
navNarrativeCharUuid.value[13] = navNarrativeCharId[1];
|
|
||||||
navNarrativeCharUuid.value[14] = navId[0];
|
|
||||||
navNarrativeCharUuid.value[15] = navId[1];
|
|
||||||
|
|
||||||
navManDistCharUuid.value[12] = navManDistCharId[0];
|
|
||||||
navManDistCharUuid.value[13] = navManDistCharId[1];
|
|
||||||
navManDistCharUuid.value[14] = navId[0];
|
|
||||||
navManDistCharUuid.value[15] = navId[1];
|
|
||||||
|
|
||||||
navProgressCharUuid.value[12] = navProgressCharId[0];
|
|
||||||
navProgressCharUuid.value[13] = navProgressCharId[1];
|
|
||||||
navProgressCharUuid.value[14] = navId[0];
|
|
||||||
navProgressCharUuid.value[15] = navId[1];
|
|
||||||
|
|
||||||
characteristicDefinition[0] = {
|
characteristicDefinition[0] = {
|
||||||
.uuid = &navFlagCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
|
.uuid = &navFlagCharUuid.u, .access_cb = NAVCallback, .arg = this, .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_READ};
|
||||||
|
|
||||||
|
|
|
@ -26,10 +26,6 @@
|
||||||
#undef max
|
#undef max
|
||||||
#undef min
|
#undef min
|
||||||
|
|
||||||
// c7e60000-78fc-48fe-8e23-433b3a1942d0
|
|
||||||
#define NAVIGATION_SERVICE_UUID_BASE \
|
|
||||||
{ 0xd0, 0x42, 0x19, 0x3a, 0x3b, 0x43, 0x23, 0x8e, 0xfe, 0x48, 0xfc, 0x78, 0x00, 0x00, 0x00, 0x00 }
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace System {
|
namespace System {
|
||||||
class SystemTask;
|
class SystemTask;
|
||||||
|
@ -53,19 +49,6 @@ namespace Pinetime {
|
||||||
int getProgress();
|
int getProgress();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr uint8_t navId[2] = {0x01, 0x00};
|
|
||||||
static constexpr uint8_t navFlagCharId[2] = {0x01, 0x00};
|
|
||||||
static constexpr uint8_t navNarrativeCharId[2] = {0x02, 0x00};
|
|
||||||
static constexpr uint8_t navManDistCharId[2] = {0x03, 0x00};
|
|
||||||
static constexpr uint8_t navProgressCharId[2] = {0x04, 0x00};
|
|
||||||
|
|
||||||
ble_uuid128_t navUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = NAVIGATION_SERVICE_UUID_BASE};
|
|
||||||
|
|
||||||
ble_uuid128_t navFlagCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = NAVIGATION_SERVICE_UUID_BASE};
|
|
||||||
ble_uuid128_t navNarrativeCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = NAVIGATION_SERVICE_UUID_BASE};
|
|
||||||
ble_uuid128_t navManDistCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = NAVIGATION_SERVICE_UUID_BASE};
|
|
||||||
ble_uuid128_t navProgressCharUuid {.u = {.type = BLE_UUID_TYPE_128}, .value = NAVIGATION_SERVICE_UUID_BASE};
|
|
||||||
|
|
||||||
struct ble_gatt_chr_def characteristicDefinition[5];
|
struct ble_gatt_chr_def characteristicDefinition[5];
|
||||||
struct ble_gatt_svc_def serviceDefinition[2];
|
struct ble_gatt_svc_def serviceDefinition[2];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue