#ifndef BT_UART_H #define BT_UART_H /* * bt_uart — DX-BT24 Bluetooth module UART driver * * The DX-BT24 is a UART-transparent BLE module. Whatever is written to the * serial port is forwarded verbatim over BLE to the connected iOS/Android app. * * Usage (normal operation — module already at 115200): * bt_uart_init("/dev/ttyS1", 0) — do_at_probe=0: skip AT commands * bt_uart_send_json(json_str) — every event, thread-safe * bt_uart_close() — shutdown (optional) * * First-time / factory-reset setup (module at factory default 9600): * bt_uart_init("/dev/ttyS1", 1) — do_at_probe=1: negotiate baud via AT * After success, set bt_at_probe = 0 in INI — never probe again. */ /* Open and configure the UART to the BT module. * dev: device path, e.g. "/dev/ttyS1" (NULL or "" = disabled). * do_at_probe: 0 = open directly at 115200 (normal operation, no AT sent). * 1 = run AT baud negotiation first (one-time setup only). * Returns 0 on success, -1 on failure / disabled. */ int bt_uart_init(const char *dev, int do_at_probe); /* Write JSON bytes to the BT module (no CRLF added). Thread-safe. No-op if not init'd. */ void bt_uart_send_json(const char *json); /* Close the UART fd and release resources. */ void bt_uart_close(void); #endif /* BT_UART_H */