SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
Loading...
Searching...
No Matches
ble_nus.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  ble_nus_config_t
struct  ble_nus_diag_t

Macros

#define BLE_NUS_MAX_PAYLOAD   244

Typedefs

typedef void(*) ble_nus_rx_cb_t(const uint8_t *data, size_t len, void *user_ctx)
typedef void(*) ble_nus_state_cb_t(ble_nus_state_t state, void *user_ctx)

Enumerations

enum  ble_nus_state_t { BLE_NUS_STATE_OFF = 0 , BLE_NUS_STATE_ADVERTISING , BLE_NUS_STATE_CONNECTED , BLE_NUS_STATE_ERROR }

Functions

bool ble_nus_init (const ble_nus_config_t *cfg)
 เริ่มต้น AIROC stack แล้วเริ่มการกระจายสัญญาณ (advertising) การเรียกในช่วงบูตต้องเป็นของ task จ่ายไฟชิป
int ble_nus_send (const uint8_t *data, size_t len)
 ส่งไบต์ออกทาง NUS TX คืน -1 เว้นแต่เชื่อมต่ออยู่และเปิด notification ไว้ มี weak stub อยู่แล้วตั้งแต่ก่อน init
void ble_nus_deinit (void)
 หยุดแบบ soft: ยุติการกระจายสัญญาณและตัด link แต่คง AIROC host stack ไว้ให้ทำงานต่อ
void ble_nus_rearm_advertising (void)
 เปิดการกระจายสัญญาณใหม่บน stack ที่ init ไว้แล้ว เป็น idempotent จากทุกสถานะ
ble_nus_state_t ble_nus_get_state (void)
 อ่านค่า state โดยไม่ต้องจับ lock ปลอดภัยตั้งแต่ก่อน init เฟิร์มแวร์เลือกวนถามค่านี้แทนการเชื่อ callback
const char * ble_nus_get_adv_name (void)
 พอยน์เตอร์ไปยังชื่อ Bento-XXXX สำหรับการกระจายสัญญาณซึ่งเป็น static คืน NULL จนกว่าจะคลี่ค่า BD address ได้
void ble_nus_passkey_cb (const char *passkey_6_digits)
 callback แบบ weak สำหรับ passkey ของการจับคู่ (pairing) ยังไม่ถูกเรียกใช้ในบิลด์นี้
void ble_nus_get_diagnostics (ble_nus_diag_t *out)
 เติม snapshot ข้อมูลวินิจฉัย (diagnostics) ที่ผู้เรียกเป็นเจ้าของ — คือบล็อก _diag.ble ของ bento.fw.query

Macro Definition Documentation

◆ BLE_NUS_MAX_PAYLOAD

#define BLE_NUS_MAX_PAYLOAD   244

Max payload size per NUS frame (BLE MTU 247 minus ATT header).

Typedef Documentation

◆ ble_nus_rx_cb_t

typedef void(*) ble_nus_rx_cb_t(const uint8_t *data, size_t len, void *user_ctx)

RX callback invoked from BLE task context when host writes to NUS RX. Payload is NOT null-terminated. Copy before returning.

◆ ble_nus_state_cb_t

typedef void(*) ble_nus_state_cb_t(ble_nus_state_t state, void *user_ctx)

State-change callback (advertising -> connected -> disconnected).

Enumeration Type Documentation

◆ ble_nus_state_t

Connection state reported to higher layers.

Enumerator
BLE_NUS_STATE_OFF 
BLE_NUS_STATE_ADVERTISING 
BLE_NUS_STATE_CONNECTED 
BLE_NUS_STATE_ERROR