Bug in reprap-mendel-20100806
October 14, 2010 02:10AM
Specifically, there are a few null-pointer dereferences during static initialization. First, FiveD_GCode_Interpreter declares the global extruder array:

extruder* ex[EXTRUDER_COUNT];
byte extruder_in_use = 0;

That's followed shortly thereafter by the cartesian_dda static instance declarations, before setup() has had a chance to initialize the array:

static cartesian_dda cdda0;
static cartesian_dda cdda1;
static cartesian_dda cdda2;
static cartesian_dda cdda3;

But the cartesian_dda ctor calls set_units, which in turn initializes the e member like so:

units.e = ex[extruder_in_use]->stepsPerMM();

Boom!

Edited 1 time(s). Last edit at 10/14/2010 04:40AM by Myndale.
Sorry, only registered users may post in this forum.

Click here to login