PRIMARY_SERVICE_UUID16 (1, UUID_SERVICE_GAP), //<Name>watch</Name> //Characteristic 'Device Name' CHARACTERISTIC_UUID16(2, 3, UUID_CHARACTERISTIC_DEVICE_NAME, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 16), //UTF-8 'Device Name' watch 'M','y',' ','W','a','t','c','h',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //<Appearance>Unknown</Appearance> //Characteristic 'Appearance' CHARACTERISTIC_UUID16(4, 5, UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 2), BIT16_TO_8(APPEARANCE_GENERIC_WATCH), CHARACTERISTIC_UUID16(6, 7, UUID_CHARACTERISTIC_PERIPHERAL_PREFERRED_CONNECTION_PARAMETERS, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 8), 0x06, 0x00, 0x06, 0x00, 0x0a, 0x00, 0x32, 0x00, // ***** GATT service //Handle HDLS_GATT: GATT service PRIMARY_SERVICE_UUID16 (8, UUID_SERVICE_GATT), // ***** Primary service 'Human Interface Device' //<Name>Human Interface Device</Name> //<Uuid>1812</Uuid> //Service handle: HDLS_HID //Service UUID: UUID_SERVICE_HID
PRIMARY_SERVICE_UUID16 (0x0001, UUID_SERVICE_GATT), // Handle 0x02: characteristic Service Changed, handle 0x03 characteristic value CHARACTERISTIC_UUID16 (0x0002, 0x0003, UUID_CHARACTERISTIC_SERVICE_CHANGED, LEGATTDB_CHAR_PROP_INDICATE, LEGATTDB_PERM_NONE, 4), 0x00, 0x00, 0x00, 0x00, // Handle 0x14: GAP service PRIMARY_SERVICE_UUID16 (0x0014, UUID_SERVICE_GAP), // Handle 0x15: characteristic Device Name, handle 0x16 characteristic value CHARACTERISTIC_UUID16 (0x0015, 0x0016, UUID_CHARACTERISTIC_DEVICE_NAME, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 16), 'B','L','E',' ','B','P',' ','M','o','n','i','t','o','r',0,0, // "BLE BP Monitor" // Handle 0x17: characteristic Appearance, handle 0x18 characteristic value CHARACTERISTIC_UUID16 (0x0017, 0x0018, UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 2), BIT16_TO_8(APPEARANCE_GENERIC_BLOOD_PRESSURE), // Handle 0x28: Blood Pressure Service PRIMARY_SERVICE_UUID16 (0x0028, UUID_SERVICE_BLOOD_PRESSURE), // Handle 0x29: characteristic Blood Pressure Measurement, handle 0x2a characteristic value CHARACTERISTIC_UUID16 (0x0029, 0x002a, UUID_CHARACTERISTIC_BLOOD_PRESSURE_MEASUREMENT, LEGATTDB_CHAR_PROP_INDICATE, LEGATTDB_PERM_NONE, 11), 0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Handle 0x2b: Client Configuration descriptor CHAR_DESCRIPTOR_UUID16_WRITABLE (0x002b, UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION, LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_CMD |LEGATTDB_PERM_WRITE_REQ, 2), 0x00,0x00, CHARACTERISTIC_UUID16 (0x002c, 0x002d, UUID_CHARACTERISTIC_INTERMEDIATE_BLOOD_PRESSURE,
const BLE_PROFILE_CFG line_cook_w_names_cfg = { /*.fine_timer_interval =*/ LINE_COOK_W_NAMES_FINE_TIMER, // ms /*.default_adv =*/ 4, // HIGH_UNDIRECTED_DISCOVERABLE /*.button_adv_toggle =*/ 0, // pairing button make adv toggle (if 1) or always on (if 0) /*.high_undirect_adv_interval =*/ 32, // slots /*.low_undirect_adv_interval =*/ 1024, // slots /*.high_undirect_adv_duration =*/ 30, // seconds /*.low_undirect_adv_duration =*/ 300, // seconds /*.high_direct_adv_interval =*/ 0, // seconds /*.low_direct_adv_interval =*/ 0, // seconds /*.high_direct_adv_duration =*/ 0, // seconds /*.low_direct_adv_duration =*/ 0, // seconds /*.local_name =*/ LINE_COOK_W_NAMES_DEVICE_NAME, // [LOCAL_NAME_LEN_MAX]; /*.cod =*/ BIT16_TO_8(LINE_COOK_W_NAMES_DEVICE_APPEARENCE),0x00, // [COD_LEN]; /*.ver =*/ "1.00", // [VERSION_LEN]; /*.encr_required =*/ 0, //(SECURITY_ENABLED | SECURITY_REQUEST), // data encrypted and device sends security request on every connection /*.disc_required =*/ 0, // if 1, disconnection after confirmation /*.test_enable =*/ 1, // TEST MODE is enabled when 1 /*.tx_power_level =*/ 0x04, // dbm /*.con_idle_timeout =*/ 30, // second 0-> no timeout /*.powersave_timeout =*/ 0, // second 0-> no timeout /*.hdl =*/ {LINE_COOK_W_NAMES_MAIN_CHAR_HANDLE, 0x00, 0x00, 0x00, 0x00}, // [HANDLE_NUM_MAX]; /*.serv =*/ {LINE_COOK_W_NAMES_MAIN_SERVICE_UUID, 0x00, 0x00, 0x00, 0x00}, /*.cha =*/ {LINE_COOK_W_NAMES_MAIN_CHAR_UUID, 0x00, 0x00, 0x00, 0x00}, /*.findme_locator_enable =*/ 0, // if 1 Find me locator is enable /*.findme_alert_level =*/ 0, // alert level of find me /*.client_grouptype_enable =*/ 0, // if 1 grouptype read can be used /*.linkloss_button_enable =*/ 0, // if 1 linkloss button is enable /*.pathloss_check_interval =*/ 0, // second
// GATT databse const UINT8 blecsc_db_data[]= { // Handle 0x01: GATT service PRIMARY_SERVICE_UUID16 (0x0001, UUID_SERVICE_GATT), // Handle 0x14: GAP service PRIMARY_SERVICE_UUID16 (0x0014, UUID_SERVICE_GAP), // Handle 0x15: characteristic Device Name, handle 0x16 characteristic value CHARACTERISTIC_UUID16 (0x0015, 0x0016, UUID_CHARACTERISTIC_DEVICE_NAME, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 16), 'B','L','E',' ','C','y','c','l','i','n','g',0x00,0x00,0x00,0x00,0x00, // Handle 0x17: characteristic Appearance, handle 0x18 characteristic value CHARACTERISTIC_UUID16 (0x0017, 0x0018, UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 2), BIT16_TO_8(APPEARANCE_CYCLING_SPEED_AND_CADENCE_SENSOR), // Handle 0x28: Cycling Speed and Cadence PRIMARY_SERVICE_UUID16 (0x0028, UUID_SERVICE_CSC), // Handle 0x29: characteristic CSC Measurement, handle 0x2a characteristic value #define HANDLE_CSC_MEASUREMENT_VALUE 0x2a CHARACTERISTIC_UUID16 (0x0029, HANDLE_CSC_MEASUREMENT_VALUE, UUID_CHARACTERISTIC_CSC_MEASUREMENT, LEGATTDB_CHAR_PROP_NOTIFY, LEGATTDB_PERM_NONE, 11), 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Handle 0x2b: Client Configuration descriptor #define HANDLE_CSC_MEASUREMENT_CLIENT_CONFIGURATION_DESCRIPTOR 0x2b CHAR_DESCRIPTOR_UUID16_WRITABLE (HANDLE_CSC_MEASUREMENT_CLIENT_CONFIGURATION_DESCRIPTOR, UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION, LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_REQ, 2), 0x00,0x00,
HDLC_GENERIC_ACCESS_DEVICE_NAME_VALUE, UUID_CHARACTERISTIC_DEVICE_NAME, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 16), 'l','o','n','g','_','c','h','a','r',0x00,0x00,0x00,0x00,0x00,0x00,0x00, //<Name>Appearance</Name> //<Uuid>2A01</Uuid> CHARACTERISTIC_UUID16 (HDLC_GENERIC_ACCESS_APPEARANCE, HDLC_GENERIC_ACCESS_APPEARANCE_VALUE, UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 2), BIT16_TO_8(APPEARANCE_GENERIC_TAG), // ***** Primary service 'Generic Attribute' //<Name>Generic Attribute</Name> //<Uuid>1801</Uuid> //Service handle: HDLS_GENERIC_ATTRIBUTE //Service UUID: UUID_SERVICE_GATT PRIMARY_SERVICE_UUID16 (HDLS_GENERIC_ATTRIBUTE, UUID_SERVICE_GATT), // ***** Primary service 'long_characteristic' //<Name>long_characteristic</Name> //<Uuid>bf 90 21 8e c0 68 4c 00 84 01 2d ba 08 ab 32 88</Uuid> //Service handle: HDLS_LONG_CHARACTERISTIC //Service UUID: UUID_LONG_CHAR_SERVICE PRIMARY_SERVICE_UUID128 (HDLS_LONG_CHARACTERISTIC, UUID_LONG_CHAR_SERVICE),
PLACE_IN_DROM const UINT8 blehrm_db_data[]= { // GATT service PRIMARY_SERVICE_UUID16 (0x0001, UUID_SERVICE_GATT), CHARACTERISTIC_UUID16 (0x0002, 0x0003, UUID_CHARACTERISTIC_SERVICE_CHANGED, LEGATTDB_CHAR_PROP_NOTIFY, LEGATTDB_PERM_NONE, 4), 0x00, 0x00, 0x00, 0x00, // GAP service PRIMARY_SERVICE_UUID16 (0x0014, UUID_SERVICE_GAP), CHARACTERISTIC_UUID16 (0x0015, 0x0016, UUID_CHARACTERISTIC_DEVICE_NAME, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 16), 'B','L','E',' ','H','R',' ','M','o','n','i','t','o','r',0x00,0x00, CHARACTERISTIC_UUID16 (0x0017, 0x0018, UUID_CHARACTERISTIC_APPEARANCE, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 2), BIT16_TO_8(APPEARANCE_GENERIC_HEART_RATE_SENSOR), // Heart Rate service PRIMARY_SERVICE_UUID16 (0x0028, UUID_SERVICE_HEART_RATE), CHARACTERISTIC_UUID16 (0x0029, 0x002a, UUID_CHARACTERISTIC_HEART_RATE_MEASUREMENT, LEGATTDB_CHAR_PROP_NOTIFY, LEGATTDB_PERM_NONE, 4), 0x08,0x00,0x00,0x00, CHAR_DESCRIPTOR_UUID16_WRITABLE (0x002b, UUID_DESCRIPTOR_CLIENT_CHARACTERISTIC_CONFIGURATION, LEGATTDB_PERM_READABLE | LEGATTDB_PERM_WRITE_CMD |LEGATTDB_PERM_WRITE_REQ, 2), 0x00,0x00, CHARACTERISTIC_UUID16 (0x002e, 0x002f, UUID_CHARACTERISTIC_HEART_RATE_SENSOR_LOCATION, LEGATTDB_CHAR_PROP_READ, LEGATTDB_PERM_READABLE, 1), 0x01, // Body Sensor Location Chest