A Recorder object provides a mechanism to collect and buffer any data (positions, velocities, etc) in the controller’s memory. After a recorder is configured and started, the controller copies the data (positions, velocities, etc) from the specified addresses to a local buffer for every “N” sample. Later, the host can collect the data by polling or via interrupt-based events.