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
Device()
Initializes a new instance of the Device class.
public Device()
Fields
WhoAmI
Represents the unique identity class of the Harp.StepperDriver device. This field is constant.
public const int WhoAmI = 1130
Field Value
Properties
RegisterMap
Gets a read-only mapping from address to register type.
public static IReadOnlyDictionary<int, Type> RegisterMap { get; }
Property Value
Methods
CreateAsync(string)
Initializes a new instance of the asynchronous API to configure and interface with StepperDriver devices on the specified serial port.
public static Task<AsyncDevice> CreateAsync(string portName)
Parameters
portName
stringThe name of the serial port used to communicate with the Harp device.
Returns
- Task<AsyncDevice>
A task that represents the asynchronous initialization operation. The value of the Result parameter contains a new instance of the AsyncDevice class.