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 every “N” samples. Later, the host can collect the data by polling or via interrupt-based events.