Class Device
- Namespace
- Harp.StepperDriver
- Assembly
- Harp.StepperDriver.dll
Represents an observable source of messages from the Harp device connected at the specified serial port.
| StepperDriver | |
|---|---|
| whoAmI | 1130 |
| firmwareVersion | 0.3 |
| hardwareTargets | 1.0 |
Registers
| name | address | type | length | access | description | range | interfaceType |
|---|---|---|---|---|---|---|---|
| EnableDriver | 32 | U8 | Write | Enables the driver for a specific motor. If the driver is already enabled, the driver remains enabled. | StepperMotors | ||
| DisableDriver | 33 | U8 | Write | Disables the driver for a specific stepper motor, which prevents current from being sent to the motor or load. If the driver is already disabled, the driver remains disabled. | StepperMotors | ||
| EnableEncoders | 34 | U8 | Write | Specifies a set of port quadrature counters to enable in the device. | QuadratureEncoders | ||
| DisableEncoders | 35 | U8 | Write | Specifies a set of port quadrature counters to disable in the device. | QuadratureEncoders | ||
| EnableDigitalInputs | 36 | U8 | Write | Specifies a set of digital inputs to enable in the device. | DigitalInputs | ||
| DisableDigitalInputs | 37 | U8 | Write | Specifies a set of digital inputs to disable in the device. | DigitalInputs | ||
| Motor0OperationMode | 38 | U8 | Write | Configures the operation mode for motor 0. | MotorOperationMode | ||
| Motor1OperationMode | 39 | U8 | Write | Configures the operation mode for motor 1. | MotorOperationMode | ||
| Motor2OperationMode | 40 | U8 | Write | Configures the operation mode for motor 2. | MotorOperationMode | ||
| Motor3OperationMode | 41 | U8 | Write | Configures the operation mode for motor 3. | MotorOperationMode | ||
| Motor0MicrostepResolution | 42 | U8 | Write | Configures the microstep resolution for motor 0. | MicrostepResolution | ||
| Motor1MicrostepResolution | 43 | U8 | Write | Configures the microstep resolution for motor 1. | MicrostepResolution | ||
| Motor2MicrostepResolution | 44 | U8 | Write | Configures the microstep resolution for motor 2. | MicrostepResolution | ||
| Motor3MicrostepResolution | 45 | U8 | Write | Configures the microstep resolution for motor 3. | MicrostepResolution | ||
| Motor0MaximumRunCurrent | 46 | Float | Write | Configures the maximum run RMS current per phase for motor 0. | 0.2 [0.139:2.1] | ||
| Motor1MaximumRunCurrent | 47 | Float | Write | Configures the maximum run RMS current per phase for motor 1. | 0.2 [0.139:2.1] | ||
| Motor2MaximumRunCurrent | 48 | Float | Write | Configures the maximum run RMS current per phase for motor 2. | 0.2 [0.139:2.1] | ||
| Motor3MaximumRunCurrent | 49 | Float | Write | Configures the maximum run RMS current per phase for motor 3. | 0.2 [0.139:2.1] | ||
| Motor0HoldCurrentReduction | 50 | U8 | Write | Configures the hold current reduction for motor 0. | HoldCurrentReduction | ||
| Motor1HoldCurrentReduction | 51 | U8 | Write | Configures the hold current reduction for motor 1. | HoldCurrentReduction | ||
| Motor2HoldCurrentReduction | 52 | U8 | Write | Configures the hold current reduction for motor 2. | HoldCurrentReduction | ||
| Motor3HoldCurrentReduction | 53 | U8 | Write | Configures the hold current reduction for motor 3. | HoldCurrentReduction | ||
| Motor0StepInterval | 54 | U16 | Write | Configures the time between step motor pulses (us) when running at nominal speed for motor 0. | 250 [100:20000] | ||
| Motor1StepInterval | 55 | U16 | Write | Configures the time between step motor pulses (us) when running at nominal speed for motor 1. | 250 [100:20000] | ||
| Motor2StepInterval | 56 | U16 | Write | Configures the time between step motor pulses (us) when running at nominal speed for motor 2. | 250 [100:20000] | ||
| Motor3StepInterval | 57 | U16 | Write | Configures the time between step motor pulses (us) when running at nominal speed for motor 3. | 250 [100:20000] | ||
| Motor0MaximumStepInterval | 58 | U16 | Write | Configures the time between step motor pulses (us) used when starting or stopping a movement for motor 0. | 2000 [100:20000] | ||
| Motor1MaximumStepInterval | 59 | U16 | Write | Configures the time between step motor pulses (us) used when starting or stopping a movement for motor 1. | 2000 [100:20000] | ||
| Motor2MaximumStepInterval | 60 | U16 | Write | Configures the time between step motor pulses (us) used when starting or stopping a movement for motor 2. | 2000 [100:20000] | ||
| Motor3MaximumStepInterval | 61 | U16 | Write | Configures the time between step motor pulses (us) used when starting or stopping a movement for motor 3. | 2000 [100:20000] | ||
| Motor0StepAccelerationInterval | 62 | U16 | Write | Configures the acceleration for motor 0. The time between step pulses is decreased by this value when accelerating and increased when decelerating. | 10 [2:2000] | ||
| Motor1StepAccelerationInterval | 63 | U16 | Write | Configures the acceleration for motor 1. The time between step pulses is decreased by this value when accelerating and increased when decelerating. | 10 [2:2000] | ||
| Motor2StepAccelerationInterval | 64 | U16 | Write | Configures the acceleration for motor 2. The time between step pulses is decreased by this value when accelerating and increased when decelerating. | 10 [2:2000] | ||
| Motor3StepAccelerationInterval | 65 | U16 | Write | Configures the acceleration for motor 3. The time between step pulses is decreased by this value when accelerating and increased when decelerating. | 10 [2:2000] | ||
| EncoderMode | 66 | U8 | Write | Configures the operation mode of the quadrature encoder. | EncoderModeConfig | ||
| EncoderSamplingRate | 67 | U8 | Write | Configures the sampling rate of the quadrature encoder event. | EncoderSamplingRateConfig | ||
| Input0OpMode | 68 | U8 | Write | Configures the operation mode for digital input 0. | InputOpModeConfig | ||
| Input1OpMode | 69 | U8 | Write | Configures the operation mode for digital input 1. | InputOpModeConfig | ||
| Input2OpMode | 70 | U8 | Write | Configures the operation mode for digital input 2. | InputOpModeConfig | ||
| Input3OpMode | 71 | U8 | Write | Configures the operation mode for digital input 3. | InputOpModeConfig | ||
| InterlockEnabled | 72 | U8 | Write | Configures the external interlock connector state required for the device to be enabled. | InterlockEnabledConfig | ||
| AccumulatedStepsSamplingRate | 73 | U8 | Write | Configures the dispatch rate of the accumulated steps event. | AccumulatedStepsSamplingRateConfig | ||
| MotorStopped | 74 | U8 | Event | Emitted when any of the motors stops. | MotorStoppedPayload | ||
| MotorOverVoltageDetection | 75 | U8 | Event | Contains a bit mask specifying the motor where the over voltage detection and protection mechanism occurred, which can happen when the there's a quick deceleration from a high velocity or when the motor stalls (not implemented). | StepperMotors | ||
| MotorRaisedError | 76 | U8 | Event | Contains a bit mask specifying the motor that triggered the error which can be happen in case of short-circuit or driver temperature above 165 degrees celsius. | StepperMotors | ||
| Encoders | 77 | S16 | 3 | Event, Write | Contains the quadrature encoder readings. | EncodersPayload | |
| DigitalInputState | 78 | U8 | Event | Reflects the state of the digital input lines. | DigitalInputStates | ||
| DeviceState | 79 | U8 | Event | Contains the state of the device. | DeviceStateMode | ||
| MoveRelative | 80 | S32 | 4 | Write | Moves all motors by the number of steps written in this array register and set the direction according to the value's signal. If a motor is disable, the user should set the value to 0. | MoveRelativePayload | |
| Motor0MoveRelative | 81 | S32 | Write | Moves motor 0 by the number of steps written in this register and set the direction according to the value's signal. | |||
| Motor1MoveRelative | 82 | S32 | Write | Moves motor 1 by the number of steps written in this register and set the direction according to the value's signal. | |||
| Motor2MoveRelative | 83 | S32 | Write | Moves motor 2 by the number of steps written in this register and set the direction according to the value's signal. | |||
| Motor3MoveRelative | 84 | S32 | Write | Moves motor 3 by the number of steps written in this register and set the direction according to the value's signal. | |||
| MoveAbsolute | 85 | S32 | 4 | Write | Moves all motors to the absolute position written in this array register. If a motor is disable, the user should set the value to 0. | MoveAbsolutePayload | |
| Motor0MoveAbsolute | 86 | S32 | Write | Moves motor 0 to the absolute position written in this register. | |||
| Motor1MoveAbsolute | 87 | S32 | Write | Moves motor 1 to the absolute position written in this register. | |||
| Motor2MoveAbsolute | 88 | S32 | Write | Moves motor 2 to the absolute position written in this register. | |||
| Motor3MoveAbsolute | 89 | S32 | Write | Moves motor 3 to the absolute position written in this register. | |||
| AccumulatedSteps | 90 | S32 | 4 | Event, Write | Contains the accumulated steps of all motors. Write a value to set the accumulated steps. An event will be emitted with a dispatch rate defined in AccumulatedStepsSamplingRate. | AccumulatedStepsPayload | |
| Mortor0AccumulatedSteps | 91 | S32 | Write | Contains the accumulated number of steps of motor 0. Write a value to set the current number of accumulated steps. | |||
| Mortor1AccumulatedSteps | 92 | S32 | Write | Contains the accumulated number of steps of motor 1. Write a value to set the current number of accumulated steps. | |||
| Mortor2AccumulatedSteps | 93 | S32 | Write | Contains the accumulated number of steps of motor 2. Write a value to set the current number of accumulated steps. | |||
| Mortor3AccumulatedSteps | 94 | S32 | Write | Contains the accumulated number of steps of motor 3. Write a value to set the current number of accumulated steps. | |||
| MaxPosition | 95 | S32 | 4 | Write | Defines the limit of the accumulated steps for the positive movement of all motors. The device will not let the motors move further than this value. A value equal to 0 will disable the limits. | MaxPositionPayload | |
| Motor0MaxPosition | 96 | S32 | Write | Specifies the limit of the accumulated steps for the positive movement of motor 0. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor1MaxPosition | 97 | S32 | Write | Specifies the limit of the accumulated steps for the positive movement of motor 1. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor2MaxPosition | 98 | S32 | Write | Specifies the limit of the accumulated steps for the positive movement of motor 2. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor3MaxPosition | 99 | S32 | Write | Specifies the limit of the accumulated steps for the positive movement of motor 3. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| MinPosition | 100 | S32 | 4 | Write | Defines the limit of the accumulated steps for the negative movement of all motors. The device will not let the motors move further than this value. A value equal to 0 will disable the limits. | MinPositionPayload | |
| Motor0MinPosition | 101 | S32 | Write | Specifies the limit of the accumulated steps for the negative movement of motor 0. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor1MinPosition | 102 | S32 | Write | Specifies the limit of the accumulated steps for the negative movement of motor 1. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor2MinPosition | 103 | S32 | Write | Specifies the limit of the accumulated steps for the negative movement of motor 2. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| Motor3MinPosition | 104 | S32 | Write | Specifies the limit of the accumulated steps for the negative movement of motor 3. The device will not let the motor move further than this value. A value equal to 0 disables the feature. | |||
| StepRelative | 105 | S32 | 4 | Write | Starts the movement of all motors with the step interval defined by this array. The value's signal defines the direction. | StepRelativePayload | |
| Motor0StepRelative | 106 | S32 | Write | Starts the movement of motor 0 with the step interval defined by this register, disregarding the acceleration protocol. The sign of the value specifies the direction. | |||
| Motor1StepRelative | 107 | S32 | Write | Starts the movement of motor 1 with the step interval defined by this register, disregarding the acceleration protocol. The sign of the value specifies the direction. | |||
| Motor2StepRelative | 108 | S32 | Write | Starts the movement of motor 2 with the step interval defined by this register, disregarding the acceleration protocol. The sign of the value specifies the direction. | |||
| Motor3StepRelative | 109 | S32 | Write | Starts the movement of motor 3 with the step interval defined by this register, disregarding the acceleration protocol. The sign of the value specifies the direction. | |||
| StopMotors | 110 | U8 | Write | Stops the motors selected in the bit-mask immediately. | StepperMotors | ||
| ResetEncoders | 112 | U8 | Write | Resets the encoder. | QuadratureEncoders |
[Combinator(MethodName = "Generate")]
[WorkflowElementCategory(ElementCategory.Source)]
public class Device : Device, INamedElement
- Inheritance
-
Device
- Implements
- Inherited Members
Constructors
Fields
- WhoAmI
Represents the unique identity class of the Harp.StepperDriver device. This field is constant.
Properties
- RegisterMap
Gets a read-only mapping from address to register type.
Methods
- CreateAsync(string)
Initializes a new instance of the asynchronous API to configure and interface with StepperDriver devices on the specified serial port.