Z probe state not being read with 0.92.3 on Sanguinololu


I am trying to set up my Delta printer and I am having trouble with the Z-probe state. I first tried firmware version 0.91 and I got the printer was working. Z-probe state is read as L or H as appropriate. I followed the instructions here http://www.repetier.com/documentation/repetier-firmware/z-probing/ to set up the bed levelling (I wanted to test a stable version first). The instructions explain that you need version 0.92.X because of bugs in the auto levelling code.

After I was confident that my printer was working I wanted to try the distortion compensation, so I downloaded firmware version 0.92.3. The configuration files match, except for new values. When I use G31 with 0.92.3 the printer returns "Z-probe state:" with no status.

I have tried comparing source files to see if there was a simple error, but as I'm not familiar with the Repetier firmware source code and there are a lot of changes between 0.91 and 0.92.X my investigation was much in vein.

My set up is as follows:
- Repetier 0.92.3 on a Sanguinololu with ATMega1284P.
- Repetier host 1.0.6
- Z probe pin is 16

Here is some log output to show the difference in the two firmware versions tested.

13:27:11.368 : FIRMWARE_NAME:Repetier_0.91 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Delta EXTRUDER_COUNT:1 REPETIER_PROTOCOL:2
13:27:11.370 : Printed filament:0.00m Printing time:0 days 0 hours 0 min
13:27:11.377 : X:0.00 Y:0.00 Z:0.00 E:0.00
13:27:13.960 : Z-probe state:L
13:28:07.545 : No start signal detected - forcing start
13:28:07.568 : FIRMWARE_NAME:Repetier_0.92.3 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Delta EXTRUDER_COUNT:1 REPETIER_PROTOCOL:3
13:28:07.570 : Printed filament:0.00m Printing time:0 days 0 hours 0 min
13:28:07.574 : X:0.00 Y:0.00 Z:0.000 E:0.0000
13:28:07.576 : Unknown command:N7 M20
13:28:08.912 : Z-probe state:

I'd be happy to provide any more information necessary.


  • I was having the same problem. 
    - Repetier 0.92.3 on a Ramps 1.4 with Mega 2856
    - Repetier host 1.0.6
    - Z probe pin is 3, I have also tried pin 18, which was the original that was working before firmware switch. I tested the z-probe for continuity, it is working.

    In commands.cpp, the previous firmware that was working went from this code:

    case 31:  // G31 display hall sensor output
            Com::print(Printer::isZProbeHit() ? 'H' : 'L');

    to this in the non-working firmware:

    case 31:  // G31 display hall sensor output
            Com::print(Endstops::zProbe() ? Com::tHSpace : Com::tLSpace);

    A workaround if you want it to tell you what is going on until someone fixes it:
    Open Repetier.INO in arduino, select the commands.cpp tab, 
    CTRL-F to find, search for "case 31"


    Com::print(Endstops::zProbe() ? Com::tHSpace : Com::tLSpace);

    Com::print(Endstops::zProbe() ? 'H' : 'L' );

    Hope that helps. It worked for me. Now I need to see if it works with the z-probing, because z-probing was not working correctly last night. It was stopping far above the bed and during bed mapping, the printer returned to the home position after every probe.
  • Ok, just found out why it worked for me. I'm using 32 bit due for testing and 

    Com::print(Endstops::zProbe() ? Com::tHSpace : Com::tLSpace);

    shoudl be

    Com::printF(Endstops::zProbe() ? Com::tHSpace : Com::tLSpace);

    so it reads from flash for AVR. On due it makes no difference. 

    Just updated sources.
  • edited May 2015
    Thank you both very much for your responses. I took so long to respond because I have been away all weekend.

    Both fixes work and I'm now correctly reading the state with G31.

    Edit: corrected typo "not" to "now"
Sign In or Register to comment.