Register Map

RAPcores has the following four types of registers/memories:

  • Status - Read

  • Configuration - Read/Write

  • Telemetry - Read

  • Command - Read/Write

Status: Access to system state Configuration: Parameters for device setup Telemetry: Synchronized data snapshots tied to command events Command: Initiates a move or control pattern

The basic operational primitive of RAPcores is a movement segment over some discrete time span. To allow for use in real-time and low-jitter applications, command registers are at least double buffered. Similarly, the telemetry registers are syncronized to the buffer swap events to allow for pathplanning correction and controls development. Telemetry registers differ from status registers in that Telemetry registers provide “snapshots” of stored data on some event, whereas status registers are continuously updated. In practice, telemetry also may be a RAM resource whereas status is a hardware register. Similarly, configuration registers take effect immediately whereas command registers are queued.

By default, RAPcores reserves memory and register sections for up to 32 motor channels and 64 encoder channels. This ensures hardware devices below this limit are API compatible. The word size is selectable to 64 or 32 bits.

Configuration Register - Read/Write

Entry

Bit Fields

0x00

0x01

0x02

Status Register - Read Only

Entry

Bit Fields

0x00

0x01

0x02

0x03

0x04

0x24