lớp WDT -- bộ định thời watchdog

WDT được sử dụng để khởi động lại hệ thống khi ứng dụng bị treo và rơi vào trạng thái không thể phục hồi. Khi đã khởi động, nó không thể bị dừng hoặc cấu hình lại theo bất kỳ cách nào. Sau khi bật, ứng dụng phải định kỳ "nuôi" watchdog để ngăn nó hết hạn và khởi động lại hệ thống.

Có sẵn trên các OpenMV cam STM32 (M4 / M7 / H7 / H7 Plus / Pure Thermal / N6) và OpenMV Cam RT1062. Không khả dụng trên OpenMV Cam AE3 (port alif).

Ví dụ sử dụng:

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

Hàm tạo

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

Tạo một đối tượng WDT và khởi động nó. timeout được cho bằng mili giây. Khi đã khởi động, watchdog không thể bị dừng; sử dụng timeout_ms() để thay đổi cửa sổ khi đang chạy.

Phương thức

feed() None

Nuôi WDT để ngăn nó khởi động lại hệ thống. Ứng dụng nên đặt lệnh gọi này ở vị trí hợp lý, đảm bảo rằng WDT chỉ được nuôi sau khi xác nhận mọi thứ đang hoạt động đúng.

timeout_ms(timeout: int) None

Thay đổi thời gian chờ watchdog thành timeout mili giây và tải lại bộ đếm. Hữu ích khi một trong nhiều trạng thái cần cửa sổ dài hơn mặc định trước lần feed() tiếp theo. Thời gian chờ mới có hiệu lực ngay lập tức. Chỉ dành cho STM32.