failing to compile - extruder z-offset error

I'm trying to upload the latest firmware to my Azteeg X3 pro, downloaded through the 0.92.4 config page. 
I'm getting an error about Z_PROBE_Z_OFFSET was not declared with a pointer to line 710 of the eeprom.cpp file.
Any help would really be appreciated. The Repetier firmware has been working quite well, but the z-offset didn't seem to be working quite as expected prompting me to try updating (eg. the step values didn't directly seem to correspond/match the expected height/offset changes).

The Arduino IDE was updated on my machine since I last updated the firmware and I am re-using my configuration.h file from my previous working build (using whatever was current back in early August).

Error message follows:

Arduino: 1.6.5 (Windows 7), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Eeprom.cpp: In static member function 'static void EEPROM::initalizeUncached()':
Eeprom.cpp:456: error: 'Z_PROBE_Z_OFFSET' was not declared in this scope
Eeprom.cpp: In static member function 'static void EEPROM::readDataFromEEPROM(bool)':
Eeprom.cpp:711: error: 'Z_PROBE_Z_OFFSET' was not declared in this scope
Exception in thread "AWT-EventQueue-0" java.lang.Error: Error: could not match input

at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.zzScanError(

at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.yylex(

at org.fife.ui.rsyntaxtextarea.modes.CPlusPlusTokenMaker.getTokenList(

at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.getTokenListForLine(

at org.fife.ui.rsyntaxtextarea.SyntaxView.paint(

at javax.swing.plaf.basic.BasicTextUI$RootView.paint(

at javax.swing.plaf.basic.BasicTextUI.paintSafely(

at javax.swing.plaf.basic.BasicTextUI.paint(

at javax.swing.plaf.basic.BasicTextUI.update(

at org.fife.ui.rtextarea.RTextAreaBase.paintComponent(

at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.paintComponent(

at javax.swing.JComponent.paint(

at javax.swing.JComponent.paintChildren(

at javax.swing.JComponent.paint(

at javax.swing.JViewport.paint(

at javax.swing.JComponent.paintChildren(

at javax.swing.JComponent.paint(

at javax.swing.JComponent.paintToOffscreen(

at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(

at javax.swing.RepaintManager$PaintManager.paint(

at javax.swing.RepaintManager.paint(

at javax.swing.JComponent._paintImmediately(

at javax.swing.JComponent.paintImmediately(

at javax.swing.RepaintManager$

at javax.swing.RepaintManager$

at Method)


at javax.swing.RepaintManager.paintDirtyRegions(

at javax.swing.RepaintManager.paintDirtyRegions(

at javax.swing.RepaintManager.prePaintDirtyRegions(

at javax.swing.RepaintManager.access$1300(

at javax.swing.RepaintManager$

at java.awt.event.InvocationEvent.dispatch(

at java.awt.EventQueue.dispatchEventImpl(

at java.awt.EventQueue.access$500(

at java.awt.EventQueue$

at java.awt.EventQueue$

at Method)


at java.awt.EventQueue.dispatchEvent(

at java.awt.EventDispatchThread.pumpOneEventForFilters(

at java.awt.EventDispatchThread.pumpEventsForFilter(

at java.awt.EventDispatchThread.pumpEventsForHierarchy(

at java.awt.EventDispatchThread.pumpEvents(

at java.awt.EventDispatchThread.pumpEvents(


'Z_PROBE_Z_OFFSET' was not declared in this scope

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.


  • Z_PROBE_Z_OFFSET is a new setting, so you need to add it to your existing one. See original config for explaination.

    If you made it with config tool uploading and downloading will also fix it.
  • I love the option to upload my old config and download an updated version, but your wizard appears to read from the commented configuration string at the bottom of the Configuration.h file rather than the actual settings within the file. I've made a lot of changes over the months since generating the original file.

    I didn't find a description for the following variables in the config wizard, but adding them in fixed the compile error. 
    #define Z_PROBE_Z_OFFSET 0
    #define Z_PROBE_Z_OFFSET_MODE 0

  • Yes, it only understands the json string at the end. So you should always make changes in config tool. These are in features->

    Bed Coating.

Sign In or Register to comment.