aboutsummaryrefslogtreecommitdiff
path: root/extmod/modbluetooth.h
diff options
context:
space:
mode:
authorJim Mussared2020-07-20 16:58:10 +1000
committerDamien George2020-07-20 23:26:41 +1000
commit9d823a5d9a6730edde8e1df1e5ff4add1ad17094 (patch)
treeebad885e38b5d7edde4ad0cd16d7eb5447890df1 /extmod/modbluetooth.h
parent3c7ca2004c78ec386e136b947ed5e05a39b61aaf (diff)
extmod/modbluetooth: Add event for "indicate acknowledgement".
This commit adds the IRQ_GATTS_INDICATE_DONE BLE event which will be raised with the status of gatts_indicate (unlike notify, indications require acknowledgement). An example of its use is added to ble_temperature.py, and to the multitests in ble_characteristic.py. Implemented for btstack and nimble bindings, tested in both directions between unix/btstack and pybd/nimble.
Diffstat (limited to 'extmod/modbluetooth.h')
-rw-r--r--extmod/modbluetooth.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/extmod/modbluetooth.h b/extmod/modbluetooth.h
index a232ee2d1..cdb86e5e6 100644
--- a/extmod/modbluetooth.h
+++ b/extmod/modbluetooth.h
@@ -68,6 +68,7 @@
#define MP_BLUETOOTH_CHARACTERISTIC_FLAG_WRITE_NO_RESPONSE (1 << 2)
#define MP_BLUETOOTH_CHARACTERISTIC_FLAG_WRITE (1 << 3)
#define MP_BLUETOOTH_CHARACTERISTIC_FLAG_NOTIFY (1 << 4)
+#define MP_BLUETOOTH_CHARACTERISTIC_FLAG_INDICATE (1 << 5)
// For mp_bluetooth_gattc_write, the mode parameter
#define MP_BLUETOOTH_WRITE_MODE_NO_RESPONSE (0)
@@ -107,6 +108,7 @@
#define MP_BLUETOOTH_IRQ_GATTC_WRITE_DONE (17)
#define MP_BLUETOOTH_IRQ_GATTC_NOTIFY (18)
#define MP_BLUETOOTH_IRQ_GATTC_INDICATE (19)
+#define MP_BLUETOOTH_IRQ_GATTS_INDICATE_DONE (20)
/*
These aren't included in the module for space reasons, but can be used
@@ -132,6 +134,7 @@ _IRQ_GATTC_READ_DONE = const(16)
_IRQ_GATTC_WRITE_DONE = const(17)
_IRQ_GATTC_NOTIFY = const(18)
_IRQ_GATTC_INDICATE = const(19)
+_IRQ_GATTS_INDICATE_DONE = const(20)
*/
// Common UUID type.
@@ -245,6 +248,9 @@ void mp_bluetooth_gap_on_connected_disconnected(uint8_t event, uint16_t conn_han
// Call this when a characteristic is written to.
void mp_bluetooth_gatts_on_write(uint16_t conn_handle, uint16_t value_handle);
+// Call this when an acknowledgment is received for an indication.
+void mp_bluetooth_gatts_on_indicate_complete(uint16_t conn_handle, uint16_t value_handle, uint8_t status);
+
#if MICROPY_PY_BLUETOOTH_GATTS_ON_READ_CALLBACK
// Call this when a characteristic is read from. Return false to deny the read.
bool mp_bluetooth_gatts_on_read_request(uint16_t conn_handle, uint16_t value_handle);