1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Repurposing Pirate3d Buccaneer

Discussion in 'Off Topic' started by milw, Jul 29, 2017.

  1. mobilephase

    mobilephase New Member

    Joined:
    Feb 27, 2019
    Messages:
    4
    Likes Received:
    1
    Yea, so far every test print has resulted in the printer resetting before the print starts, also in octoprint I set XYZ to inverted due to the home button made the head travel in the wrong direction
     
  2. racer

    racer New Member

    Joined:
    Dec 23, 2017
    Messages:
    26
    Likes Received:
    3
    ok, atleast the bug is consistent...

    I was worried that I might have damaged my printer whilst reverse engineering the pcb with my probes.
     
  3. mobilephase

    mobilephase New Member

    Joined:
    Feb 27, 2019
    Messages:
    4
    Likes Received:
    1
    In the configuration.h file you have the baudrate set to 38400, in octoprint using 19200, my setup is using your uploaded hex file so I did not compile myself, would thing cause the error?
     
  4. mobilephase

    mobilephase New Member

    Joined:
    Feb 27, 2019
    Messages:
    4
    Likes Received:
    1
    Here is the error from my serial log, it looks like the printer is getting a start command a second time and then resetting.

    2019-02-27 22:07:45,772 - Send: N37 G1 X77.578 Y56.58 E0.57688*102
    2019-02-27 22:07:45,778 - Recv: ok T:201.22 /200.00 @:0
    2019-02-27 22:07:45,787 - Send: N38 G1 X78.151 Y57.123 E0.59173*88
    2019-02-27 22:07:49,422 - Communication timeout while printing, trying to trigger response from printer. Configure long running commands or increase communication timeout if that happens regularly on specific commands or long moves.
    2019-02-27 22:07:49,446 - Send: N39 M105*29
    2019-02-27 22:07:50,076 - Recv: starstart
    2019-02-27 22:07:50,093 - Recv: echo: Watchdog Reset
    2019-02-27 22:07:50,160 - Recv:
     
  5. racer

    racer New Member

    Joined:
    Dec 23, 2017
    Messages:
    26
    Likes Received:
    3
    What I think happens is that the AtMega 1684 resets and that this causes the communication time out. My suspicion is that the reset is caused by a safety trigger in the Marlin Firmware somehow.
     
  6. Dragonsquirrel

    Dragonsquirrel New Member

    Joined:
    Aug 24, 2018
    Messages:
    3
    Likes Received:
    3
    I wonder if the resets are related to why Buccaneer came up with their slightly crazy 4 byte checksum, because apparently without it, they couldn't maintain reliable serial comms with the atmega board during printing. Rather than fix the issues with the board design to prevent the data corruption, they added a more robust checksum, and software handshaking on top of the normal gcode usage.

    Anyways, looks like you are seeing Octoprint say that Marlin sent that it just performed a watchdog reset. That's a feature in marlin designed to check if the atmega has gone loopy, and stopped processing code.. In theory you could stop it performing a watchdog reset by undefining USE_WATCHDOG but in practice remember that doing this could lead to the atmega crashing while doing something important, like temperature regulation, which could lead to flames and other excitement.

    Definitely keeping an eye on your progress tho =) My own attempts to run octoprint on it with stock atmega firmware are paused at the mo as I have to work on other stuff. I had octoprint able to send the right checksums, but the printer would get ahead of itself, hinting that perhaps their firmware expects the client to wait in some circumstances before transmitting the next command, where as octoprint wanted to keep sending until the printer yelled uncle. I didn't dig too much deeper but it would have meant adding a per gcode wait for required response approach to keep the flow of data steady as per the original buccaneer app.
     

Share This Page