|
SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
|
Functions | |
| int | nus_emit_event (const char *json) |
| ส่งเฟรม event แบบ JSON หนึ่งเฟรม (ห้ามใส่ newline ปิดท้าย — ฟังก์ชันเติม LF ให้เอง) คืนค่า 0/-1 เท่านั้น | |
| void | nus_events_push_pending_ack (const char *id) |
| ใส่ id ของ notification ลงใน FIFO ของ ack ที่ค้างอยู่ ตัดรายการซ้ำ และนำรายการเก่าสุดออกเมื่อเต็ม | |
| bool | nus_events_drain_pending_ack (const char *id) |
| เอา id ออกจาก FIFO คืน true เมื่อพบ — เป็นเส้นทาง bento.user.ack ของการแตะบน CM55 | |
| size_t | nus_events_pending_ack_count (void) |
| จำนวน id ที่อยู่ใน FIFO ใช้กับ telemetry และ unit test บนเครื่อง host ไม่มีผู้เรียกที่ใดเลย | |
| void | nus_commands_emit_ack (const char *ack_cmd, size_t ack_cmd_len, const char *ok_true_or_null, const char *error_or_null, int n) |
| ส่ง ack ของคำสั่ง (ชื่อ verb ถูกตัดตายตัวที่ 32 อักขระ) คืนค่า void — ความล้มเหลวในการส่งจึงมองไม่เห็น | |
| void | nus_commands_dispatch (const char *json, size_t json_len, const jsmntok_t *toks, int n_toks, const jsmntok_t *t_cmd) |
| ส่งเฟรมที่มี "cmd" ระดับบนสุดต่อไปยัง handler ของมัน เป็นเรื่องภายในของเส้นทาง RX | |
| void | nus_commands_handle_time_sync (const char *json, const jsmntok_t *toks, int n) |
| จัดการเฟรม {"time":[epoch,tz]} แบบครั้งเดียว ไม่มีการส่ง ack ออกไป | |
7 ฟังก์ชัน: nus_emit_event FIFO ของ ack ที่ค้างอยู่ และการ dispatch ของ nus_commands_* คอมไพล์เฉพาะเมื่อ ENABLE_PAGE_BENTO_BUDDY=1 (ค่าตั้งต้นคือ 0, proj_cm33_ns/Makefile:64, :305) ให้ build ใหม่หลังจาก make getlibs — ดู Flag gate (อ่านก่อน)
การประกาศ: nus_events.h (nus_emit_event และ FIFO ของ ack ที่ค้างอยู่) กับ nus_commands.h (nus_commands_*) โดย nus_commands.h มี #include "vendor/jsmn.h" ซึ่งชุด include ของ dist ไม่ได้มีมาให้ (หมายเหตุเรื่องการแพ็กเกจ header) พารามิเตอร์ชนิด jsmntok_t จึงถูกอธิบายไว้โดยไม่ต้องพึ่ง header นั้น ส่วนการนำไปสร้างจริงใน nus_events.c / nus_commands.c ถูกเก็บไว้ใน libbento_secure.a
| int nus_emit_event | ( | const char * | json | ) |
ส่งเฟรม event แบบ JSON หนึ่งเฟรม (ห้ามใส่ newline ปิดท้าย — ฟังก์ชันเติม LF ให้เอง) คืนค่า 0/-1 เท่านั้น
| void nus_events_push_pending_ack | ( | const char * | id | ) |
ใส่ id ของ notification ลงใน FIFO ของ ack ที่ค้างอยู่ ตัดรายการซ้ำ และนำรายการเก่าสุดออกเมื่อเต็ม
| bool nus_events_drain_pending_ack | ( | const char * | id | ) |
เอา id ออกจาก FIFO คืน true เมื่อพบ — เป็นเส้นทาง bento.user.ack ของการแตะบน CM55
| size_t nus_events_pending_ack_count | ( | void | ) |
จำนวน id ที่อยู่ใน FIFO ใช้กับ telemetry และ unit test บนเครื่อง host ไม่มีผู้เรียกที่ใดเลย
| void nus_commands_emit_ack | ( | const char * | ack_cmd, |
| size_t | ack_cmd_len, | ||
| const char * | ok_true_or_null, | ||
| const char * | error_or_null, | ||
| int | n ) |
ส่ง ack ของคำสั่ง (ชื่อ verb ถูกตัดตายตัวที่ 32 อักขระ) คืนค่า void — ความล้มเหลวในการส่งจึงมองไม่เห็น
| void nus_commands_dispatch | ( | const char * | json, |
| size_t | json_len, | ||
| const jsmntok_t * | toks, | ||
| int | n_toks, | ||
| const jsmntok_t * | t_cmd ) |
ส่งเฟรมที่มี "cmd" ระดับบนสุดต่อไปยัง handler ของมัน เป็นเรื่องภายในของเส้นทาง RX
| void nus_commands_handle_time_sync | ( | const char * | json, |
| const jsmntok_t * | toks, | ||
| int | n ) |
จัดการเฟรม {"time":[epoch,tz]} แบบครั้งเดียว ไม่มีการส่ง ack ออกไป