EucBleClient

class EucBleClient(context: Context, logger: Logger = AndroidLogger(), coroutineScope: CoroutineScope = CoroutineScope(Dispatchers.IO + SupervisorJob()))(source)

Main public entry point for EUC BLE discovery, connection and telemetry.

Protocol registration is fully managed internally; client applications should not register brand-specific protocols, but may inspect and manually select from the registered protocols using getRegisteredProtocols.

Constructors

Link copied to clipboard
constructor(context: Context, logger: Logger = AndroidLogger(), coroutineScope: CoroutineScope = CoroutineScope(Dispatchers.IO + SupervisorJob()))

Properties

Link copied to clipboard
Link copied to clipboard
val rawFrameFlow: SharedFlow<ByteArray>

Functions

Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun cleanup()
Link copied to clipboard
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun connect(device: EUCDevice)
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun disconnect()
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun forceProtocol(protocol: EUCProtocol): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Returns all registered protocols. Callers can use this list to freely choose a protocol for manual selection via selectProtocol or forceProtocol.

Link copied to clipboard
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun selectProtocol(protocol: EUCProtocol): Boolean
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_CONNECT")
fun sendCommand(commandType: CommandType, value: Any = Unit)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
@RequiresApi(value = 23)
@RequiresPermission(value = "android.permission.BLUETOOTH_SCAN")
fun startScan()
Link copied to clipboard
@RequiresPermission(value = "android.permission.BLUETOOTH_SCAN")
fun stopScan()