|
SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (MTB & µPython)
|
Functions | |
| bool | optiga_manager_init (callback_handler_t callback, void *context) |
| นำ OPTIGA stack ขึ้นทำงาน (idempotent — เรียกซ้ำแล้วได้ผลเดิม) เรียกได้เฉพาะใน task context — คืน false หากชิปไม่ตอบ | |
| optiga_util_t * | optiga_manager_acquire (void) |
| instance ของ optiga_util ที่ใช้ร่วมกัน; เป็น NULL จนกว่า optiga_manager_init() จะทำงานแล้ว | |
| void | optiga_manager_release (void) |
| ปล่อย instance ที่ acquire มา — เพียงครั้งเดียวต่อหนึ่งการ acquire ที่ไม่ใช่ NULL ในทุกเส้นทางออก | |
| bool | optiga_manager_lock (void) |
| จับ mutex ของ manager; คืน false เมื่อไม่เคย initialise — เป็นการทดสอบ "manager ขึ้นแล้วหรือยัง" ที่แท้จริง | |
| void | optiga_manager_unlock (void) |
| unlock หนึ่งครั้งต่อ lock ที่สำเร็จหนึ่งครั้ง รวมทุกเส้นทางออกก่อนกำหนด; ให้ปล่อย touch hold ก่อน | |
| bool | optiga_chip_enter (void) |
| เปิดเซสชันกับชิป (re-entrant ต่อหนึ่ง task); ค่า false เป็นความล้มเหลวเด็ดขาดของการเรียกครั้งนี้ — และไม่ใช่การตรวจสอบว่า init แล้วหรือยัง | |
| void | optiga_chip_exit (void) |
| exit หนึ่งครั้งต่อ enter ที่สำเร็จหนึ่งครั้ง; ห้ามเรียกหลังจาก enter ที่ล้มเหลว | |
7 ฟังก์ชัน — ความเป็นเจ้าของ instance เดียวของ OPTIGA ชิปตัวนี้เป็นอุปกรณ์เครื่องเดียวหลังบัส I2C เส้นเดียว ใช้ร่วมกันระหว่างเส้นทาง MQTT/TLS หน้าจอการจัดเตรียม (provisioning) ของ HSM และโมดูล optiga ของ MicroPython ทุกอย่างที่แตะชิปตัวนี้ต้องผ่านที่นี่ สามใน 7 ตัวเป็น alias ของกันและกันภายใน archive — optiga_manager_release(), optiga_manager_unlock() และ optiga_chip_exit() ต่างลดค่าตัวนับความลึกแบบ re-entrant ตัวเดียวกัน — จึงเป็นเหตุผลที่กฎการจับคู่ในแต่ละรายการเข้มงวด
| bool optiga_manager_init | ( | callback_handler_t | callback, |
| void * | context ) |
นำ OPTIGA stack ขึ้นทำงาน (idempotent — เรียกซ้ำแล้วได้ผลเดิม) เรียกได้เฉพาะใน task context — คืน false หากชิปไม่ตอบ
Bring up the OPTIGA stack. Returns false if the chip did not answer.
| optiga_util_t * optiga_manager_acquire | ( | void | ) |
instance ของ optiga_util ที่ใช้ร่วมกัน; เป็น NULL จนกว่า optiga_manager_init() จะทำงานแล้ว
The shared optiga_util instance, or NULL before init.
| void optiga_manager_release | ( | void | ) |
ปล่อย instance ที่ acquire มา — เพียงครั้งเดียวต่อหนึ่งการ acquire ที่ไม่ใช่ NULL ในทุกเส้นทางออก
Release the instance taken with optiga_manager_acquire().
| bool optiga_manager_lock | ( | void | ) |
จับ mutex ของ manager; คืน false เมื่อไม่เคย initialise — เป็นการทดสอบ "manager ขึ้นแล้วหรือยัง" ที่แท้จริง
Take and release the manager mutex. Task context only.
| void optiga_manager_unlock | ( | void | ) |
unlock หนึ่งครั้งต่อ lock ที่สำเร็จหนึ่งครั้ง รวมทุกเส้นทางออกก่อนกำหนด; ให้ปล่อย touch hold ก่อน
| bool optiga_chip_enter | ( | void | ) |
เปิดเซสชันกับชิป (re-entrant ต่อหนึ่ง task); ค่า false เป็นความล้มเหลวเด็ดขาดของการเรียกครั้งนี้ — และไม่ใช่การตรวจสอบว่า init แล้วหรือยัง
Open and close a chip session around a burst of operations.
| void optiga_chip_exit | ( | void | ) |
exit หนึ่งครั้งต่อ enter ที่สำเร็จหนึ่งครั้ง; ห้ามเรียกหลังจาก enter ที่ล้มเหลว