std.hardware.bluetooth_gatts

Die Server-Seite: das eigene Programm tritt als BLE-Gerät auf und stellt Charakteristiken bereit, die andere lesen, beschreiben und abonnieren können.

Eine Charakteristik wird über ihren Eintrag in einem Definitionspuffer beschrieben — UUID, Eigenschaften (lesbar, schreibbar, benachrichtigend) und ein Zeiger auf den aktuellen Wert. Die GattsCharDef*-Funktionen setzen und lesen diese Felder.

GattServerRegister meldet die Dienste bei BlueZ an; GattServerHandleNext verarbeitet die nächste eingehende Anfrage; GattServerSendNotification schiebt einen geänderten Wert aktiv zu allen Abonnenten.

Die Anmeldung läuft über den D-Bus von BlueZ — der Deskriptor dafür kommt aus bluetooth_dbus.

std.hardware.bluetooth — Übersicht · Bluetooth-Guide · Standard Library


Schnittstelle

Signatur
GattsCharDefUUID(buf: int64, idx: int64): int64
GattsCharDefProps(buf: int64, idx: int64): int64
GattsCharDefValuePtr(buf: int64, idx: int64): int64
GattsCharDefValueLen(buf: int64, idx: int64): int64
GattsCharDefSetValue(buf: int64, idx: int64, ptr: int64, len: int64)
GattServerRegister(dbusFd: int64, adapterPath: int64, pathLen: int64): int64
GattServerHandleNext(fd: int64, svcUUID: int64, charDefs: int64, charCount: int64): int64
GattServerSendNotification(fd: int64, charPath: int64, pathLen: int64, data: int64, dataLen: int64): int64
Konstante Wert Bedeutung
GATTS_CHAR_DEF_SIZE 32

Quelle: std/hardware/bluetooth_gatts.lyx · geprüft mit lyxc 1.0.17E · Stand 2026-08-12