Line number missing (*sigh*)

Dear Repetier,

at first, thanks for your hard & good work and this marvelous firmware.
I am currently running two modified printers (Felix 3.0 dual & Wanhao I3) for which I replaced
everything except for the frame. Both have now an Arduino + RAMPS 1.4 and the latest repetier firmware on it, controlled by Raspi2 + octoprint. Both are printing fine, however, when I pause a print, the I3 is just doing fine and continues after pressing "play" again in octoprint. The felix returns an error "missing line number" when doing the same. Here are the serial.logs:
I3 :
2016-04-08 07:00:22,988 - SERIAL - DEBUG - Recv: ok 245
2016-04-08 07:00:22,991 - SERIAL - DEBUG - Send: N246 G1 X106.726 Y149.300 E8.13
68*93
2016-04-08 07:00:23,000 - SERIAL - DEBUG - Recv: ok 246
2016-04-08 07:00:23,002 - SERIAL - DEBUG - Send: N247 G1 X106.715 Y149.302 E8.13
74*83
2016-04-08 07:00:23,131 - SERIAL - DEBUG - Recv: ok 247
2016-04-08 07:00:23,412 - SERIAL - DEBUG - Changing monitoring state from 'Print
ing' to 'Paused'
2016-04-08 07:00:24,580 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:25,382 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:26,291 - SERIAL - DEBUG - Send: M105
2016-04-08 07:00:26,619 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:26,695 - SERIAL - DEBUG - Recv: ok 247
2016-04-08 07:00:26,952 - SERIAL - DEBUG - Recv: T:219.28 /220 B:65.02 /65 B@:0
@:112
2016-04-08 07:00:27,297 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:28,302 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:29,300 - SERIAL - DEBUG - Recv: wait
2016-04-08 07:00:29,870 - SERIAL - DEBUG - Changing monitoring state from 'Pause
d' to 'Printing'
2016-04-08 07:00:29,886 - SERIAL - DEBUG - Send: N248 G1 X103.983 Y149.869 E8.27
23*91
2016-04-08 07:00:29,915 - SERIAL - DEBUG - Recv: ok 248

Felix:

2016-04-07 21:27:23,034 - SERIAL - DEBUG - Recv: ok 43
2016-04-07 21:27:23,037 - SERIAL - DEBUG - Send: N44 G1 X162.110 Y107.565 E14.29
35*95
2016-04-07 21:27:23,054 - SERIAL - DEBUG - Recv: ok 44
2016-04-07 21:27:23,057 - SERIAL - DEBUG - Send: N45 G1 X159.565 Y110.110 E14.54
02*94
2016-04-07 21:27:23,247 - SERIAL - DEBUG - Changing monitoring state from 'Print
ing' to 'Paused'
2016-04-07 21:27:24,565 - SERIAL - DEBUG - Recv: ok 45
2016-04-07 21:27:25,292 - SERIAL - DEBUG - Send: M105
2016-04-07 21:27:26,079 - SERIAL - DEBUG - Recv: Error:Missing linenumber
2016-04-07 21:27:26,082 - SERIAL - DEBUG - Changing monitoring state from 'Pause
d' to 'Error: Missing linenumber
'
2016-04-07 21:27:26,093 - SERIAL - DEBUG - Recv:
2016-04-07 21:27:26,096 - SERIAL - DEBUG - Recv: Resend:46
2016-04-07 21:27:26,100 - SERIAL - DEBUG - Recv: ok
2016-04-07 21:27:26,273 - SERIAL - DEBUG - Recv:
2016-04-07 21:27:26,278 - SERIAL - DEBUG - Recv: Resend:46
2016-04-07 21:27:26,280 - SERIAL - DEBUG - Recv: ok
2016-04-07 21:27:26,476 - SERIAL - DEBUG - Recv:
2016-04-07 21:27:26,479 - SERIAL - DEBUG - Recv: Resend:46
2016-04-07 21:27:26,481 - SERIAL - DEBUG - Recv: ok


My actions to demystify this were:
- Exchanged cable of the Felix (no effect)
- Toggled all line-number related checkboxes within octoprint (configuration is the same except for dual extruder and bigger print volume..) -> no effect
- reinstalled octopi + updated to the latest version (as done with the wanhao octopi) -> no effect


Thoughts:
- The Felix firmware does not send "wait"s.., is this the problem (send wait is enable in the firmware)?
- The I3 firmware does not bother with the M105 having no line number, while the Felix does.
- The Felix changes its state from "printing" to "pause" before actually receiving the "ok linenumber" from the printer (more than one second delay..), while the I3 does this after receiving the "ok".. -> maybe it is still a cable issue and my replacement cable was too long.
I'll try 20cm ones shortly.
- this behaviour and also the order in the serial log (send last N..G.. command, switch to pause -> receive ok for N..G.. command.. M105.. missing line number) is 100% reproducible.
However, if you have any ideas about that, I would appreciate it very much.
Thanks a lot!

cm

Comments

  • Reason is that firmware expects ALWAYS line numbers if you start using line numbers. As you can see the pause sends M105 without line number. This is to solve detection of some special communication errors. If you go to gcode.cpp you will see







        } else if(lastLineNumber && !(hasM() && M == 117)) { // once line number always line number!

    if(Printer::debugErrors())

            {

    Com::printErrorFLN(PSTR("Missing linenumber"));

    }

    requestResend();

    return;

    }

    remove the complete else part if you do not want/need this. Not sure why Octoprint does not send line numbers during pause.

  • Thanks for the fast answer! I will try that.
    Is there any reason why the I3-repetier does not have any problems with the line-number-free M105 during pause and the other printer has? Both are sending the line numbers with the normal commands before, so it should send the error also on the I3.. (But, maybe not important at all).

    Have a good day and keep up the nice work!
    cm
  • I guess it uses a older firmware where I did not have that test set.
Sign In or Register to comment.