You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/11/08 22:55:05 UTC

[15/22] incubator-mynewt-core git commit: update ias package structure into host/services

update ias package structure into host/services


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/635dc153
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/635dc153
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/635dc153

Branch: refs/heads/develop
Commit: 635dc153edc5de4f4389c4878ffbe77b28ff5dd5
Parents: 5091e74
Author: Brian Giori <br...@gmail.com>
Authored: Tue Sep 20 13:42:11 2016 -0700
Committer: Brian Giori <br...@gmail.com>
Committed: Tue Sep 20 13:42:11 2016 -0700

----------------------------------------------------------------------
 .../ias/include/profiles/ias/ble_svc_ias.h      |  40 -----
 net/nimble/host/profiles/ias/pkg.yml            |  32 ----
 net/nimble/host/profiles/ias/src/ble_svc_ias.c  | 146 -------------------
 .../ias/include/services/ias/ble_svc_ias.h      |  40 +++++
 net/nimble/host/services/ias/pkg.yml            |  32 ++++
 net/nimble/host/services/ias/src/ble_svc_ias.c  | 146 +++++++++++++++++++
 6 files changed, 218 insertions(+), 218 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/profiles/ias/include/profiles/ias/ble_svc_ias.h
----------------------------------------------------------------------
diff --git a/net/nimble/host/profiles/ias/include/profiles/ias/ble_svc_ias.h b/net/nimble/host/profiles/ias/include/profiles/ias/ble_svc_ias.h
deleted file mode 100644
index da173cf..0000000
--- a/net/nimble/host/profiles/ias/include/profiles/ias/ble_svc_ias.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * 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_IAS_TPS_
-#define H_BLE_IAS_TPS_
-
-struct ble_hs_cfg;
-
-#define BLE_SVC_IAS_UUID16                                      0x1802
-#define BLE_SVC_IAS_CHR_UUID16_ALERT_LEVEL                      0x2a06
-
-/* Alert level definitions */
-#define BLE_SVC_IAS_ALERT_LEVEL_NO_ALERT                        0
-#define BLE_SVC_IAS_ALERT_LEVEL_MILD_ALERT                      1
-#define BLE_SVC_IAS_ALERT_LEVEL_HIGH_ALERT                      2
-
-typedef int ble_svc_ias_event_fn(uint8_t alert_level); 
-
-int ble_svc_ias_init(struct ble_hs_cfg *cfg, 
-                     ble_svc_ias_event_fn *cb);
-
-#endif
-
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/profiles/ias/pkg.yml
----------------------------------------------------------------------
diff --git a/net/nimble/host/profiles/ias/pkg.yml b/net/nimble/host/profiles/ias/pkg.yml
deleted file mode 100644
index ce05ffe..0000000
--- a/net/nimble/host/profiles/ias/pkg.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# 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.
-#
-
-pkg.name: net/nimble/host/profiles/ias
-pkg.description: Immidiate Alert Service.
-pkg.author: "Apache Mynewt <de...@mynewt.incubator.apache.org>"
-pkg.homepage: "http://mynewt.apache.org/"
-pkg.keywords:
-    - ble 
-    - bluetooth
-    - ias 
-    - nimble
-
-pkg.deps:
-    - net/nimble/host
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/profiles/ias/src/ble_svc_ias.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/profiles/ias/src/ble_svc_ias.c b/net/nimble/host/profiles/ias/src/ble_svc_ias.c
deleted file mode 100644
index 5fce5bd..0000000
--- a/net/nimble/host/profiles/ias/src/ble_svc_ias.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/**
- * 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.
- */
-
-#include <assert.h>
-#include <string.h>
-#include "host/ble_hs.h"
-#include "profiles/ias/ble_svc_ias.h"
-
-/* Callback function */
-static ble_svc_ias_event_fn *ble_svc_ias_cb_fn;
-/* Alert level */
-static uint8_t ble_svc_ias_alert_level;
-
-/* Write characteristic function */
-static int
-ble_svc_ias_chr_write(struct os_mbuf *om, uint16_t min_len,
-                      uint16_t max_len, void *dst,
-                      uint16_t *len);
-
-/* Access function */
-static int
-ble_svc_ias_access(uint16_t conn_handle, uint16_t attr_handle,
-                   struct ble_gatt_access_ctxt *ctxt, void *arg);
-
-static const struct ble_gatt_svc_def ble_svc_ias_defs[] = {
-    {
-        /*** Service: Immediate Alert Service (IAS). */
-        .type = BLE_GATT_SVC_TYPE_PRIMARY,
-        .uuid128 = BLE_UUID16(BLE_SVC_IAS_UUID16),
-        .characteristics = (struct ble_gatt_chr_def[]) { {
-            /*** Characteristic: Alert Level. */
-            .uuid128 = BLE_UUID16(BLE_SVC_IAS_CHR_UUID16_ALERT_LEVEL),
-            .access_cb = ble_svc_ias_access,
-            .flags = BLE_GATT_CHR_F_WRITE_NO_RSP,
-        }, {
-            0, /* No more characteristics in this service. */
-        } },
-    },
-
-    {
-        0, /* No more services. */
-    },
-};
-
-/**
- * Writes the received value from a characteristic write to 
- * the given destination.
- */
-static int
-ble_svc_ias_chr_write(struct os_mbuf *om, uint16_t min_len, 
-                      uint16_t max_len, void *dst, 
-                      uint16_t *len)
-{
-    uint16_t om_len;
-    int rc; 
-
-    om_len = OS_MBUF_PKTLEN(om);
-    if (om_len < min_len || om_len > max_len) {
-        return BLE_ATT_ERR_INVALID_ATTR_VALUE_LEN;
-    }   
-
-    rc = ble_hs_mbuf_to_flat(om, dst, max_len, len);
-    if (rc != 0) {
-        return BLE_ATT_ERR_UNLIKELY;
-    }   
-
-    return 0;
-}
-
-/**
- * Simple write access callback for the alert level
- * characteristic.
- */
-static int
-ble_svc_ias_access(uint16_t conn_handle, uint16_t attr_handle,
-                   struct ble_gatt_access_ctxt *ctxt, void *arg)
-{
-    int rc;
-    
-    assert(ctxt->chr == &ble_svc_ias_defs[0].characteristics[0]);
-    
-    switch (ctxt->op) {
-    case BLE_GATT_ACCESS_OP_WRITE_CHR:
-        rc = ble_svc_ias_chr_write(ctxt->om,
-                                   sizeof ble_svc_ias_alert_level,
-                                   sizeof ble_svc_ias_alert_level,
-                                   &ble_svc_ias_alert_level, NULL);
-        /* Call the IAS event function */
-        ble_svc_ias_cb_fn(ble_svc_ias_alert_level);
-        return rc;
-
-    default:
-        assert(0);
-        return BLE_ATT_ERR_UNLIKELY;
-    }
-
-    return 0;
-}
-
-/**
- * Initialize the IAS. The developer must specify the event function
- * callback for the IAS to function properly.
- *
- * @param cb                        The callback function to call when 
- *                                      the client signals an alert.
- */
-int
-ble_svc_ias_init(struct ble_hs_cfg *cfg, ble_svc_ias_event_fn *cb)
-{
-    int rc;
-    
-    if (!cb) {
-        return BLE_HS_EINVAL;
-    }
-
-    ble_svc_ias_cb_fn = cb;
-
-    rc = ble_gatts_count_cfg(ble_svc_ias_defs, cfg);
-    if (rc != 0) {
-        return rc;
-    }
-
-    rc = ble_gatts_add_svcs(ble_svc_ias_defs);
-    if (rc != 0) {
-        return rc;
-    }
-
-    return 0;
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/services/ias/include/services/ias/ble_svc_ias.h
----------------------------------------------------------------------
diff --git a/net/nimble/host/services/ias/include/services/ias/ble_svc_ias.h b/net/nimble/host/services/ias/include/services/ias/ble_svc_ias.h
new file mode 100644
index 0000000..da173cf
--- /dev/null
+++ b/net/nimble/host/services/ias/include/services/ias/ble_svc_ias.h
@@ -0,0 +1,40 @@
+/**
+ * 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_IAS_TPS_
+#define H_BLE_IAS_TPS_
+
+struct ble_hs_cfg;
+
+#define BLE_SVC_IAS_UUID16                                      0x1802
+#define BLE_SVC_IAS_CHR_UUID16_ALERT_LEVEL                      0x2a06
+
+/* Alert level definitions */
+#define BLE_SVC_IAS_ALERT_LEVEL_NO_ALERT                        0
+#define BLE_SVC_IAS_ALERT_LEVEL_MILD_ALERT                      1
+#define BLE_SVC_IAS_ALERT_LEVEL_HIGH_ALERT                      2
+
+typedef int ble_svc_ias_event_fn(uint8_t alert_level); 
+
+int ble_svc_ias_init(struct ble_hs_cfg *cfg, 
+                     ble_svc_ias_event_fn *cb);
+
+#endif
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/services/ias/pkg.yml
----------------------------------------------------------------------
diff --git a/net/nimble/host/services/ias/pkg.yml b/net/nimble/host/services/ias/pkg.yml
new file mode 100644
index 0000000..39242f4
--- /dev/null
+++ b/net/nimble/host/services/ias/pkg.yml
@@ -0,0 +1,32 @@
+
+# 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.
+#
+
+pkg.name: net/nimble/host/services/ias
+pkg.description: Immidiate Alert Service Implementation.
+pkg.author: "Apache Mynewt <de...@mynewt.incubator.apache.org>"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
+    - ble 
+    - bluetooth
+    - ias 
+    - nimble
+
+pkg.deps:
+    - net/nimble/host
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/635dc153/net/nimble/host/services/ias/src/ble_svc_ias.c
----------------------------------------------------------------------
diff --git a/net/nimble/host/services/ias/src/ble_svc_ias.c b/net/nimble/host/services/ias/src/ble_svc_ias.c
new file mode 100644
index 0000000..07b98f1
--- /dev/null
+++ b/net/nimble/host/services/ias/src/ble_svc_ias.c
@@ -0,0 +1,146 @@
+/**
+ * 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.
+ */
+
+#include <assert.h>
+#include <string.h>
+#include "host/ble_hs.h"
+#include "services/ias/ble_svc_ias.h"
+
+/* Callback function */
+static ble_svc_ias_event_fn *ble_svc_ias_cb_fn;
+/* Alert level */
+static uint8_t ble_svc_ias_alert_level;
+
+/* Write characteristic function */
+static int
+ble_svc_ias_chr_write(struct os_mbuf *om, uint16_t min_len,
+                      uint16_t max_len, void *dst,
+                      uint16_t *len);
+
+/* Access function */
+static int
+ble_svc_ias_access(uint16_t conn_handle, uint16_t attr_handle,
+                   struct ble_gatt_access_ctxt *ctxt, void *arg);
+
+static const struct ble_gatt_svc_def ble_svc_ias_defs[] = {
+    {
+        /*** Service: Immediate Alert Service (IAS). */
+        .type = BLE_GATT_SVC_TYPE_PRIMARY,
+        .uuid128 = BLE_UUID16(BLE_SVC_IAS_UUID16),
+        .characteristics = (struct ble_gatt_chr_def[]) { {
+            /*** Characteristic: Alert Level. */
+            .uuid128 = BLE_UUID16(BLE_SVC_IAS_CHR_UUID16_ALERT_LEVEL),
+            .access_cb = ble_svc_ias_access,
+            .flags = BLE_GATT_CHR_F_WRITE_NO_RSP,
+        }, {
+            0, /* No more characteristics in this service. */
+        } },
+    },
+
+    {
+        0, /* No more services. */
+    },
+};
+
+/**
+ * Writes the received value from a characteristic write to 
+ * the given destination.
+ */
+static int
+ble_svc_ias_chr_write(struct os_mbuf *om, uint16_t min_len, 
+                      uint16_t max_len, void *dst, 
+                      uint16_t *len)
+{
+    uint16_t om_len;
+    int rc; 
+
+    om_len = OS_MBUF_PKTLEN(om);
+    if (om_len < min_len || om_len > max_len) {
+        return BLE_ATT_ERR_INVALID_ATTR_VALUE_LEN;
+    }   
+
+    rc = ble_hs_mbuf_to_flat(om, dst, max_len, len);
+    if (rc != 0) {
+        return BLE_ATT_ERR_UNLIKELY;
+    }   
+
+    return 0;
+}
+
+/**
+ * Simple write access callback for the alert level
+ * characteristic.
+ */
+static int
+ble_svc_ias_access(uint16_t conn_handle, uint16_t attr_handle,
+                   struct ble_gatt_access_ctxt *ctxt, void *arg)
+{
+    int rc;
+    
+    assert(ctxt->chr == &ble_svc_ias_defs[0].characteristics[0]);
+    
+    switch (ctxt->op) {
+    case BLE_GATT_ACCESS_OP_WRITE_CHR:
+        rc = ble_svc_ias_chr_write(ctxt->om,
+                                   sizeof ble_svc_ias_alert_level,
+                                   sizeof ble_svc_ias_alert_level,
+                                   &ble_svc_ias_alert_level, NULL);
+        /* Call the IAS event function */
+        ble_svc_ias_cb_fn(ble_svc_ias_alert_level);
+        return rc;
+
+    default:
+        assert(0);
+        return BLE_ATT_ERR_UNLIKELY;
+    }
+
+    return 0;
+}
+
+/**
+ * Initialize the IAS. The developer must specify the event function
+ * callback for the IAS to function properly.
+ *
+ * @param cb                        The callback function to call when 
+ *                                      the client signals an alert.
+ */
+int
+ble_svc_ias_init(struct ble_hs_cfg *cfg, ble_svc_ias_event_fn *cb)
+{
+    int rc;
+    
+    if (!cb) {
+        return BLE_HS_EINVAL;
+    }
+
+    ble_svc_ias_cb_fn = cb;
+
+    rc = ble_gatts_count_cfg(ble_svc_ias_defs, cfg);
+    if (rc != 0) {
+        return rc;
+    }
+
+    rc = ble_gatts_add_svcs(ble_svc_ias_defs);
+    if (rc != 0) {
+        return rc;
+    }
+
+    return 0;
+}
+