diff options
| author | Damien George <damien.p.george@gmail.com> | 2019-11-29 12:48:38 +1100 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2019-12-04 23:23:07 +1100 |
| commit | 7aeafe2ae9f16af74d22604b3090641a664b2da2 (patch) | |
| tree | 35b96bd1aa185aa8563cbdcb2c94e605c9d2c872 /extmod/modbluetooth.h | |
| parent | 9a849cc7caee63560ecd2455a29615a44e2c809f (diff) | |
extmod/modbluetooth: Add optional 4th arg to gattc_write for write mode.
This allows the user to explicitly select the behaviour of the write to the
remote peripheral. This is needed for peripherals that have
characteristics with WRITE_NO_RESPONSE set (instead of normal WRITE). The
function's signature is now:
BLE.gattc_write(conn_handle, value_handle, data, mode=0)
mode=0 means write without response, while mode=1 means write with
response. The latter was the original behaviour so this commit is a change
in behaviour of this method, and one should specify 1 as the 4th argument
to get back the old behaviour.
In the future there could be more modes supported, such as long writes.
Diffstat (limited to 'extmod/modbluetooth.h')
| -rw-r--r-- | extmod/modbluetooth.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/extmod/modbluetooth.h b/extmod/modbluetooth.h index 8a3ab414f..fbae67bc4 100644 --- a/extmod/modbluetooth.h +++ b/extmod/modbluetooth.h @@ -65,6 +65,10 @@ #define MP_BLUETOOTH_CHARACTERISTIC_FLAG_WRITE (1 << 3) #define MP_BLUETOOTH_CHARACTERISTIC_FLAG_NOTIFY (1 << 4) +// For mp_bluetooth_gattc_write, the mode parameter +#define MP_BLUETOOTH_WRITE_MODE_NO_RESPONSE (0) +#define MP_BLUETOOTH_WRITE_MODE_WITH_RESPONSE (1) + // Type value also doubles as length. #define MP_BLUETOOTH_UUID_TYPE_16 (2) #define MP_BLUETOOTH_UUID_TYPE_32 (4) @@ -219,7 +223,7 @@ int mp_bluetooth_gattc_discover_descriptors(uint16_t conn_handle, uint16_t start int mp_bluetooth_gattc_read(uint16_t conn_handle, uint16_t value_handle); // Write the value to the remote peripheral. -int mp_bluetooth_gattc_write(uint16_t conn_handle, uint16_t value_handle, const uint8_t *value, size_t *value_len); +int mp_bluetooth_gattc_write(uint16_t conn_handle, uint16_t value_handle, const uint8_t *value, size_t *value_len, unsigned int mode); #endif ///////////////////////////////////////////////////////////////////////////// |
