Hangs near the begining, perhaps G92 slow?

Debuging Host to my Firmware communication using Repetier Host is not going well.

I have checked the data in the Rx buffer, and all commands have been tested. These work with

the terminal program probably since its slow manual entry.  I have a 64byte RxBuffer and

can preload it before outputting "start" .  That also worked fine. However the Host

in ping pong modes times out when the instruction replies with status information

in the following format     Reply_Value ok on a single line. 

In non ping pong mode this seems to

be accepted and there are no timeout. I wish I had a typical bootup listing to see if

I have a problem with output formatting. The following boot and start sequence is

what I receive in the Repetier debug window;

 

start

N1 M140 S0*100

N2 M84*29

ok

ok

N1 M110*34    Restarted due to start

N2 M115*36

N4 M114*35           //WHERE IS N3, I never see it.

N5 M111 S6*98

ok      (for N1)

N6 T0*60

FHamori Version 6.1 12/6/2016  

X0.0 Y0.0 Z0.0 E0.0 ok    ( for N2 )

ok    (for N3)

N7 M80*28

ok  (for N4)

ok  (for N5)

N8 M107*45

N9 G28*26

ok  (for N6)

ok  (for N7)

N10 G1 Z5 F5000*53  //Problem because Z moves very slowly??

ok  (for N8)

N11 G21*42

ok   (for N9)

N12 G90*35

ok   (for N10)

N13 G92 E0*117

ok  (for N11)

N14 G1 Z0.35 F7800*22   (This did run?)

ok   (for N12)

I dont know if this is correctly understood by me.

I tried modifying the acknowledge to be on a separate line, but nothing really changed.

Also an "rs10" with no space separation never does any resend and I also "tryed rs 10"

which also doesn't respond.  Should it be "rs N10"

Comments

  • The version line also had an "ok"  acknowledge, Sorry.

  • Repetier uses
    Resend:Linenumber

    not sure what marlin uses.

    "ok" must be at the beginning of the line, so "Reply_Value ok " is not detected! And for good error detection it should simply be
    ok linenumber

    Host has a timeout. Normal moves must finish within timeout. Use busy protocol to tell host about a long running command. So if G1 takes longer then 2 seconds send every 2 seconds 
    busy:homing
    or whatever you want after busy: to describe slow operation.
  • It is very likely that G28 was way too slow because of my implementation and timed out the following command, since G28 replies right away before it starting the homing, however the following command may have to wait for G28 to finish before they can start . 
      
    So the resend is  rs(semicolon)Line no? This is why it would be nice to have an example.  You wrote that "ok" must be at the beginning of a line.  Does that mean that regardless of a buffered or unbuffered command "ok" starts on a new line, even though an unbuffered command is only acknowledged after it is finished.  I have tried that.
    For acknowledging I simply output "ok", based on an example and reprap documentation, rather than  "ok lineno", even though the line no would really be nice to display.
  • Nom resend is as I said
    Resend:Linenumber

    Yes ok starts always on a new line. Do not really understand the mixing of input and output buffer. They are independent.
Sign In or Register to comment.