Skip to content
Tom Tzook edited this page Mar 31, 2023 · 2 revisions

High Frequency Control/Status (or HFCS) is a packet-based protocol for transmitting and receiving information packets send every several milliseconds. It is meant to be used for transmitting control or status information between FlashLib instances.

Nodes connected via HFCS are normally divided into controllers, which send control information (e.g. Human Interface Device information) and clients which receive control information and send status information (e.g. execution state).

HFCS is based on FlashLib's messaging protocol with a UDP backend. Meaning, data-loss is expected, thus each information packet cannot rely on the successful transmission of previous ones, but rather be independent with its data, sending it in its entirety. HFCS may be configured for unicast/multicast or broadcast transmissions, affecting which nodes take part in the network. The functionality of the protocol may be seen as analogous to a data bus (such as a CAN bus).

FlashLib comes with several built-in packet types:

  • HfcsHid provides packets for an HidInterface
  • HfcsRobotState provides information packets about a robot instance
  • HfcsRobotControl provides control packets for a robot instance