Enabling use of repetier binary protocol w/ Repetier-Server

Some background: I'm running a Wanhao i3 v2.1 Melzi-based printer that I've upgraded from the stock firmware to repetier-firmware v1.0.0dev. All of my slicing is done in Simplify3d, with the resulting G-code uploaded to my headless print manager. Until recently I was using Octoprint to manage/montior my prints, but I began to suspect that I was seeing G-code buffer underflows. I've been reading about the repetier proprietary binary protocol, and decided to give Repetier-Server a try.

Having tried Repetier-Server, I've found that there are many reasons to prefer it over Octoprint. The massive increase to print job ETE accuracy is a big one for me, as well as the improved file management. Having said that, I still haven't been able to figure out how to enable the main feature that brought me to Repetier-Server...

I'm running Repetier-Server v0.80.3 on Debian Jesse (Atom D2700 w/ 4GB RAM). As I said above, my printer is running repetier-firmware v1.0.0dev. I added the printer via the Repetier-Server WebUI, and configured it for 115200 baud, ping/pong disabled, buffer 127, with firmware type "repetier-firmware". I've successfully completed several prints now, but it's obviously still communicating via ASCII g-code commands. In addition to just watching the logs, I've checked this by exporting my printer config and opening up the resulting .xml in notepad. In the <connection> section of the config, protocol=0.

So my question is this: if I have a version of Repetier-Firmware that supports the binary protocol, and my printer configuration is set to Repetier-Firmware in Repetier-Server, why doesn't communication occur via the improved protocol? How do I enable binary-based communication? I've considered modifying the .xml such that protocol=2, but I'd rather the change be made via some sort of UI with input validation.

Can someone please advise?

Thanks,

-A

Comments

  • You do not need to do anything. Selecting repetier-firmware automatically activates binary protocol. If you see the firmware xml description in firmwares folder in install dir, you see the protocol for each firmware is preset and for repetier it is repetier.
  • Ah OK, good to hear. So the presence of the protocol=X parameter in the individual printer configuration .xml is a holdover from a previous version of Repetier-Server, and deprecated in 0.80.3?
  • No, it still contains
    <com okAfterResend="true" protocol="repetier" allowColonInAscii="false"/>
    which tells server that it must use repetier for that firmware. Nothing deprecated.

  • My repetier.xml file within the /usr/local/Repetier-Server/firmware/ folder does contain that line, yes. My question was about the protocol line contained within my printer's exported configuration .xml. The connection section looks like this:

    <connection>
    <serial>
    <baudrate>115200</baudrate>
    <device>/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A505QFZP-if00-port0</device>
    <pingPong>false</pingPong>
    <inputBufferSize>127</inputBufferSize>
    <communicationTimeout>3</communicationTimeout>
    <protocol>0</protocol>
    </serial>
    <lcdTimeMode>4</lcdTimeMode>
    <resetScript/>
    </connection>

    My question was about the <protocol>0</protocol> line, and whether it had any impact on the operation of the system, or whether it was deprecated.

    Sorry for the long-winded questions ;)

    -A
  • Ok, now I understand what you mean. I have checked the sources to be sure and that <protocol> is ignored and replaced by the firmware preset. Will remove it for next release.
Sign In or Register to comment.