Motor driver settings

Motor Driver Settings

/setMicrostepMode (int)motorID (int)STEP_SEL

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
STEP_SEL 0-7 Microstepping mode

Executable timing

High Z state

Description

Switches the micro stepping mode.

STEP_SEL Micro stepping mode
0 Full-step
1 Half-step
2 1/4 microstep
3 1/8 microstep
4 1/16 microstep
5 1/32 microstep
6 1/64 microstep
7 1/128 microstep

Initially, the microstep mode is set to 1/128. In the constant-current control mode (current mode), only full-step to 1/16 microstep is available.

Initial value

7 (1/128 microstep)

/getMicrostepMode (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Gets the mode of microstepping. See /setMicrostepMode for STEP_SEL.

Response

/microstepMode (int)motorID (int)STEP_SEL

/enableLowSpeedOptimize (int)motorID (bool)enable

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
enable 0-1 1:Enable, 0:Disable

Executable timing

When the motor is stopped.

Description

Enable/disable low speed optimization feature which compensate phase current distortion at a very low speed using a small driving voltage. When this optimization is enabled, speed profile minimum speed (Min speed) is force to zero. Only work with voltage mode. See data sheets for details.

Initial value

0 (Disabled)

/setLowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizationThreshold

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
lowSpeedOptimizationThreshold 0.0 - 976.3 [step/s] Low speed optimization threshold

Executable timing

When the motor is stopped.

Description

Set the threshold for phase current distortion compensation at very low speed. For details, refer to "Low speed optimization" section in the corresponding datasheet.

The response is same as the following getLowSpeedOptimizeThreshold.

/getLowSpeedOptimizeThreshold (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Gets the current value of the low speed optimization threshold.

Response

/lowSpeedOptimizeThreshold (int)motorID (float)lowSpeedOptimizeThreshold

Getting the status

/enableBusyReport (int)motorID (bool)enable

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
enable 0-1 1:Enable, 0:Disable

Executable timing

Always

Description

Automatically sends out notification if the BUSY status of the specified motor has changed. The notification message is same as the response from /getBusy command.

Initial value

0 (Disabled)

/getBusy (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Returns the BUSY state of the specified motor.

Response

/busy (int)motorID
Argument Range Description
motorID 1-4/1-8, 255 motor ID
state 0-1 1: BUSY, 0: Not BUSY

/enableHizReport (int)motorID (bool)enable

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
enable 0-1 1:Enable, 0:Disable

Executable timing

Always

Description

Following message is sent automatically when there is a change in the High Z (high impedance) state of the specified motor.

Initial value

0 (Disabled)

/getHiZ (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Requests the High Z (high impedance) state of the specified motor.

Response

/HiZ (int)motorID (bool)state
Argument Range Description
motorID 1-4/1-8, 255 motor ID
state 0-1 1 if High Z state, 0 if not High Z state.

/enableDirReport (int)motorID (bool)enable

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
enable 0-1 1:Enable, 0:Disable

Executable timing

Always

Description

Following message is sent automatically when there is a change in the direction of the specified motor.

Initial value

0 (Disabled)

/getDir (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Requests the direction of the specified motor.

Response

/dir (int)motorID (bool)direction
Argument Range Description
motorID 1-4/1-8, 255 motor ID
direction 0-1 1: Forward, 0:Reverse

/enableMotorStatusReport (int)motorID (bool)enable

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID
enable 0-1 1:Enable, 0:Disable

Executable timing

Always

Description

Following message will be sent automatically when there is conditional change in the operating status (MOT_STATUS) of the specified motor. The response message is same as the reply from the /getMotorStatus command.

Initial value

0 (Disabled)

/getMotorStatus (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Gets the operating status (MOT_STATUS) of the specified motor.

Response

/motorStatus (int)motorID (int)MOT_STATUS
Argument Range Description
motorID 1-4/1-8, 255 Motor ID
MOT_STATUS 0-3 Motor status
Motor status
MOT_STATUS Motor status
0 Stopped
1 Acceleration
2 Deceleration
3 Constant speed

/setPositionReportInterval (int)motorID (int)interval

Argument

Argument Range Description
motorID 1-4/1-8, 255 Motor ID
interval 0-2147483647 transmit interval [ms]

Executable timing

Always

Description

Send the current position (ABS_POS) of the specified motor with the specified interval. Disabled with the interval 0.

When this function enabled, /setPositionListReportInterval will be automatically disabled and stop the transmitting.

Response

The same as /getPosition.

Initial value

0 (Disabled)

/setPositionListReportInterval (int)interval

Argument

Argument Range Description
interval 0-2147483647 transmit interval [ms]

Executable timing

Always

Description

Send a single message with a list of the current position (ABS_POS) of all motors with the specified interval. Disabled with the interval 0.

When this function enabled, /setPositionInterval will be disabled automatically for all motors and stop the transmitting.

Response

The same as /getPositionList

Initial value

0 (Disabled)

Debug

/getAdcVal (int)motorID

STEP400 only

Argument

Argument Range Description
motorID 1-4/1-8, 255 Motor ID

Executable timing

Always

Description

Acquires ADC_OUT register values from the PowerSTEP01 chip. This register stores 5-bit AD-converted voltage reading from ADC pin. This pin is pull-upped with 10kOhm resistor and wired to LIMITSW connector.

Response

/adcVal (int)motorID (int)ADC_OUT
Argument Range Description
motorID 1-4, 255 Motor ID
ADC_OUT 0-31 5bit reading of ADC_OUT register

/getStatus (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 motor ID

Executable timing

Always

Description

Gets the STATUS of the motor driver (PowerSTEP01 for STEP400/L6470 for STEP800). The STATUS includes the status of the motor, alarms and switches.

Response

/status (int)motorID (int)status
Argument Range Description
motorID 1-4/1-8, 255 motor ID
status 0-65535(0xFFFF) 16-bit STATUS register

Refer to "STATUS" in the data sheet for the information contained in the registers. Some of bits are latched and reset when STATUS registers are read out. Because the device firmware constantly obtains the STATUS values, these values are immediately reset. It is possible to set up these events to be reported separately, so please use those commands.

Name of bits in STATUS (STEP400) Name of bits in STATUS (STEP800) The corresponding configuration commands
UVLO UVLO /enableUvloReport
UVLO_ADC - This feature is not available in STEP 400 and is always disabled.
OCD OCD /enableOverCurrentReport
STALL_A, STALL_B STEP_LOSS_A, STEP_LOSS_B /enableStallReport
CMD_ERROR WRONG_CMD, NOTPREF_CMD /enableCommandErrorReport
TH_STATUS TH_WRN, TH_SD /enableThermalStatusReport
SW_EVN SW_EVN /enableHomeSwReport
MOT_STATUS MOT_STATUS /enableMotorStatusReport
SW_F SW_F /enableHomeSwReport
BUSY BUSY /enableBusyReport
HiZ HiZ /enableHizReport

/getConfigRegister (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 Motor ID

Executable timing

Always

Description

Acquires the CONFIG register value from the motor driver (PowerSTEP01 or L6470). The information stored in CONFIG register includes motor, alarm and switch status.

Responses

/configRegister (int)motorID (int)CONFIG
Argument Range Description
motorID 1-4/1-8 Motor ID
CONFIG 0-65535(0xFFFF) 16bit CONFIG register content

The CONFIG register stores various settings for the motor driver. Please refer the datasheet of the PowerSTEP01/L6470 for detail.

/resetMotorDriver (int)motorID

Argument

Argument Range Description
motorID 1-4/1-8, 255 Motor ID

Executable timing

Always

Description

Resets the motor driver (PowerSTEP01/L6470) and rewrites the setting.

Back to top