105 const char *password,
106 const char *security,
radio_boot_mode_t radio_scheduler_get_boot_mode(void)
โหมดบูตที่คงค่าไว้ เมื่อ hook เป็น NULL ตามที่ส่งมอบจริง ทุกการบูตจะโหลดเป็น AUTO
bool radio_scheduler_request_mode(radio_mode_t target)
จัดคิวการเปลี่ยนโหมดแบบอะซิงโครนัส ให้ยืนยันผลผ่าน hook หรือด้วยการวนถามค่าโหมด
void radio_scheduler_set_on_state(radio_scheduler_on_state_fn_t cb)
ติดตั้ง hook ของสถานะ ต้องเรียกก่อน radio_scheduler_init() มิฉะนั้นจะพลาดการเปลี่ยนสถานะครั้งแรก
void radio_scheduler_set_boot_mode(radio_boot_mode_t mode)
คงค่าโหมดบูตที่ต้องการไว้ผ่าน hook สำหรับการคงค่า ถ้า hook เป็น NULL จะไม่มีอะไรรอดข้ามการบูตใหม่
void radio_scheduler_get_status(radio_status_t *out)
snapshot สถานะเต็มชุดภายใต้ mutex ของ scheduler มี timeout 50 ms ต้องคัดลอก ssid ออกมา
bool radio_scheduler_init(const radio_scheduler_config_t *cfg)
สร้างตัวชี้ขาด (arbiter) เรียกก่อน scheduler เริ่มทำงานได้ คืน true ทั้งเมื่อสำเร็จและเมื่อ init ซ้ำ
radio_mode_t radio_scheduler_get_mode(void)
อ่านโหมดโดยไม่ต้องจับ lock — เป็นตัวกัน (guard) มาตรฐานของความเป็นเอกสิทธิ์ระหว่าง Wi-Fi กับ BLE บน R...
bool radio_scheduler_set_wifi_creds(const char *ssid, const char *password, const char *security, bool auto_switch)
บันทึกข้อมูลรับรอง Wi-Fi ผ่าน hook LFS ของผู้ใช้ไลบรารี และจัดคิวการสลับโหมดต่อไปด้วยก็ได้
const char * radio_mode_str(radio_mode_t m)
ตารางแปลงโหมดเป็นสตริงล้วน ๆ คืน literal แบบ static ค่านอกช่วงคืน "invalid" — ใช้กับ s ได้อย่างปลอดภั...
radio_mode_t
Definition radio_scheduler.h:34
@ RADIO_MODE_WIFI_FAILED
Definition radio_scheduler.h:41
@ RADIO_MODE_UNKNOWN
Definition radio_scheduler.h:35
@ RADIO_MODE_SWITCHING_TO_WIFI
Definition radio_scheduler.h:38
@ RADIO_MODE_SWITCHING_TO_BLE
Definition radio_scheduler.h:40
@ RADIO_MODE_WIFI_ACTIVE
Definition radio_scheduler.h:39
@ RADIO_MODE_BLE_ADV
Definition radio_scheduler.h:36
@ RADIO_MODE_BLE_PAIRED
Definition radio_scheduler.h:37
void(*) radio_scheduler_on_state_fn_t(const radio_status_t *st)
Definition radio_scheduler.h:129
bool(*) radio_boot_mode_load_fn_t(radio_boot_mode_t *out)
Definition radio_scheduler.h:69
struct radio_status_s radio_status_t
void(*) radio_boot_mode_persist_fn_t(radio_boot_mode_t mode)
Definition radio_scheduler.h:68
radio_boot_mode_t
Definition radio_scheduler.h:44
@ RADIO_BOOT_FORCE_WIFI
Definition radio_scheduler.h:51
@ RADIO_BOOT_FORCE_BLE
Definition radio_scheduler.h:48
@ RADIO_BOOT_AUTO
Definition radio_scheduler.h:46
Definition radio_scheduler.h:71
radio_boot_mode_load_fn_t load_boot_mode
Definition radio_scheduler.h:76
radio_boot_mode_persist_fn_t persist_boot_mode
Definition radio_scheduler.h:75
Definition radio_scheduler.h:57
uint8_t wifi_fail_count
Definition radio_scheduler.h:63
radio_mode_t mode
Definition radio_scheduler.h:58
const char * ssid
Definition radio_scheduler.h:60
bool ble_paired
Definition radio_scheduler.h:62
uint32_t ipv4
Definition radio_scheduler.h:61