Polo-BOO! Halloween Sale going on now – click for details!

9. Setting reference

The Jrk G2 holds all of its settings in its non-volatile EEPROM memory. These settings are normally set ahead of time over USB using the Jrk G2 Configuration Utility. You can also read and write settings from the Jrk over USB using the --get-settings and --settings arguments to jrk2cmd. You can use the Jrk’s “Get settings” command to read these settings over serial and I²C, but you cannot change the EEPROM settings using those interfaces.

The Jrk stores a temporary copy of its settings in RAM, and the “Set RAM settings” and “Get RAM settings” commands allow you read and write from this copy over serial, I²C, and USB. This allows you to temporarily override most (but not all) settings.

This section lists all of the settings that the Jrk G2 supports. For each setting, this section contains several pieces of information:

  • The Offset of each setting is the location where it is stored in the Jrk’s EEPROM memory. The offset is measured in bytes. You can use this offset with the “Read setting” and “Set setting” commands.
  • The Type of each setting specifies how many bits the setting occupies, and says whether it is signed or unsigned (if applicable). All the multi-byte settings use little-endian format, meaning that the least-significant byte comes first.
  • The Data entry for each setting specifies how the data for that setting is encoded in the Jrk’s memory. Some of the settings lack this field because they are simply dimensionless integers, so their encoding is straightforward.
  • The Default entry for each setting is the default value it has on a new Jrk or a Jrk that has been reset to its defaults.
  • The Range entry for each setting specifies what values the setting can have, if applicable. Trying to use a value outside of this range could result in unexpected behavior.
  • The Settings file is the name of the setting in a Jrk settings file, if applicable. You can save and load Jrk settings files from the “File” menu of the Configuration utility, or by using the Jrk Command-line Utility (jrk2cmd).
  • The Settings file data entry for each setting is the specification of how that setting is encoded in a settings file. Some of the settings lack this field because the encoding is straightforward.
  • The Configuration utility entry is the location of that setting in the graphical user interface of the Jrk G2 configuration utility software, if applicable.
  • The Temporary override available entry is “Yes” if changes made to the setting with the “Set RAM settings” command will have an immediate effect. Otherwise, you will need to set this setting ahead of time over USB using Jrk G2 configuration software.

List of settings

Input mode

Offset 0x03
Type unsigned 8-bit
Data
  • 0: Serial / I²C / USB
  • 1: Analog voltage
  • 2: RC
Default Serial / I²C / USB
Settings file input_mode
Settings file data
  • serial
  • analog
  • rc
Configuration utility Input tab, Input mode
Temporary override available No

The input mode setting specifies how you want to control the Jrk. It determines the definition of the input and target variables. The input variable is a raw measurement of the Jrk’s input. The target variable is the desired state of the system’s output, and feeds into the PID feedback algorithm.

  • If the input mode is “Serial / I²C / USB”, the Jrk gets its input and target settings over its USB, serial, or I²C interfaces. You can send Set Target commands to the Jrk to set both the input and target variables.
  • If the input mode is “Analog voltage”, the Jrk gets it input variable by reading the voltage on its SDA/AN pin. A signal level of 0 V corresponds to an input value of 0, and a signal level of 5 V corresponds to an input value of 4092. The Jrk uses its input scaling feature to set the target variable.
  • If the input mode is “RC”, the Jrk gets it input variable by reading RC pulses on its RC pin. The input value is the width of the most recent pulse, in units of 2/3 microseconds (0.666 μs). The Jrk uses its input scaling feature to set the target variable.

Input error minimum

Offset 0x04
Type unsigned 16-bit
Default 0
Range 0 to 4095
Settings file input_error_minimum
Configuration utility Input tab, Scaling box, Input column, Error min
Temporary override available Yes

If the raw input value is below this value, it causes an “Input disconnect” error. See Section 7.3.

Input error maximum

Offset 0x06
Type unsigned 16-bit
Default 4095
Range 0 to 4095
Settings file input_error_maximum
Configuration utility Input tab, Scaling box, Input column, Error max
Temporary override available Yes

If the raw input value is below this value, it causes an “Input disconnect” error. See Section 7.3.

Input minimum

Offset 0x08
Type unsigned 16-bit
Default 0
Range 0 to 4095
Settings file input_minimum
Configuration utility Input tab, Scaling box, Input column, Minimum
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Input maximum

Offset 0x0A
Type unsigned 16-bit
Default 4095
Range 0 to 4095
Settings file input_maximum
Configuration utility Input tab, Scaling box, Input column, Maximum
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Input neutral minimum

Offset 0x0C
Type unsigned 16-bit
Default 2048
Range 0 to 4095
Settings file input_neutral_minimum
Configuration utility Input tab, Scaling box, Input column, Neutral min
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Input neutral maximum

Offset 0x0E
Type unsigned 16-bit
Default 2048
Range 0 to 4095
Settings file input_neutral_maximum
Configuration utility Input tab, Scaling box, Input column, Neutral max
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Target minimum

Offset 0x10
Type unsigned 16-bit
Default 0
Range 0 to 4095
Settings file output_minimum
Configuration utility Input tab, Scaling box, Target column, Minimum
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Target neutral

Offset 0x12
Type unsigned 16-bit
Default 2048
Range 0 to 4095
Settings file output_neutral
Configuration utility Input tab, Scaling box, Target column, Neutral
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Target maximum

Offset 0x14
Type unsigned 16-bit
Default 4095
Range 0 to 4095
Settings file output_maximum
Configuration utility Input tab, Scaling box, Target column, Maximum
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Invert input direction

Offset bit 0 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file input_invert
Settings file data true or false
Configuration utility Input tab, Scaling box, Invert input direction
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Input scaling degree

Offset 0x16
Type unsigned 8-bit
Data
  • 0: linear
  • 1: quadratic
  • 2: cubic
  • 3: quartic
  • 4: quintic
Default JRK_SCALING_DEGREE_LINEAR
Settings file input_scaling_degree
Settings file data
  • linear
  • quadratic
  • cubic
  • quartic
  • quintic
Configuration utility Input tab, Scaling box, Degree
Temporary override available Yes

This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.

Input detect disconnect

Offset bit 1 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file input_detect_disconnect
Settings file data true or false
Configuration utility Input tab, Detect disconnect with power pin (SCL)
Temporary override available Yes

This determines whether the Jrk will drive the SCL pin low to detect when the input potentiometer has been disconnected. See Section 7.3.

Input analog samples exponent

Offset 0x17
Type unsigned 8-bit
Default 7 (128 samples)
Range 0 to 10 (1 sample to 1024 samples)
Settings file input_analog_samples_exponent
Configuration utility Input tab, Analog samples
Temporary override available Yes

This setting specifies how many analog samples of the SDA/AN pin to take each PID period if it is being used as an analog input. The number of samples will be 2x where x is this setting. For more information, see Section 7.3.

Feedback mode

Offset 0x18
Type unsigned 8-bit
Data
  • 0: None
  • 1: Analog voltage
  • 2: Frequency (speed control)
Default None
Settings file feedback_mode
Settings file data
  • none
  • analog
  • frequency
Configuration utility Feedback tab, Feedback mode
Temporary override available No

The feedback mode setting specifies whether the Jrk is using feedback from the output of the system, and if so defines what type of feedback to use.

  • If the feedback mode is “None”, feedback and PID calculations are disabled, and the Jrk will do open-loop control. The duty cycle target variable is always equal to the target variable minus 2048, instead of being the result of a PID calculation. This means that a target of 2648 corresponds to driving the motor at full speed forward, 2048 is stopped, and 1448 is full-speed reverse. See Section 5.1.
  • If the feedback mode is “Analog voltage”, the Jrk gets its feedback by measuring the voltage on the FBA pin. A level of 0 V corresponds to a feedback value of 0, and a level of 5 V corresponds to a feedback value of 4092. The feedback scaling algorithm computes the scaled feedback variable, and the PID algorithm uses the scaled feedback and the target to compute the duty cycle target. See Section 7.4.
  • If the feedback mode is “Frequency (speed control)”, the Jrk gets it feedback by measuring the frequency of a digital signal on the FBT pin. This mode is only suitable for speed control, not position control. See Section 7.4.

Feedback error minimum

Offset 0x19
Type unsigned 16-bit
Default 0
Range 0 to 4095
Settings file feedback_error_minimum
Configuration utility Feedback tab, Error min
Temporary override available Yes

If the raw feedback value is below this value, it causes a “Feedback disconnect” error. See Section 7.4.

Feedback error maximum

Offset 0x1B
Type unsigned 16-bit
Default 4095
Range 0 to 4095
Settings file feedback_error_maximum
Configuration utility Feedback tab, Error max
Temporary override available Yes

If the raw feedback value exceeds this value, it causes a “Feedback disconnect” error. See Section 7.4.

Feedback minimum

Offset 0x1D
Type unsigned 16-bit
Default 0
Range 0 to 4095
Settings file feedback_minimum
Configuration utility Feedback tab, Minimum
Temporary override available Yes

This is one of the parameters of the feedback scaling feature. See Section 7.4.

Feedback maximum

Offset 0x1F
Type unsigned 16-bit
Default 4095
Range 0 to 4095
Settings file feedback_maximum
Configuration utility Feedback tab, Maximum
Temporary override available Yes

This is one of the parameters of the feedback scaling feature. See Section 7.4.

Invert feedback direction

Offset bit 2 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file feedback_invert
Settings file data true or false
Configuration utility Feedback tab, Invert feedback direction
Temporary override available Yes

This is one of the parameters of the feedback scaling feature. See Section 7.4.

Feedback detect disconnect

Offset bit 3 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file feedback_detect_disconnect
Settings file data true or false
Configuration utility Feedback tab, Detect disconnect with power pin (AUX)
Temporary override available Yes

This determines whether the Jrk will drive AUX low to detect if the feedback potentiometer has been disconnected. See Section 7.4.

Feedback dead zone

Offset 0x21
Type unsigned 8-bit
Default 0
Range 0 to 255
Settings file feedback_dead_zone
Configuration utility PID tab, Feedback dead zone
Temporary override available Yes

If PID feedback is enabled, the Jrk sets the duty cycle target to zero and resets the integral whenever the magnitude of the error is smaller than this setting. See Section 7.5.

Feedback analog samples exponent

Offset 0x22
Type unsigned 8-bit
Default 7 (128 samples)
Range 0 to 10 (1 sample to 1024 samples)
Settings file feedback_analog_samples_exponent
Configuration utility Feedback tab, Analog samples
Temporary override available Yes

This setting specifies how many analog samples of the FBA pin to take each PID period if it is being used as an analog input. The number of samples will be 2x where x is this setting. The samples are averaged together. For more information, see Section 7.4.

Feedback wraparound

Offset bit 4 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file feedback_wraparound
Settings file data true or false
Configuration utility Feedback tab, Wraparound
Temporary override available Yes

This option, which is only available when the feedback mode is “Analog”, determines whether the PID algorithm will consider a scaled feedback value of 0 to be next to a scaled feedback value of 4095 when calculating the error. See Section 7.4.

Serial mode

Offset 0x23
Type unsigned 8-bit
Data
  • 0: USB dual port
  • 1: USB chained
  • 2: UART
Default USB dual port
Settings file serial_mode
Settings file data
  • usb_dual_port
  • usb_chained
  • uart
Configuration utility Input tab, Serial interface box (radio buttons)
Temporary override available No

The serial mode determines how bytes are transferred between the Jrk’s UART (TX and RX pins), its two USB virtual serial ports (the command port and the TTL Port), and its serial command processor.

  • If the serial mode is “USB dual port”, the command port can be used to send commands to the Jrk and receive responses from it, while the TTL port can be used to send and receives bytes on the TX and RX lines. The baud rate set by the USB host on the TTL port determines the baud rate used on the TX and RX lines.
  • If the serial mode is “USB chained”, the command port can be used to both transmit bytes on the TX line and send commands to the Jrk. The Jrk’s responses to those commands will be sent to the command port but not the TX line. If the RX line is enabled as a serial receive line, bytes received on the RX line will be sent to the command port but will not be interpreted as command bytes by the Jrk. The baud rate set by the USB host on the command port determines the baud rate used on the TX and RX lines.
  • If the serial mode is “UART”, the TX and RX lines can be used to send commands to the Jrk and receive responses from it. Any byte received on RX will be sent to the command port, but bytes sent from the command port will be ignored.

Serial baud rate

Offset 0x24
Type unsigned 16-bit
Data 16-bit baud rate generator (see below)
Default 0x4E1 (9600 bits per second)
Settings file serial_baud_rate
Settings file data Baud rate in bits per second
Configuration utility Input tab, Serial interface box, fixed baud rate
Temporary override available No

This setting specifies the baud rate to use on the RX and TX pins when the serial mode is UART. In other serial modes, the baud rate defaults to 9600, but can be changed over USB using the standard USB CDC ACM command.

The settings file and the configuration utility show the baud rate in bits per second, but it is actually stored on the Jrk as an unsigned 16-bit integer called the baud rate generator. The baud rate will be 12 Mbps divided by the baud rate generator.

Serial timeout

Offset 0x26
Type unsigned 16-bit
Data Timeout in units of 10 ms
Default 0
Range 0 to 655,350 ms
Settings file serial_timeout
Settings file data Timeout in units of milliseconds
Configuration utility Input tab, Serial interface, Timeout (s)
Temporary override available Yes

This is the time before the device reports a “Serial timeout error” if it has not received certain commands. A value of 0 disables the command timeout feature. See Section 7.7 for details about the serial timeout error.

The configuration utility presents the timeout in seconds, with two digits after the decimal point. The settings file has the timeout in units of milliseconds. The Jrk itself stores it as an unsigned 16-bit number with units of 10 ms, so the maximum possible value is 655,350 ms.

Serial device number

Offset 0x28
Type unsigned 16-bit
Default 11
Range 0 to 16383
Settings file serial_device_number
Configuration utility Input tab, Serial interface, Device number
Temporary override available No

This is the serial device number used in the Pololu protocol on the Jrk’s serial interfaces, and the I²C device address used on the Jrk’s I²C interface.

By default, the Jrk only pays attention to the lower 7 bits of this setting, but if you enable 14-bit serial device numbers then it will use the lower 14 bits for the serial interface (but the I²C interface will still only use the lower 7 bits).

See Section 12 and Section 13.

Never sleep

Offset bit 0 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file never_sleep
Settings file data true or false
Configuration utility Advanced tab, Miscellaneous, Never sleep (ignore USB suspend)
Temporary override available Yes

By default, if the Jrk is powered from a USB bus that is in suspend mode (e.g. the computer is sleeping) and VIN power is not present, it will go to sleep to reduce its current consumption and comply with the USB specification. If this setting is set to true, the Jrk will never go to sleep.

Enable CRC

Offset bit 1 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file serial_enable_crc
Settings file data true or false
Configuration utility Input tab, Serial interface, Enable CRC
Temporary override available No

If set to true, the Jrk requires a 7-bit CRC byte at the end of each serial command, and if the CRC byte is wrong then it ignores the command and sets the serial CRC error bit. See Section 12.

Enable 14-bit device number

Offset bit 2 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file serial_enable_14bit_device_number
Settings file data true or false
Configuration utility Input tab, Serial interface, Enable 14-bit device number
Temporary override available No

If enabled, the Jrk’s Pololu protocol for serial commands will require a 14-bit device number to be sent with every command, instead of normal 7-bit device number. This option allows you to put more than 128 Jrk devices on one serial bus and control them individually. See Section 12.

Disable compact protocol

Offset bit 3 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file serial_disable_compact_protocol
Settings file data true or false
Configuration utility Input tab, Serial interface, Disable compact protocol
Temporary override available No

If enabled, the Jrk will not respond to compact protocol serial commands. See Section 12.

Proportional multiplier

Offset 0x51
Type unsigned 16-bit
Default 0
Range 0 to 1023
Settings file proportional_multiplier
Configuration utility PID tab, Proportional coefficient, Upper left
Temporary override available Yes

This is the multiplier for the proportional coefficient used in the PID calculation. See Section 7.5.

Proportional exponent

Offset 0x53
Type unsigned 8-bit
Default 0
Range 0 to 18
Settings file proportional_exponent
Configuration utility PID tab, Proportional coefficient, Lower left
Temporary override available Yes

This is the exponent for the proportional coefficient used in the PID calculation. See Section 7.5.

Integral multiplier

Offset 0x54
Type unsigned 16-bit
Default 0
Range 0 to 1023
Settings file integral_multiplier
Configuration utility PID tab, Integral coefficient, Upper left
Temporary override available Yes

This is the multiplier for the integral coefficient used in the PID calculation. See Section 7.5.

Integral exponent

Offset 0x56
Type unsigned 8-bit
Default 0
Range 0 to 18
Settings file integral_exponent
Configuration utility PID tab, Integral coefficient, Lower left
Temporary override available Yes

This is the exponent for the integral coefficient used in the PID calculation. See Section 7.5.

Derivative multiplier

Offset 0x57
Type unsigned 16-bit
Default 0
Range 0 to 1023
Settings file derivative_multiplier
Configuration utility PID tab, Derivative coefficient, Upper left
Temporary override available Yes

This is the multiplier for the derivative coefficient used in the PID calculation. See Section 7.5.

Derivative exponent

Offset 0x59
Type unsigned 8-bit
Default 0
Range 0 to 18
Settings file derivative_exponent
Configuration utility PID tab, Derivative coefficient, Lower left
Temporary override available Yes

This is the exponent for the derivative coefficient used in the PID calculation. See Section 7.5.

PID period

Offset 0x5A
Type unsigned 16-bit
Data PID period in units of milliseconds
Default 10 ms
Range 1 ms to 8191 ms
Settings file pid_period
Configuration utility PID tab, PID period
Temporary override available Yes

The PID period specifies how often the Jrk should calculate its input and feedback, run its PID calculation, and update the motor speed, in units of milliseconds. This period is still used even if feedback and PID are disabled. See Section 7.5.

Integral divider exponent

Offset 0x3F
Type unsigned 8-bit
Default 0
Range 0 to 15
Settings file integral_divider_exponent
Configuration utility PID tab, Integral divider
Temporary override available Yes

This setting determines the “Integral divider” described in Section 7.5. The integral divider is 2x where x is this setting.

Integral limit

Offset 0x5C
Type unsigned 16-bit
Default 1000
Range 0 to 32767
Settings file integral_limit
Configuration utility PID tab, Integral limit
Temporary override available Yes

See Section 7.5.

Reset integral when proportional term exceeds max duty cycle

Offset bit 0 of byte 0x50
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file reset_integral
Settings file data true or false
Configuration utility PID tab, Reset integral when proportional term exceeds max duty cycle
Temporary override available Yes

See Section 7.5.

PWM frequency

Offset 0x32
Type unsigned 8-bit
Data
  • 0: 20 kHz
  • 1: 5 kHz
Default 20 kHz
Settings file pwm_frequency
Settings file data 20 or 5
Configuration utility Motor tab, PWM frequency
Temporary override available Yes

See Section 7.6.

Current samples exponent

Offset 0x33
Type unsigned 8-bit
Default 7 (128 samples)
Range 0 to 10 (1 sample to 1024 samples)
Settings file current_samples_exponent
Configuration utility Motor tab, Current samples
Temporary override available Yes

This setting specifies how many analog samples of the Jrk’s internal current sense pin to take each PID period. The number of samples will be 2x where x is this setting. The samples are averaged together. For more information, see Section 7.6.

Hard overcurrent threshold

Offset 0x34
Type unsigned 8-bit
Default 1
Range 1 to 255
Settings file hard_overcurrent_threshold
Configuration utility Motor tab, Hard overcurrent threshold
Temporary override available Yes

This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21. See Section 7.6.

Current offset calibration

Offset 0x35
Type signed 16-bit
Default 0
Range -800 to 800
Settings file current_offset_calibration
Configuration utility Motor tab, Current offset calibration
Temporary override available Yes

See Section 7.6.

Current scale calibration

Offset 0x37
Type signed 16-bit
Default 0
Range -1875 to 1875
Settings file current_scale_calibration
Configuration utility Motor tab, Current scale calibration
Temporary override available Yes

See Section 7.6.

Invert motor direction

Offset bit 5 of byte 0x02
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file motor_invert
Settings file data true or false
Configuration utility Motor tab, Invert motor direction
Temporary override available Yes

Flips the polarity of the voltage applied to the motor. See Section 7.6.

Max. duty cycle forward

Offset 0x68
Type unsigned 16-bit
Default 600
Range 0 to 600
Settings file max_duty_cycle_forward
Configuration utility Motor tab, Max. duty cycle, Forward column
Temporary override available Yes

See Section 7.6.

Max. duty cycle reverse

Offset 0x6A
Type unsigned 16-bit
Default 600
Range 0 to 600
Settings file max_duty_cycle_reverse
Configuration utility Motor tab, Max. duty cycle, Reverse column
Temporary override available Yes

See Section 7.6.

Max duty cycle while feedback is out of range

Offset 0x5E
Type unsigned 16-bit
Default 600
Range 1 to 600
Settings file max_duty_cycle_while_feedback_out_of_range
Configuration utility Motor tab, Max. duty cycle while feedback is out of range
Temporary override available Yes

See Section 7.6.

Max. acceleration forward

Offset 0x60
Type unsigned 16-bit
Default 600
Range 1 to 600
Settings file max_acceleration_forward
Configuration utility Motor tab, Max. acceleration, Forward column
Temporary override available Yes

See Section 7.6.

Max. acceleration reverse

Offset 0x62
Type unsigned 16-bit
Default 600
Range 1 to 600
Settings file max_acceleration_reverse
Configuration utility Motor tab, Max. acceleration, Reverse column
Temporary override available Yes

See Section 7.6.

Max. deceleration forward

Offset 0x64
Type unsigned 16-bit
Default 600
Range 1 to 600
Settings file max_deceleration_forward
Configuration utility Motor tab, Max. deceleration, Forward column
Temporary override available Yes

See Section 7.6.

Max. deceleration reverse

Offset 0x66
Type unsigned 16-bit
Default 600
Range 1 to 600
Settings file max_deceleration_reverse
Configuration utility Motor tab, Max. deceleration, Reverse column
Temporary override available Yes

See Section 7.6.

Hard current limit forward

Offset 0x6C
Type unsigned 16-bit
Data Encoded
Default Depends on the product
Settings file encoded_hard_current_limit_forward
Configuration utility Motor tab, Hard current limit, Forward column
Temporary override available Yes

This setting specifies the hardware current limit that the Jrk will use when driving in the forward direction.

This setting is not actually stored in the Jrk as a current; it is stored as an encoded value telling the Jrk how to set up its current limiting hardware. The correspondence between the encoded value and the actual current limit in milliamps depends on what product you are using and the characteristics of your particular unit as represented by the “Current offset calibration” and “Current scale calibration” settings. You can get a table in CSV format showing the correspondence by connecting the Jrk into a computer via USB and running jrk2cmd --current-table.

The default value for this setting depends on what Jrk product you have, as described in the table below:

Jrk product Default hard current limit
18v19 28.47 A (86)
24v13 19.34 A (62)
18v27 40.25 A (87)
24v21 31.53 A (63)

This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21. See Section 7.6 for more information.

Hard current limit reverse

Offset 0x6E
Type unsigned 16-bit
Data Encoded
Default Depends on the product
Settings file encoded_hard_current_limit_reverse
Configuration utility Motor tab, Hard current limit, Reverse column
Temporary override available Yes

See the hard current limit forward setting. This setting is the same except it applies when driving in the reverse direction. This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21.

Brake duration forward

Offset 0x70
Type unsigned 8-bit
Data Duration in units of 5 ms
Default 0
Range 0 to 1275 ms
Settings file brake_duration_forward
Settings file data Duration in units of milliseconds
Configuration utility Motor tab, Brake duration, Forward column
Temporary override available Yes

See Section 7.6.

Brake duration reverse

Offset 0x71
Type unsigned 8-bit
Data Duration in units of 5 ms
Default 0
Range 0 to 1275 ms
Settings file brake_duration_reverse
Settings file data Duration in units of milliseconds
Configuration utility Motor tab, Brake duration, Reverse column
Temporary override available Yes

See Section 7.6.

Soft current limit forward

