Wallacoloo / printipi

3d printing directly through the Raspberry Pi's GPIO pins
MIT License
141 stars 43 forks source link

Reorganize folders #53

Closed Wallacoloo closed 9 years ago

Wallacoloo commented 9 years ago

Firstly, the concept of what "drivers" are is a bit vague. But I think it can be solidified be renaming them "iodrivers" or something similar, as a Machine exposes a tuple through getIoDrivers(), and each member of the tuple is a subclass of IoDriver.

So, our "drivers" are:

I think we can group the thermistor in there, since it handles IO, even though it's a data member of TempControl. I also think we can leave IOPin in there for now, because it's designed to be used exclusively by drivers (although it is also referenced by the Machine...)

So, nothing else besides those should reside in src/drivers.

I think "src/drivers/auto", "drivers/generic", and "drivers/rpi" should be moved to "src/platforms/", because they represent generic overrides for each platform - some of the overrides are IO based (PrimitiveIoPin), some are optimization-based (Clocks & such).

AxisStepper and its implementations should be moved into the "motion" folder, as they represent motion.

I'm not sure if CoordMap & implementations belong in their own folder or in the motion folder. I would put them in the motion folder for now, especially considering that they might later interact with the AxisSteppers.