From bdc10744fb338ae197692713a0b48a7ccc36f566 Mon Sep 17 00:00:00 2001 From: JF Date: Sun, 26 Apr 2020 10:25:59 +0200 Subject: Add Nimble in libs directory --- .../ans/include/services/ans/ble_svc_ans.h | 85 ++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/libs/mynewt-nimble/nimble/host/services/ans/include/services/ans/ble_svc_ans.h (limited to 'src/libs/mynewt-nimble/nimble/host/services/ans/include') diff --git a/src/libs/mynewt-nimble/nimble/host/services/ans/include/services/ans/ble_svc_ans.h b/src/libs/mynewt-nimble/nimble/host/services/ans/include/services/ans/ble_svc_ans.h new file mode 100644 index 00000000..435e9e11 --- /dev/null +++ b/src/libs/mynewt-nimble/nimble/host/services/ans/include/services/ans/ble_svc_ans.h @@ -0,0 +1,85 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#ifndef H_BLE_SVC_ANS_ +#define H_BLE_SVC_ANS_ + +struct ble_hs_cfg; + +/* 16 Bit Alert Notification Service UUID */ +#define BLE_SVC_ANS_UUID16 0x1811 + +/* 16 Bit Alert Notification Service Characteristic UUIDs */ +#define BLE_SVC_ANS_CHR_UUID16_SUP_NEW_ALERT_CAT 0x2a47 +#define BLE_SVC_ANS_CHR_UUID16_NEW_ALERT 0x2a46 +#define BLE_SVC_ANS_CHR_UUID16_SUP_UNR_ALERT_CAT 0x2a48 +#define BLE_SVC_ANS_CHR_UUID16_UNR_ALERT_STAT 0x2a45 +#define BLE_SVC_ANS_CHR_UUID16_ALERT_NOT_CTRL_PT 0x2a44 + +/* Alert Notification Service Category ID Bit Masks + * + * TODO: Add remaining 2 optional categories */ +#define BLE_SVC_ANS_CAT_BM_NONE 0x00 +#define BLE_SVC_ANS_CAT_BM_SIMPLE_ALERT 0x01 +#define BLE_SVC_ANS_CAT_BM_EMAIL 0x02 +#define BLE_SVC_ANS_CAT_BM_NEWS 0x04 +#define BLE_SVC_ANS_CAT_BM_CALL 0x08 +#define BLE_SVC_ANS_CAT_BM_MISSED_CALL 0x10 +#define BLE_SVC_ANS_CAT_BM_SMS 0x20 +#define BLE_SVC_ANS_CAT_BM_VOICE_MAIL 0x40 +#define BLE_SVC_ANS_CAT_BM_SCHEDULE 0x80 + +/* Alert Notification Service Category IDs + * + * TODO: Add remaining 2 optional categories */ +#define BLE_SVC_ANS_CAT_ID_SIMPLE_ALERT 0 +#define BLE_SVC_ANS_CAT_ID_EMAIL 1 +#define BLE_SVC_ANS_CAT_ID_NEWS 2 +#define BLE_SVC_ANS_CAT_ID_CALL 3 +#define BLE_SVC_ANS_CAT_ID_MISSED_CALL 4 +#define BLE_SVC_ANS_CAT_ID_SMS 5 +#define BLE_SVC_ANS_CAT_ID_VOICE_MAIL 6 +#define BLE_SVC_ANS_CAT_ID_SCHEDULE 7 + +/* Number of valid ANS categories + * + * TODO: Add remaining 2 optional categories */ +#define BLE_SVC_ANS_CAT_NUM 8 + +/* Alert Notification Control Point Command IDs */ +#define BLE_SVC_ANS_CMD_EN_NEW_ALERT_CAT 0 +#define BLE_SVC_ANS_CMD_EN_UNR_ALERT_CAT 1 +#define BLE_SVC_ANS_CMD_DIS_NEW_ALERT_CAT 2 +#define BLE_SVC_ANS_CMD_DIS_UNR_ALERT_CAT 3 +#define BLE_SVC_ANS_CMD_NOT_NEW_ALERT_IMMEDIATE 4 +#define BLE_SVC_ANS_CMD_NOT_UNR_ALERT_IMMEDIATE 5 + +/* Error Definitions */ +#define BLE_SVC_ANS_ERR_CMD_NOT_SUPPORTED 0xA0 + +void ble_svc_ans_on_gap_connect(uint16_t conn_handle); + +int ble_svc_ans_new_alert_add(uint8_t cat_id, + const char * info_str); +int ble_svc_ans_unr_alert_add(uint8_t cat_id); + +void ble_svc_ans_init(void); + +#endif + -- cgit v1.2.3