From 7ea488c6dba5238edc19aaa2781431a963d470db Mon Sep 17 00:00:00 2001 From: schneider <schneider@blinkenlichts.net> Date: Tue, 23 Jun 2020 23:22:35 +0200 Subject: [PATCH] feat(ble): Appear as generic watch, add card10 UUID to advertisement --- epicardium/ble/ble_api.h | 5 +++++ epicardium/ble/ble_main.c | 15 +++++++-------- epicardium/ble/card10.c | 10 ++++------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/epicardium/ble/ble_api.h b/epicardium/ble/ble_api.h index 9040f8e43..84f27ef5d 100644 --- a/epicardium/ble/ble_api.h +++ b/epicardium/ble/ble_api.h @@ -1,4 +1,9 @@ #pragma once + +#define CARD10_UUID_SUFFIX \ + 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23 +#define CARD10_UUID_PREFIX 0x02, 0x23, 0x42 + /************************************************************************************************** Function Declarations **************************************************************************************************/ diff --git a/epicardium/ble/ble_main.c b/epicardium/ble/ble_main.c index 2ad686dd7..c8fef1f66 100644 --- a/epicardium/ble/ble_main.c +++ b/epicardium/ble/ble_main.c @@ -40,6 +40,7 @@ #include "rscp/rscp_api.h" #include "cccd.h" +#include "ble_api.h" #include "epicardium.h" #include "api/interrupt-sender.h" #include "modules/log.h" @@ -159,16 +160,14 @@ static const uint8_t bleAdvDataDisc[] = DM_FLAG_LE_LIMITED_DISC | /*! flags */ DM_FLAG_LE_BREDR_NOT_SUP, - /*! tx power */ - 2, /*! length */ - DM_ADV_TYPE_TX_POWER, /*! AD type */ - 0, /*! tx power */ + 3, + DM_ADV_TYPE_APPEARANCE, + UINT16_TO_BYTES(CH_APPEAR_WATCH), /*! service UUID list */ - 5, /*! length */ - DM_ADV_TYPE_16_UUID, /*! AD type */ - UINT16_TO_BYTES(ATT_UUID_DEVICE_INFO_SERVICE), - UINT16_TO_BYTES(ATT_UUID_BATTERY_SERVICE) + 17, + DM_ADV_TYPE_128_UUID_PART, + CARD10_UUID_SUFFIX, 0x0, CARD10_UUID_PREFIX }; /*! scan data, discoverable mode */ diff --git a/epicardium/ble/card10.c b/epicardium/ble/card10.c index c7fa728a4..eb9c0a2be 100644 --- a/epicardium/ble/card10.c +++ b/epicardium/ble/card10.c @@ -1,19 +1,17 @@ +#include "ble_api.h" + +#include "epicardium.h" + #include "wsf_types.h" #include "util/bstream.h" #include "wsf_assert.h" #include "att_api.h" -#include "epicardium.h" - #include <stdio.h> #include <string.h> #include <stdbool.h> #include <machine/endian.h> -#define CARD10_UUID_SUFFIX \ - 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23, 0x42, 0x23 -#define CARD10_UUID_PREFIX 0x02, 0x23, 0x42 - /*!< \brief Service start handle. */ #define CARD10_START_HDL 0x920 /*!< \brief Service end handle. */ -- GitLab