Closed Wallacoloo closed 9 years ago
Pulling this before it gets too massive - build passes all tests; movement, fan control and hotend control all work fine on an actual kosselrampsfd machine. I assume that extrusion works, but I haven't been able to tune my PID loop enough to actually do a test print.
Significant changes:
IoPin
type that abstracts the platform-specificPrimitiveIoPin
and handles inversions, etc. This also makes it possible to compile any machine withmake MACHINE=... MACHINE_CLASS=generic
to run a machine on any platform (uses dummy hardware I/O operations).src/drivers
->src/iodrivers
and anything in that folder that doesn't derive fromIODriver
or isn't IO-related was moved to more appropriate folders (drivers/_coordmap.h -> motion/_coordmap.h).cldoc
. Docs can be viewed online here (still very much a work-in-progress).Lower-level Internal Changes:
Event
class altogether and just useOutputEvent
s.AxisHomeStepper
s - replace with CoordMap::executeHomeRoutine() function.CoordMap
s now have the ability to inject their own IoDrivers into the tuple returns from the Machine by implementing thegetDependentIoDrivers()
function.std::array<float, 4>
andstd::array<float, 3>
with explicitVector
objects & make use of their mathematical operations in motion planning.Etc: