Skip to content

Update for Improv 2.4 commands/capabilities#32

Open
yinzara wants to merge 4 commits into
improv-wifi:mainfrom
yinzara:feature/improv_2_dot_4
Open

Update for Improv 2.4 commands/capabilities#32
yinzara wants to merge 4 commits into
improv-wifi:mainfrom
yinzara:feature/improv_2_dot_4

Conversation

@yinzara

@yinzara yinzara commented Dec 19, 2025

Copy link
Copy Markdown

No description provided.

Comment thread src/improv.h
static const uint8_t CAPABILITY_GET_WIFI_NETWORKS = 1 << 2;
static const uint8_t CAPABILITY_HOSTNAME = 1 << 3;
static const uint8_t CAPABILITY_DEVICE_NAME = 1 << 4;
static const uint8_t IMPROV_SERIAL_VERSION = 1;

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving the serial version unchanged for now but this may change in the future.

kbx81 added a commit to kbx81/sdk-cpp that referenced this pull request Jun 16, 2026
Per the Improv spec, the capabilities bitmask reports which RPC commands a
device supports. This reworks the connectivity reporting so it doesn't overload
that bitmask:

- Rename the command GET_CAPABILITIES -> GET_NETWORK_STATE (0x07).
- Replace the extended capability bits with a separate NetworkState enum
  (NETWORK_IS_ONLINE + present interfaces NETWORK_SUPPORTS_WIFI/ETHERNET/THREAD/
  MODEM), restoring CAPABILITY_IDENTIFY as the lone capability constant.

Keeps connectivity ("is it online, what interfaces") distinct from capabilities
("which commands are supported"), and avoids colliding with the in-flight
Improv 2.4 capabilities work (improv-wifi#32).
kbx81 added a commit to kbx81/sdk-cpp that referenced this pull request Jun 16, 2026
Per the Improv spec, the capabilities bitmask reports which RPC commands a
device supports. This reworks the connectivity reporting so it doesn't overload
that bitmask:

- Rename the command GET_CAPABILITIES -> GET_NETWORK_STATE (0x07).
- Replace the extended capability bits with a separate NetworkState enum
  (NETWORK_IS_ONLINE + present interfaces NETWORK_SUPPORTS_WIFI/ETHERNET/THREAD/
  MODEM), restoring CAPABILITY_IDENTIFY as the lone capability constant.

Keeps connectivity ("is it online, what interfaces") distinct from capabilities
("which commands are supported"), and avoids colliding with the in-flight
Improv 2.4 capabilities work (improv-wifi#32).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant