TinyG G2Core Problem Machine not homing and Timeout waiting for response to M114 error

207 views
Skip to first unread message

Zainul Arifeen Khan

unread,
Apr 27, 2022, 3:27:11 PM4/27/22
to OpenPnP
Hi every I have a problem in my system TinyG G2Core Problem Machine not homing and Timeout waiting for response to M114 error.
My machine.xml attach thanks.
machine.xml

Jim Young

unread,
Apr 27, 2022, 4:23:49 PM4/27/22
to OpenPnP
Turn off Home After Enabled and comment out or remove all the GCode commands for CONNECT_COMMAND except for $sv=0, leave that one in.

See if that helps at all.

home-after-enabled.png

tonyl...@gmail.com

unread,
Apr 27, 2022, 4:43:42 PM4/27/22
to OpenPnP
And post a log file (with logging level set to trace).

Zainul Arifeen Khan

unread,
Apr 28, 2022, 2:08:27 PM4/28/22
to OpenPnP
Hi, thanks for every one i am still getting timeout error M114

log file

2022-04-28 11:04:08.107 ReferenceMachine DEBUG: setEnabled(true)
2022-04-28 11:04:11.138 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer($SV=0, 10000)...
2022-04-28 11:04:11.138 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(G21 M9, 10000)...
2022-04-28 11:04:11.138 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> $SV=0
2022-04-28 11:04:11.138 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> G21M9
2022-04-28 11:04:11.138 GcodeDriver$ReaderThread TRACE: [serial://COM4] << [sv]  status report verbosity     0 [0=off,1=filtered,2=verbose]
2022-04-28 11:04:11.138 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:11.138 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:11.138 ReferenceActuator DEBUG: VAC.actuate(true)
2022-04-28 11:04:11.138 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(M8, 10000)...
2022-04-28 11:04:11.138 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> M8
2022-04-28 11:04:11.138 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:11.153 ReferenceActuator DEBUG: PUMP.actuate(true)
2022-04-28 11:04:11.153 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(M4, 10000)...
2022-04-28 11:04:11.153 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> M4
2022-04-28 11:04:11.153 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:16.982 ReferenceMachine DEBUG: homing machine
2022-04-28 11:04:16.982 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(G28.2 X0 Y0 Z0 ; Home all axes, -1)...
2022-04-28 11:04:16.982 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(G28.3 X0.0000 Y0.0000 Z0.0000 A0.0000 ; Set all axes to home coordinates, -1)...
2022-04-28 11:04:16.982 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(G92.1 ; Reset all offsets, -1)...
2022-04-28 11:04:16.982 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> G28.2X0Y0Z0
2022-04-28 11:04:16.982 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(M400 ; Wait for moves to complete before returning, -1)...
2022-04-28 11:04:16.982 GcodeAsyncDriver DEBUG: serial://COM4 commandQueue.offer(M114 ; get position, -1)...
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:16.982 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> G28.3X0Y0Z0A0
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << Z axis Homing Err - Homing input is misconfigured
2022-04-28 11:04:16.982 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> G92.1
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] ok>
2022-04-28 11:04:16.982 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> M400
2022-04-28 11:04:16.982 GcodeAsyncDriver$WriterThread TRACE: [serial://COM4] >> M114
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] err[132]: M code unsupported: M400
2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] err[132]: M code unsupported: M114
2022-04-28 11:05:17.005 AbstractMachine TRACE: Exception caught, executing pending motion: java.lang.Exception: GcodeAsyncDriver timeout waiting for response to M114 ; get position
    at org.openpnp.machine.reference.driver.GcodeDriver.getReportedLocation(GcodeDriver.java:627)
    at org.openpnp.machine.reference.driver.GcodeAsyncDriver.waitForCompletion(GcodeAsyncDriver.java:338)
    at org.openpnp.machine.reference.driver.AbstractMotionPlanner.waitForDriverCompletion(AbstractMotionPlanner.java:807)
    at org.openpnp.machine.reference.driver.AbstractMotionPlanner.waitForCompletion(AbstractMotionPlanner.java:718)
    at org.openpnp.machine.reference.driver.AbstractMotionPlanner.home(AbstractMotionPlanner.java:113)
    at org.openpnp.machine.reference.ReferenceMachine.home(ReferenceMachine.java:425)
    at org.openpnp.gui.MachineControlsPanel$HomeAction.lambda$actionPerformed$0(MachineControlsPanel.java:327)
    at org.openpnp.util.UiUtils.lambda$submitUiMachineTask$0(UiUtils.java:38)
    at org.openpnp.spi.base.AbstractMachine$1.call(AbstractMachine.java:571)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
2022-04-28 11:05:17.005 MessageBoxes DEBUG: Error: java.lang.Exception: GcodeAsyncDriver timeout waiting for response to M114 ; get position

Zainul Arifeen Khan

unread,
Apr 28, 2022, 2:10:12 PM4/28/22
to OpenPnP
Hi thanks for the reply and help i did it as you told but still getting problem.

Zainul Arifeen Khan

unread,
Apr 28, 2022, 2:13:29 PM4/28/22
to OpenPnP
My tinyg G2core settings Attached

[fb]  firmware build            101.03
[fv]  firmware version            0.99
[fbs] firmware build                    101.03-5-gf5a6
[fbc] firmware config               settings_default.h
[hp]  hardware platform     ArduinoDue
[hv]  hardware version           na
[id]  g2core ID                   0084-e739-18c6-39c
[jt]  junction integration time   0.75
[ct]  chordal tolerance           0.0100 mm
[zl]  Z lift on feedhold           0.000 mm
[sl]  soft limit enable           0 [0=disable,1=enable]
[lim] limit switch enable         1 [0=disable,1=enable]
[saf] safety interlock enable     1 [0=disable,1=enable]
[m48] overrides enabled           1 [0=disable,1=enable]
[froe] feed override enable       0 [0=disable,1=enable]
[fro]  feedrate override          1.000 [0.05 < mfo < 2.00]
[troe] traverse over enable       0 [0=disable,1=enable]
[tro]  traverse override          1.000 [0.05 < mto < 1.00]
[mt]  motor idle timeout          2.00 seconds
[tv]  text verbosity              1 [0=silent,1=verbose]
[ej]  enable json mode            0 [0=text,1=JSON,2=auto]
[jv]  json verbosity              2 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[qv]  queue report verbosity      0 [0=off,1=single,2=triple]

[sv]  status report verbosity     0 [0=off,1=filtered,2=verbose]
[si]  status interval           250 ms
[gpl] default gcode plane         0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode    1 [0=G20,1=G21]
[gco] default gcode coord system  1 [1-6 (G54-G59)]
[gpa] default gcode path control  2 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91]
[1ma] m1 map to axis              0 [0=X,1=Y,2=Z...]
[1sa] m1 step angle               1.800 deg
[1tr] m1 travel per revolution    1.2500 mm
[1su] m1 steps per unit        1280.00000 steps per mm
[1mi] m1 microsteps               8 [1,2,4,8,16,32]
[1po] m1 polarity                 0 [0=normal,1=reverse]
[1pm] m1 power management         0 [0=disabled,1=always on,2=in cycle,3=when moving]
[1pl] m1 motor power level        0.000 [0.000=minimum, 1.000=maximum]
[1ep] m1 enable polarity          0 [0=active HIGH,1=active LOW]
[1sp] m1 step polarity            1 [0=active HIGH,1=active LOW]
[2ma] m2 map to axis              1 [0=X,1=Y,2=Z...]
[2sa] m2 step angle               1.800 deg
[2tr] m2 travel per revolution   40.0000 mm
[2su] m2 steps per unit          40.00000 steps per mm
[2mi] m2 microsteps               8 [1,2,4,8,16,32]
[2po] m2 polarity                 0 [0=normal,1=reverse]
[2pm] m2 power management         0 [0=disabled,1=always on,2=in cycle,3=when moving]
[2pl] m2 motor power level        0.000 [0.000=minimum, 1.000=maximum]
[2ep] m2 enable polarity          0 [0=active HIGH,1=active LOW]
[2sp] m2 step polarity            1 [0=active HIGH,1=active LOW]
[3ma] m3 map to axis              2 [0=X,1=Y,2=Z...]
[3sa] m3 step angle               1.800 deg
[3tr] m3 travel per revolution    1.2500 mm
[3su] m3 steps per unit        1280.00000 steps per mm
[3mi] m3 microsteps               8 [1,2,4,8,16,32]
[3po] m3 polarity                 0 [0=normal,1=reverse]
[3pm] m3 power management         0 [0=disabled,1=always on,2=in cycle,3=when moving]
[3pl] m3 motor power level        0.000 [0.000=minimum, 1.000=maximum]
[3ep] m3 enable polarity          0 [0=active HIGH,1=active LOW]
[3sp] m3 step polarity            1 [0=active HIGH,1=active LOW]
[4ma] m4 map to axis              3 [0=X,1=Y,2=Z...]
[4sa] m4 step angle               1.800 deg
[4tr] m4 travel per revolution  360.0000 mm
[4su] m4 steps per unit           4.44444 steps per mm
[4mi] m4 microsteps               8 [1,2,4,8,16,32]
[4po] m4 polarity                 0 [0=normal,1=reverse]
[4pm] m4 power management         0 [0=disabled,1=always on,2=in cycle,3=when moving]
[4pl] m4 motor power level        0.000 [0.000=minimum, 1.000=maximum]
[4ep] m4 enable polarity          0 [0=active HIGH,1=active LOW]
[4sp] m4 step polarity            1 [0=active HIGH,1=active LOW]
[xam] x axis mode                 0 [disabled]
[xvm] x velocity maximum       1000 mm/min
[xfr] x feedrate maximum       1000 mm/min
[xtn] x travel minimum            0.000 mm
[xtm] x travel maximum            0.000 mm
[xjm] x jerk maximum           1000 mm/min^3 * 1 million
[xjh] x jerk homing            1000 mm/min^3 * 1 million
[xhi] x homing input              0 [input 1-N or 0 to disable homing this axis]
[xhd] x homing direction          0 [0=search-to-negative, 1=search-to-positive]
[xsv] x search velocity         500 mm/min
[xlv] x latch velocity       100.00 mm/min
[xlb] x latch backoff             4.000 mm
[xzb] x zero backoff              2.000 mm
[yam] y axis mode                 0 [disabled]
[yvm] y velocity maximum       1000 mm/min
[yfr] y feedrate maximum       1000 mm/min
[ytn] y travel minimum            0.000 mm
[ytm] y travel maximum            0.000 mm
[yjm] y jerk maximum           1000 mm/min^3 * 1 million
[yjh] y jerk homing            1000 mm/min^3 * 1 million
[yhi] y homing input              0 [input 1-N or 0 to disable homing this axis]
[yhd] y homing direction          0 [0=search-to-negative, 1=search-to-positive]
[ysv] y search velocity         500 mm/min
[ylv] y latch velocity       100.00 mm/min
[ylb] y latch backoff             4.000 mm
[yzb] y zero backoff              2.000 mm
[zam] z axis mode                 0 [disabled]
[zvm] z velocity maximum       1000 mm/min
[zfr] z feedrate maximum       1000 mm/min
[ztn] z travel minimum            0.000 mm
[ztm] z travel maximum            0.000 mm
[zjm] z jerk maximum            500 mm/min^3 * 1 million
[zjh] z jerk homing             500 mm/min^3 * 1 million
[zhi] z homing input              0 [input 1-N or 0 to disable homing this axis]
[zhd] z homing direction          0 [0=search-to-negative, 1=search-to-positive]
[zsv] z search velocity         250 mm/min
[zlv] z latch velocity        25.00 mm/min
[zlb] z latch backoff             4.000 mm
[zzb] z zero backoff              4.000 mm
[uam] u axis mode                 0 [disabled]
[uvm] u velocity maximum       1000 mm/min
[ufr] u feedrate maximum       1000 mm/min
[utn] u travel minimum            0.000 mm
[utm] u travel maximum            0.000 mm
[ujm] u jerk maximum           1000 mm/min^3 * 1 million
[ujh] u jerk homing            1000 mm/min^3 * 1 million
[uhi] u homing input              0 [input 1-N or 0 to disable homing this axis]
[uhd] u homing direction          0 [0=search-to-negative, 1=search-to-positive]
[usv] u search velocity         500 mm/min
[ulv] u latch velocity       100.00 mm/min
[ulb] u latch backoff             4.000 mm
[uzb] u zero backoff              2.000 mm
[vam] v axis mode                 0 [disabled]
[vvm] v velocity maximum       1000 mm/min
[vfr] v feedrate maximum       1000 mm/min
[vtn] v travel minimum            0.000 mm
[vtm] v travel maximum            0.000 mm
[vjm] v jerk maximum           1000 mm/min^3 * 1 million
[vjh] v jerk homing            1000 mm/min^3 * 1 million
[vhi] v homing input              0 [input 1-N or 0 to disable homing this axis]
[vhd] v homing direction          0 [0=search-to-negative, 1=search-to-positive]
[vsv] v search velocity         500 mm/min
[vlv] v latch velocity       100.00 mm/min
[vlb] v latch backoff             4.000 mm
[vzb] v zero backoff              2.000 mm
[wam] w axis mode                 0 [disabled]
[wvm] w velocity maximum       1000 mm/min
[wfr] w feedrate maximum       1000 mm/min
[wtn] w travel minimum            0.000 mm
[wtm] w travel maximum            0.000 mm
[wjm] w jerk maximum            500 mm/min^3 * 1 million
[wjh] w jerk homing             500 mm/min^3 * 1 million
[whi] w homing input              0 [input 1-N or 0 to disable homing this axis]
[whd] w homing direction          0 [0=search-to-negative, 1=search-to-positive]
[wsv] w search velocity         250 mm/min
[wlv] w latch velocity        25.00 mm/min
[wlb] w latch backoff             4.000 mm
[wzb] w zero backoff              2.000 mm
[aam] a axis mode                 0 [disabled]
[avm] a velocity maximum     288000 deg/min
[afr] a feedrate maximum     288000 deg/min
[atn] a travel minimum           -1.000 deg
[atm] a travel maximum           -1.000 deg
[ajm] a jerk maximum         288000 deg/min^3 * 1 million
[ajh] a jerk homing          288000 deg/min^3 * 1 million
[ara] a radius value             57.2957 deg
[ahi] a homing input              0 [input 1-N or 0 to disable homing this axis]
[ahd] a homing direction          0 [0=search-to-negative, 1=search-to-positive]
[asv] a search velocity      144000 deg/min
[alv] a latch velocity     28800.00 deg/min
[alb] a latch backoff             5.000 deg
[azb] a zero backoff              2.000 deg
[bam] b axis mode                 0 [disabled]
[bvm] b velocity maximum     288000 deg/min
[bfr] b feedrate maximum     288000 deg/min
[btn] b travel minimum           -1.000 deg
[btm] b travel maximum           -1.000 deg
[bjm] b jerk maximum         288000 deg/min^3 * 1 million
[bjh] b jerk homing          288000 deg/min^3 * 1 million
[bra] b radius value             57.2957 deg
[bhi] b homing input              0 [input 1-N or 0 to disable homing this axis]
[bhd] b homing direction          0 [0=search-to-negative, 1=search-to-positive]
[bsv] b search velocity      144000 deg/min
[blv] b latch velocity     28800.00 deg/min
[blb] b latch backoff             5.000 deg
[bzb] b zero backoff              2.000 deg
[cam] c axis mode                 0 [disabled]
[cvm] c velocity maximum     288000 deg/min
[cfr] c feedrate maximum     288000 deg/min
[ctn] c travel minimum           -1.000 deg
[ctm] c travel maximum           -1.000 deg
[cjm] c jerk maximum         288000 deg/min^3 * 1 million
[cjh] c jerk homing          288000 deg/min^3 * 1 million
[cra] c radius value             57.2957 deg
[chi] c homing input              0 [input 1-N or 0 to disable homing this axis]
[chd] c homing direction          0 [0=search-to-negative, 1=search-to-positive]
[csv] c search velocity      144000 deg/min
[clv] c latch velocity     28800.00 deg/min
[clb] c latch backoff             5.000 deg
[czb] c zero backoff              2.000 deg
[di1mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di1ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di1fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di2mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di2ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di2fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di3mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di3ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di3fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di4mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di4ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di4fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di5mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di5ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di5fn] input function            4 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di6mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di6ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di6fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di7mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di7ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di7fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di8mo] input mode                0 [0=active-low,1=active-hi,2=disabled]
[di8ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di8fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[di9mo] input mode                1 [0=active-low,1=active-hi,2=disabled]
[di9ac] input action              0 [0=none,1=stop,2=fast_stop,3=halt,4=alarm,5=shutdown,6=panic,7=reset]
[di9fn] input function            0 [0=none,1=limit,2=interlock,3=shutdown,4=probe]
[do1mo] output mode               2 [0=active low,1=active high,2=disabled]
[do2mo] output mode               2 [0=active low,1=active high,2=disabled]
[do3mo] output mode               2 [0=active low,1=active high,2=disabled]
[do4mo] output mode               2 [0=active low,1=active high,2=disabled]
[do5mo] output mode               2 [0=active low,1=active high,2=disabled]
[do6mo] output mode               2 [0=active low,1=active high,2=disabled]
[do7mo] output mode               2 [0=active low,1=active high,2=disabled]
[do8mo] output mode               2 [0=active low,1=active high,2=disabled]
[do9mo] output mode               2 [0=active low,1=active high,2=disabled]
[p1frq] pwm frequency               100 Hz
[p1csl] pwm cw speed lo            7900 RPM
[p1csh] pwm cw speed hi           12800 RPM
[p1cpl] pwm cw phase lo           0.130 [0..1]
[p1cph] pwm cw phase hi           0.170 [0..1]
[p1wsl] pwm ccw speed lo           7900 RPM
[p1wsh] pwm ccw speed hi          12800 RPM
[p1wpl] pwm ccw phase lo          0.130 [0..1]
[p1wph] pwm ccw phase hi          0.170 [0..1]
[p1pof] pwm phase off             0.100 [0..1]
[g54x] g54 x offset               0.000 mm
[g54y] g54 y offset               0.000 mm
[g54z] g54 z offset               0.000 mm
[g54u] g54 u offset               0.000 mm
[g54v] g54 v offset               0.000 mm
[g54w] g54 w offset               0.000 mm
[g54a] g54 a offset               0.000 deg
[g54b] g54 b offset               0.000 deg
[g54c] g54 c offset               0.000 deg
[g55x] g55 x offset               0.000 mm
[g55y] g55 y offset               0.000 mm
[g55z] g55 z offset               0.000 mm
[g55u] g55 u offset               0.000 mm
[g55v] g55 v offset               0.000 mm
[g55w] g55 w offset               0.000 mm
[g55a] g55 a offset               0.000 deg
[g55b] g55 b offset               0.000 deg
[g55c] g55 c offset               0.000 deg
[g56x] g56 x offset               0.000 mm
[g56y] g56 y offset               0.000 mm
[g56z] g56 z offset               0.000 mm
[g56u] g56 u offset               0.000 mm
[g56v] g56 v offset               0.000 mm
[g56w] g56 w offset               0.000 mm
[g56a] g56 a offset               0.000 deg
[g56b] g56 b offset               0.000 deg
[g56c] g56 c offset               0.000 deg
[g57x] g57 x offset               0.000 mm
[g57y] g57 y offset               0.000 mm
[g57z] g57 z offset               0.000 mm
[g57u] g57 u offset               0.000 mm
[g57v] g57 v offset               0.000 mm
[g57w] g57 w offset               0.000 mm
[g57a] g57 a offset               0.000 deg
[g57b] g57 b offset               0.000 deg
[g57c] g57 c offset               0.000 deg
[g58x] g58 x offset               0.000 mm
[g58y] g58 y offset               0.000 mm
[g58z] g58 z offset               0.000 mm
[g58u] g58 u offset               0.000 mm
[g58v] g58 v offset               0.000 mm
[g58w] g58 w offset               0.000 mm
[g58a] g58 a offset               0.000 deg
[g58b] g58 b offset               0.000 deg
[g58c] g58 c offset               0.000 deg
[g59x] g59 x offset               0.000 mm
[g59y] g59 y offset               0.000 mm
[g59z] g59 z offset               0.000 mm
[g59u] g59 u offset               0.000 mm
[g59v] g59 v offset               0.000 mm
[g59w] g59 w offset               0.000 mm
[g59a] g59 a offset               0.000 deg
[g59b] g59 b offset               0.000 deg
[g59c] g59 c offset               0.000 deg
[g92x] g92 x offset               0.000 mm
[g92y] g92 y offset               0.000 mm
[g92z] g92 z offset               0.000 mm
[g92u] g92 u offset               0.000 mm
[g92v] g92 v offset               0.000 mm
[g92w] g92 w offset               0.000 mm
[g92a] g92 a offset               0.000 deg
[g92b] g92 b offset               0.000 deg
[g92c] g92 c offset               0.000 deg
[g28x] g28 x position             0.000 mm
[g28y] g28 y position             0.000 mm
[g28z] g28 z position             0.000 mm
[g28u] g28 u position             0.000 mm
[g28v] g28 v position             0.000 mm
[g28w] g28 w position             0.000 mm
[g28a] g28 a position             0.000 deg
[g28b] g28 b position             0.000 deg
[g28c] g28 c position             0.000 deg
[g30x] g30 x position             0.000 mm
[g30y] g30 y position             0.000 mm
[g30z] g30 z position             0.000 mm
[g30u] g30 u position             0.000 mm
[g30v] g30 v position             0.000 mm
[g30w] g30 w position             0.000 mm
[g30a] g30 a position             0.000 deg
[g30b] g30 b position             0.000 deg
[g30c] g30 c position             0.000 deg
g2core[mm] ok>

Jim Young

unread,
Apr 28, 2022, 2:14:48 PM4/28/22
to OpenPnP
>>2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] err[132]: M code unsupported: M400
>>2022-04-28 11:04:16.982 GcodeDriver$ReaderThread TRACE: [serial://COM4] << g2core[mm] err[132]: M code unsupported: M114

It looks like you have not updated the TinyG to add support for these new commands that are needed for OpenPnP 2.0

Latest firmware is available here:

Zainul Arifeen Khan

unread,
Apr 28, 2022, 2:30:50 PM4/28/22
to OpenPnP
Thanks but this linked firmware for tinyg and I have tinyg G2Core

Zainul Arifeen Khan

unread,
Apr 28, 2022, 2:31:40 PM4/28/22
to OpenPnP
G2core installed on Arduino DUE

Jim Young

unread,
Apr 28, 2022, 4:17:12 PM4/28/22
to OpenPnP
Hnmm. Well in any case the firmware you are running on your controller does not support the M400 and M114 commands that are necessary for OpenPnP 2.0

Looking at the repo, I see a pull request for implementing M400 back in 2018, but no merge. I don't see anything in issues that references implementing M114.

tonyl...@gmail.com

unread,
Apr 28, 2022, 4:18:57 PM4/28/22
to OpenPnP
I don't believe OpenPnP currently supports automatic setup (via Issues and Solutions) of G2Core controllers (since G2Core doesn't implement M114, M400, and M201.3 - you may want to open an issue with them to request these be added).  That said, while not easy, I think you may still be able to get it to work with some manual setup on your part.

First, I think to make it work you will need to run the controller in JSON mode instead of text mode ($jv=2, , read this carefully https://github.com/synthetos/g2/wiki/JSON-Operation.  This is somewhat different than running in text mode.  The most obvious is that the ok> response is replaced by a status code in the footer of the JSON response.  You will need to setup your COMMAND_CONFIRM_REGX to parse the footers (should look something like f:[1,0,4]) to look for the correct status code (I believe the yellow highlighted value is the status code for ok).

M114 is what OpenPnP normally uses to request a position report.  While you can't use M114, you can request position/status reports by setting your GET_POSITION_COMMAND to {sr:n}, see https://github.com/synthetos/g2/wiki/Status-Reports#json-mode-status-reports and setting your POSITION_REPORT_REGX appropriately to parse the status report.

M400 is normally sent to wait for motion to complete.  The G2Core status report also can be used for that purpose.  You need to set $sv=1 to enabled filtered status reports and then setup a MOVE_TO_COMPLETE_REGX to parse the status report to look for stat:3 (Mark, can we assume MOVE_TO_COMPLETE_REGX still works?)

M201.3 is normally used to control the jerk to each move.  You won't be able to do that so you will need to set your Motion Control Type (on the Driver Settings tab) to something that doesn't use M201.3 - check with Mark on this as he's the expert).

There may be some other gotchas in all this that may prevent this from all working together. 

Tony

Jim Young

unread,
Apr 28, 2022, 4:23:29 PM4/28/22
to OpenPnP
Also, I don't see G2 Core as a recommended controller for OpenPnP


It is possible it may work but it would need first need support for M400 and M114

mark maker

unread,
Apr 29, 2022, 6:09:40 AM4/29/22
to ope...@googlegroups.com

> Mark, can we assume MOVE_TO_COMPLETE_REGX still works?

Well, let's say it that way: I did nothing to make it stop work. The idea is to keep supporting TinyG (the 8bit variant) "old style", i.e. with configurations that are migrated to new version of OpenPnP unchanged. If this is broken, I will fix it. However, I cannot extend that guarantee to new setups/configurations or even new controllers. One would have to try, if the "old style" TinyG ways also work for g2core.

But there are clearly many new features that won't work!

And as Tony already said, no automatic G-code setup by Issues & Solutions.

It would be swell for the g2core guys to implement the missing commands, after all they accepted them for the TinyG.

https://github.com/synthetos/TinyG/pull/258

So they kind of imply that the successor should also adopt them. 😁

@zainul, please open an issue at g2core!

Btw. just looking at code, I found g2core the most "elegant" open source controller firmware that I know (aside from their strange, proprietary JSON stuff). The S-curve support is also nice. So it would be very cool for them to add these commands in a standard way and add one nice controller to the OpenPnP world!

Note it is not only M114 and M400 but also M115 and M201.3:

https://makr.zone/tinyg-new-g-code-commands-for-openpnp-use/577/

_Mark

--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/a5335783-95ec-4eb5-ba20-aab7499cc876n%40googlegroups.com.

Zainul Arifeen Khan

unread,
Apr 29, 2022, 3:15:55 PM4/29/22
to OpenPnP
thanks for everyone kindly suggest to me another Microcontroller or board which is easily available for openpnp support.
i already build my machine but just the controller is a headache for me because no smmothy or tinyg board available easily thanks.

Reply all
Reply to author
Forward
0 new messages