Offset 0x72
Type unsigned 16-bit
Data Current in units of milliamps, 0 means no limit
Default 0
Range 0 to 65,535 mA
Settings file soft_current_limit_forward
Settings file data Current in units of milliamps
Configuration utility Motor tab, Soft current limit, Forward column
Temporary override available Yes

See Section 7.6.

Soft current limit reverse

Offset 0x74
Type unsigned 16-bit
Data Current in units of milliamps, 0 means no limit
Default 0
Range 0 to 65,535 mA
Settings file soft_current_limit_reverse
Settings file data Current in units of milliamps
Configuration utility Motor tab, Soft current limit, Reverse column
Temporary override available Yes

See Section 7.6.

Soft current regulation level forward

Offset 0x40
Type unsigned 16-bit
Data Current in units of milliamps, 0 means disabled
Default 0
Range 0 to 65,535 mA
Settings file soft_current_regulation_level_forward
Settings file data Current in units of milliamps
Configuration utility Motor tab, Soft current regulation level, Forward column
Temporary override available Yes

This setting is only available on the Jrk G2 21v3. See Section 7.6.

Soft current regulation level reverse

Offset 0x42
Type unsigned 16-bit
Data Current in units of milliamps, 0 means disabled
Default 0
Range 0 to 65,535 mA
Settings file soft_current_regulation_level_reverse
Settings file data Current in units of milliamps
Configuration utility Motor tab, Soft current regulation level, Reverse column
Temporary override available Yes

This setting is only available on the Jrk G2 21v3. See Section 7.6.

Coast when off

Offset bit 1 of byte 0x50
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file coast_when_off
Settings file data true or false
Configuration utility Motor tab, When motor is off
Temporary override available Yes

See Section 7.6.

Error enable

Offset 0x2A
Type unsigned 16-bit
Default 0
Settings file error_enable
Configuration utility Errors tab
Temporary override available Yes

This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is enabled, and 0 otherwise. Note that an error that is “Enabled & latched” counts as being enabled.

The “Awaiting command”, “No power”, “Motor driver error”, and “Input invalid” errors are always enabled and cannot be disabled, so the bits corresponding to those errors in this setting are ignored.

Error latch

Offset 0x2C
Type unsigned 16-bit
Default 0
Settings file error_latch
Configuration utility Errors tab
Temporary override available Yes

This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is enabled and latched, or 0 otherwise.

The bits in this register are ignored for errors that are not enabled. (If an error is not enabled, its error flag will never be set, so there is no concept of the error flag being latched.) Also, the “Awaiting command” error and all the serial errors are always latching errors if they are enabled, so bits corresponding to those errors in this setting are ignored.

Error hard stop

Offset 0x2E
Type unsigned 16-bit
Default 0
Settings file error_hard
Configuration utility Errors tab
Temporary override available Yes

This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is configured as a hard stop error, or 0 otherwise.

The “No power” and “Motor driver” errors are always hard stop errors. The bits corresponding to those errors in this setting are ignored.

VIN calibration

Offset 0x30
Type signed 16-bit
Default 0
Range -500 to 500
Settings file vin_calibration
Configuration utility Advanced tab, Miscellaneous, VIN measurement calibration
Temporary override available Yes

The firmware uses this calibration factor when calculating the VIN voltage. One of the steps in the process is to multiply the VIN voltage reading by 825 plus the VIN calibration. Therefore, for every 8 counts that you add or subtract from the VIN calibration setting, you increase or decrease the VIN voltage reading by about 1%.

Disable I²C pull-ups

Offset bit 4 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file disable_i2c_pullups
Settings file data true or false
Configuration utility Advanced tab, Disable I²C pull-ups
Temporary override available No

This option disables the internal pull-up resistors on the SDA/AN and SCL pins if those pins are being used for I²C communication. Normally, the pull-ups are enabled to ensure that each bus line goes high when no devices are driving it.

Enable pull-up for analog input on SDA/AN

Offset bit 5 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file analog_sda_pullup
Settings file data true or false
Configuration utility Advanced tab, Enable pull-up for analog input on SDA/AN
Temporary override available No

This option enables the internal pull-up resistor on the SDA/AN pin if it is being used as an analog input.

Always configure SDA/AN for analog input

Offset bit 6 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file always_analog_sda
Settings file data true or false
Configuration utility Advanced tab, Always configure SDA/AN for analog input
Temporary override available No

This option causes the Jrk to perform analog measurements on the SDA/AN pin and configure SCL as a potentiometer power pin even if the “Input mode” setting is not “Analog”.

Always configure FBA for analog input

Offset bit 7 of byte 0x01
Type boolean
Data
  • 0: false
  • 1: true
Default false
Settings file always_analog_fba
Settings file data true or false
Configuration utility Advanced tab, Always configure FBA for analog input
Temporary override available No

This option causes the Jrk to perform analog measurements on the FBA pin even if the “Feedback mode” setting is not “Analog”.

FBT method

Offset 0x39
Type unsigned 8-bit
Data
  • 0: Pulse counting
  • 1: Pulse timing
Default Pulse counting
Settings file fbt_method
Settings file data
  • counting
  • timing
Configuration utility Feedback tab, Frequency feedback on FBT, Measurement method
Temporary override available No

See Section 7.4.

FBT timing clock

Offset bits 4 through 6 of byte 0x3A
Type unsigned 8-bit
Data
  • 0: 12 MHz
  • 1: 6 MHz
  • 2: 3 MHz
  • 3: 1.5 MHz
  • 4: 48 MHz
  • 5: 24 MHz
Default 1.5 MHz
Range 0 to JRK_FBT_TIMING_CLOCK_24
Settings file fbt_timing_clock
Settings file data
  • 12m
  • 6m
  • 3m
  • 1m5
  • 48m
  • 24m
Configuration utility Feedback tab, Frequency feedback on FBT, Pulse timing clock
Temporary override available No

See Section 7.4.

FBT timing polarity

Offset bit 0 of byte 0x3A
Type boolean
Data
  • 0: Active high
  • 1: Active low
Default Active high
Settings file fbt_timing_polarity
Settings file data true (active high) or false (active low)
Configuration utility Feedback tab, Frequency feedback on FBT, Pulse timing polarity
Temporary override available No

By default, the pulse timing mode on the FBT pin measures the time of high pulses. When true, this option causes it to measure low pulses. See Section 7.4.

FBT timing timeout

Offset 0x3B
Type unsigned 16-bit
Data Timeout in milliseconds
Default 100
Range 1 to 60000
Settings file fbt_timing_timeout
Configuration utility Feedback tab, Frequency feedback on FBT, Pulse timing timeout
Temporary override available Yes

The pulse timing mode for the FBT pin will assume the motor has stopped, and start recording maximum-width pulses if it has not seen any pulses in this amount of time. See Section 7.4.

FBT samples

Offset 0x3D
Type unsigned 8-bit
Default 1
Range 1 to 32
Settings file fbt_samples
Configuration utility Feedback tab, Frequency feedback on FBT, Pulse samples
Temporary override available No

The number of consecutive FBT measurements to average together in pulse timing mode or to add together in pulse counting mode. See Section 7.4.

FBT divider exponent

Offset 0x3E
Type unsigned 8-bit
Default 0
Range 0 to 15
Settings file fbt_divider_exponent
Configuration utility Feedback tab, Frequency feedback on FBT, Frequency divider
Temporary override available Yes

This setting determines the “Frequency divider” described in Section 7.4. The frequency divider is 2x where x is this setting.

Not initialized

Offset 0x00
Type unsigned 8-bit
Data
  • 0: false
  • non-zero: true
Default false

This special setting keeps track of whether the rest of the settings have been initialized or not. Normally it is zero, which means false. If you set it to a non-zero value, then the Jrk will reset all of the settings to their default values the next time the Jrk is reset or reinitialized. This is how the “Restore default settings” command in the Jrk G2 Configuration Utility and the --restore-defaults option in the command-line utility are implemented.

Related Products

Jrk G2 18v19 USB Motor Controller with Feedback
Jrk G2 24v13 USB Motor Controller with Feedback
Jrk G2 18v27 USB Motor Controller with Feedback
Jrk G2 24v21 USB Motor Controller with Feedback
Jrk G2 21v3 USB Motor Controller with Feedback
Jrk G2 21v3 USB Motor Controller with Feedback (Connectors Soldered)
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Menu
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors