Kocherga: inconsistency of AppUpdateInProgress state

From State machine description, AppUpdateInProgress state is indicated by:

  • Node mode: SOFTWARE_UPDATE
  • Node health: NOMINAL
  • Vendor-specific status code: number of read requests, always >0

However, in the current implementation, the vendor-specific status code appears to be stored as uint8_t and incremented per read request. If the update image is larger than 64 KiB (or more generally if the number of read requests exceeds 255), the counter will wrap and can become 0, which breaks the “always > 0” requirement from the README.

Is this wrap-around intended?

It’s a documentation shortcoming indeed. A pull request addressing it would be accepted. I couldn’t find any better use for the vendor-specific status code than showing the request count, but in Cyphal it is only 8-bits wide as you pointed out correctly (it used to be wider in UAVCAN v0 where this problem would not occur).