SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
Loading...
Searching...
No Matches
ผลลัพธ์ registry และการ settle

Functions

bool ai_engine_snapshot (ai_result_t *out)
 คัดลอกผลตัดสินล่าสุดจากโมเดลตัวใดก็ได้ — ใช้ไม่ได้ภายใน set
bool ai_engine_snapshot_model (uint32_t index, ai_result_t *out)
 ผลตัดสินล่าสุดของโมเดลหนึ่งตัว — เป็นตัวอ่านที่ต้องใช้ภายใน set
uint32_t ai_engine_model_count (void)
 มีโมเดลลงทะเบียนไว้กี่ตัว; ค่านับนำหน้าแถวจริง
const ai_model_desc_t * ai_engine_model (uint32_t index)
 รายการใน registry คืน NULL หากอยู่นอกช่วง — และคืน NULL สำหรับดัชนีเทียมของ set
bool ai_engine_mic_settling (void)
 เป็น true ในช่วงไม่กี่วินาทีหลังจาก set เริ่มทำงาน ขณะที่ข้อมูลนำเข้ากำลังตั้งตัว; ผลตัดสินจะถูกระงับไว้
uint32_t ai_engine_mic_settle_pct (void)
 ความคืบหน้าของการ settle 0..100; มีความหมายเฉพาะภายใน set เท่านั้น (นอกนั้นได้ 100)

Detailed Description

ฟังก์ชัน 6 ตัว: ตัวอ่านผลลัพธ์ 2 ตัว (พร้อมเงื่อนไขว่าแต่ละตัวใช้ได้เมื่อใด) คู่ฟังก์ชันไล่รายการใน registry และค่าอ่านการ settle 2 ค่าที่ set เปิดให้ใช้

variant ที่ใช้ได้
mtb-mpy และ mtb-only

Function Documentation

◆ ai_engine_snapshot()

bool ai_engine_snapshot ( ai_result_t * out)

คัดลอกผลตัดสินล่าสุดจากโมเดลตัวใดก็ได้ — ใช้ไม่ได้ภายใน set

Copy the latest result. Returns false if nothing has been published yet.

ข้อกำหนดการเรียกใช้
คัดลอกผลตัดสินล่าสุดที่เผยแพร่ไว้ จากโมเดลตัวใดก็ได้; คืน false หากยังไม่มีการเผยแพร่ใด ๆ จึง ใช้ไม่ได้ภายใน set — การตรวจจับเสียงไอที่ 0.94 จะถูกตามด้วยผล "unlabelled" จากสมาชิกอีกสามตัวก่อนที่จะมีใครอ่าน การตรวจจับนั้นไม่ได้มาช้า แต่หายไปแล้ว ให้แตกสาขาจากการที่ ai_engine_active() อยู่ในช่วง [AI_PARALLEL_FIRST, AI_PARALLEL_MIC] แล้วในกรณีนั้นใช้ ai_engine_snapshot_model() ทีละสมาชิก การทดสอบต้องครอบคลุมทั้งช่วง ไม่ใช่ == AI_PARALLEL_MIC ซึ่งครอบคลุมเพียงหนึ่งในสี่ set ให้ย่อผลลัพธ์ด้วย ai_result_top_positive() — ai_result_t ไม่มีฟิลด์ valid/label/confidence (ข้อเท็จจริงเกี่ยวกับ header ที่เข้าใจผิดได้ง่าย)
variant ที่ใช้ได้
mtb-mpy และ mtb-only

◆ ai_engine_snapshot_model()

bool ai_engine_snapshot_model ( uint32_t index,
ai_result_t * out )

ผลตัดสินล่าสุดของโมเดลหนึ่งตัว — เป็นตัวอ่านที่ต้องใช้ภายใน set

One model's last verdict. Use this, not ai_engine_snapshot(), whenever several models may be publishing: that one reports whoever wrote most recently, so three quiet models can bury a detection before it is read. False if that model has never published.

ข้อกำหนดการเรียกใช้
ผลตัดสินล่าสุดของโมเดลหนึ่งตัว ให้ใช้ฟังก์ชันนี้เมื่ออยู่ใน set การคืน false หมายถึง "โมเดลตัวนี้ไม่เคยเผยแพร่ผลเลย" ซึ่งไม่เหมือนกับ "เงียบอยู่" (สมาชิกที่เคยเผยแพร่ครั้งหนึ่งแล้วเงียบไปยังคืนค่า true พร้อม seq ที่ไม่เดินหน้า; หน้า Edge AI สร้างตัวจับเวลาความเงียบรายแถวขึ้นจากเวลาที่ seq ไม่เปลี่ยน) index ต้องเป็นดัชนีใน registry จริง ๆ ห้ามเป็นดัชนีเทียมของ set — ให้เอารายชื่อสมาชิกมาจาก ai_engine_set_members() (set ที่ active อยู่) หรือ ai_engine_set_models() (set ใด ๆ)
variant ที่ใช้ได้
mtb-mpy และ mtb-only

◆ ai_engine_model_count()

uint32_t ai_engine_model_count ( void )

มีโมเดลลงทะเบียนไว้กี่ตัว; ค่านับนำหน้าแถวจริง

ข้อกำหนดการเรียกใช้
มีโมเดลลงทะเบียนไว้กี่ตัว (ทั้งที่คอมไพล์มาและแถวที่เพิ่มเข้ามาตอนทำงาน) ค่านับนำหน้าแถวจริง: ai_engine_model(i) เมื่อ i < count ยังอาจคืน NULL ได้สำหรับดัชนีที่ไม่มีแถวอยู่ — ให้ continue ห้ามยกเลิกการไล่รายการทั้งหมด
variant ที่ใช้ได้
mtb-mpy และ mtb-only

◆ ai_engine_model()

const ai_model_desc_t * ai_engine_model ( uint32_t index)

รายการใน registry คืน NULL หากอยู่นอกช่วง — และคืน NULL สำหรับดัชนีเทียมของ set

Registry entry (NULL if out of range).

ข้อกำหนดการเรียกใช้
รายการใน registry คืน NULL หากอยู่นอกช่วง — และ คืน NULL สำหรับดัชนีเทียมของ set ให้แตกสาขาด้วย idx >= AI_PARALLEL_FIRST ก่อน แล้วไล่สมาชิกของ set นั้นด้วย ai_engine_set_models() ก่อนจะไปแตะ descriptor ใด ๆ descriptor และสตริงที่มันชี้ไปยังคงใช้ได้ตลอดรอบการบูต ข้อกำหนดของ registry: class_labels[0] คือคลาสเชิงลบ ส่วนตั้งแต่ 1 ขึ้นไปคือการตรวจพบเชิงบวก
variant ที่ใช้ได้
mtb-mpy และ mtb-only

◆ ai_engine_mic_settling()

bool ai_engine_mic_settling ( void )

เป็น true ในช่วงไม่กี่วินาทีหลังจาก set เริ่มทำงาน ขณะที่ข้อมูลนำเข้ากำลังตั้งตัว; ผลตัดสินจะถูกระงับไว้

True for a few seconds after a set starts, while its inputs settle. Verdicts are withheld until it returns false; show it rather than silent zero bars.

ข้อกำหนดการเรียกใช้
เป็น true ในช่วงไม่กี่วินาทีหลังจาก set เริ่มทำงาน ขณะที่ข้อมูลนำเข้าของ set กำลังตั้งตัว; ผลตัดสินจะถูกระงับไว้จนกว่าจะคืนค่า false ให้แสดงความคืบหน้าแทนแถบศูนย์ที่เงียบ — และ ต้องให้บรรทัดสถิติอัปเดตต่อไประหว่างการ settle มิฉะนั้นการที่ NPU หยุดนิ่งในช่วงนั้นจะมองไม่เห็น นอก set จะได้ false
variant ที่ใช้ได้
mtb-mpy และ mtb-only

◆ ai_engine_mic_settle_pct()

uint32_t ai_engine_mic_settle_pct ( void )

ความคืบหน้าของการ settle 0..100; มีความหมายเฉพาะภายใน set เท่านั้น (นอกนั้นได้ 100)

Settle progress, 0..100, for a caller that wants to show it moving.

ข้อกำหนดการเรียกใช้
ความคืบหน้าของการ settle 0..100 สำหรับผู้เรียกที่ต้องการแสดงให้เห็นว่ามันขยับ มีความหมายเฉพาะภายใน set เท่านั้น; นอกนั้นคืนค่า 100 หน้า Edge AI เขียนป้ายกำกับเฉพาะเมื่อค่าเปลี่ยนไปเท่านั้น เพื่อเลี่ยงงาน LVGL ที่ซ้ำซ้อน
variant ที่ใช้ได้
mtb-mpy และ mtb-only