class WDT -- ตัวจับเวลา watchdog

WDT ใช้สำหรับรีสตาร์ทระบบเมื่อแอปพลิเคชันขัดข้องและเข้าสู่สถานะที่ไม่สามารถกู้คืนได้ เมื่อเริ่มต้นแล้วจะไม่สามารถหยุดหรือกำหนดค่าใหม่ได้ไม่ว่าด้วยวิธีใด หลังจากเปิดใช้งานแล้ว แอปพลิเคชันต้อง "ป้อน" watchdog เป็นระยะเพื่อป้องกันไม่ให้หมดเวลาและรีเซ็ตระบบ

ใช้ได้กับ OpenMV Cam ที่ใช้ STM32 (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) และ OpenMV Cam RT1062 ไม่เปิดเผยบน OpenMV Cam AE3 (alif port)

ตัวอย่างการใช้งาน:

from machine import WDT
wdt = WDT(timeout=2000)  # enable it with a timeout of 2s
wdt.feed()

ตัวสร้าง

class machine.WDT(id: int = 0, timeout: int = 5000)

สร้างออบเจ็กต์ WDT และเริ่มต้นใช้งาน โดย timeout กำหนดเป็นมิลลิวินาที เมื่อเริ่มแล้ว watchdog จะไม่สามารถหยุดได้ ใช้ timeout_ms() เพื่อเปลี่ยน window ขณะรันไทม์

เมธอด

feed() None

ป้อน WDT เพื่อป้องกันไม่ให้รีเซ็ตระบบ แอปพลิเคชันควรวางการเรียกนี้ในตำแหน่งที่เหมาะสม เพื่อให้แน่ใจว่า WDT จะได้รับการป้อนก็ต่อเมื่อทุกอย่างทำงานได้อย่างถูกต้องเท่านั้น

timeout_ms(timeout: int) None

เปลี่ยน timeout ของ watchdog เป็น timeout มิลลิวินาทีและรีโหลดตัวนับ มีประโยชน์เมื่อสถานะใดสถานะหนึ่งต้องการ window ที่นานกว่าค่าเริ่มต้นก่อนถึง feed() ครั้งถัดไป การตั้งค่า timeout ใหม่มีผลทันที ใช้ได้เฉพาะ STM32 เท่านั้น