SimpleBLE

API Reference

Reference for the SimpleCBLE C API.

The SimpleCBLE API provides a C-compatible interface for SimpleBLE. It relies on handles (simpleble_adapter_t, simpleble_peripheral_t) to manage objects.

General

Memory Management

General Functions

void simpleble_free(void* handle)

Adapter

simpleble_adapter_t

simpleble_adapter_t

Handle representing a physical Bluetooth adapter. You must release this handle using simpleble_adapter_release_handle when done.

Lifecycle and Info

size_t simpleble_adapter_get_count(void)
simpleble_adapter_t simpleble_adapter_get_handle(size_t index)
void simpleble_adapter_release_handle(simpleble_adapter_t handle)
bool simpleble_adapter_is_bluetooth_enabled(void)
char* simpleble_adapter_identifier(simpleble_adapter_t handle)
char* simpleble_adapter_address(simpleble_adapter_t handle)

Scanning

simpleble_err_t simpleble_adapter_scan_start(simpleble_adapter_t handle)
simpleble_err_t simpleble_adapter_scan_stop(simpleble_adapter_t handle)
simpleble_err_t simpleble_adapter_scan_for(simpleble_adapter_t handle, int timeout_ms)
simpleble_err_t simpleble_adapter_scan_is_active(simpleble_adapter_t handle, bool* active)
size_t simpleble_adapter_scan_get_results_count(simpleble_adapter_t handle)
simpleble_peripheral_t simpleble_adapter_scan_get_results_handle(simpleble_adapter_t handle, size_t index)

Callbacks

simpleble_err_t simpleble_adapter_set_callback_on_scan_start(simpleble_adapter_t handle, void (*callback)(simpleble_adapter_t adapter, void* userdata), void* userdata)
simpleble_err_t simpleble_adapter_set_callback_on_scan_stop(simpleble_adapter_t handle, void (*callback)(simpleble_adapter_t adapter, void* userdata), void* userdata)
simpleble_err_t simpleble_adapter_set_callback_on_scan_found(simpleble_adapter_t handle, void (*callback)(simpleble_adapter_t adapter, simpleble_peripheral_t peripheral, void* userdata), void* userdata)
simpleble_err_t simpleble_adapter_set_callback_on_scan_updated(simpleble_adapter_t handle, void (*callback)(simpleble_adapter_t adapter, simpleble_peripheral_t peripheral, void* userdata), void* userdata)

Peripheral

simpleble_peripheral_t

simpleble_peripheral_t

Handle representing a remote Bluetooth device. You must release this handle using simpleble_peripheral_release_handle when done.

Lifecycle and Info

void simpleble_peripheral_release_handle(simpleble_peripheral_t handle)
char* simpleble_peripheral_identifier(simpleble_peripheral_t handle)
char* simpleble_peripheral_address(simpleble_peripheral_t handle)
int16_t simpleble_peripheral_rssi(simpleble_peripheral_t handle)

Connection

simpleble_err_t simpleble_peripheral_connect(simpleble_peripheral_t handle)
simpleble_err_t simpleble_peripheral_disconnect(simpleble_peripheral_t handle)
simpleble_err_t simpleble_peripheral_is_connected(simpleble_peripheral_t handle, bool* connected)
simpleble_err_t simpleble_peripheral_is_connectable(simpleble_peripheral_t handle, bool* connectable)

Services and Data

size_t simpleble_peripheral_services_count(simpleble_peripheral_t handle)
simpleble_err_t simpleble_peripheral_services_get(simpleble_peripheral_t handle, size_t index, simpleble_service_t* service)
size_t simpleble_peripheral_manufacturer_data_count(simpleble_peripheral_t handle)
simpleble_err_t simpleble_peripheral_manufacturer_data_get(simpleble_peripheral_t handle, size_t index, simpleble_manufacturer_data_t* manufacturer_data)

GATT Operations

simpleble_err_t simpleble_peripheral_read(simpleble_peripheral_t handle, char* service, char* characteristic, uint8_t** data, size_t* data_length)
simpleble_err_t simpleble_peripheral_write_request(simpleble_peripheral_t handle, char* service, char* characteristic, uint8_t* data, size_t data_length)
simpleble_err_t simpleble_peripheral_write_command(simpleble_peripheral_t handle, char* service, char* characteristic, uint8_t* data, size_t data_length)
simpleble_err_t simpleble_peripheral_notify(simpleble_peripheral_t handle, char* service, char* characteristic, void (*callback)(simpleble_uuid_t service, simpleble_uuid_t characteristic, uint8_t* data, size_t data_length, void* userdata), void* userdata)
simpleble_err_t simpleble_peripheral_indicate(simpleble_peripheral_t handle, char* service, char* characteristic, void (*callback)(simpleble_uuid_t service, simpleble_uuid_t characteristic, uint8_t* data, size_t data_length, void* userdata), void* userdata)
simpleble_err_t simpleble_peripheral_unsubscribe(simpleble_peripheral_t handle, char* service, char* characteristic)

On this page