idf.py menuconfig or
sdkconfig.defaults). Features compile in only when enabled, so you pay for
what you use.
DEVICE_STATUS is always registered and has no toggle. Whether a device is
alive is not an application concern, and a device that cannot answer it is
simply broken.Feature toggles
Connection settings
Radio power save
MIN_MODEM, which is correct for a battery device and wrong for a mains-powered
panel: on a busy 2.4 GHz band the radio misses beacons and the device
disassociates (wifi:bcn_timeout), reconnecting every minute or two. Chasing
that symptom anywhere above the radio is wasted effort — nothing else matters
until the link stops dropping.
Mains-powered device, or a display? Set
HYPERWISOR_WIFI_PS_NONE. On a coin
cell, leave the default.Connection behaviour
You do not configure this, but it is worth knowing what the library does when the network misbehaves.
The jitter matters as soon as more than one device exists. A fixed interval
means every device in the field reconnects in lockstep after a server restart,
and that burst keeps the server down. A window that widens with the delay puts
the largest spread where the crowd is biggest.
Tolerating three lost keepalives rather than one is the same judgement: on the
open internet a lost control frame is routine, so a one-strike timeout kills
healthy connections.
Board port (optional)
For production boards, provide ahyperwisor_port_t struct of function pointers
to integrate with a specific board’s GPIO whitelist, display backlight, or
sensor APIs. See hyperwisor_port.h for the full interface.
Next: API reference
The C API across the umbrella header.

