Add skeleton code for setting up motor port drivers as outA to outD
Remove input ports if ouput port allocations fail
Create basic framework for dealing with the output port driver
Autodetection of motor types is working - next step is register the PWM driver and interrupts
Added support for register/unregister motor. Removed extra print statements
LEGO tacho motor class registration framework up and running
Add support for PIN5_TACHO pin definition so that we can register ISRs against state changes
Added ISR handler for tacho motor on output port - needs work to make the IO access prettier
Cleaned up tacho ISR handler - much easier to understand now, and we can get tacho and direction now. Still need to add 2msec callback to output port driver to allow speed to be updated
added basic attributes including target_power, but pwm not working yet
Motor port works now that the pin states are set to float when they are supposed to
Added support for hires 33MHz timer on Timer3
Let the tacho driver use the built-in hires timer
Added getters and setters for speed, power, time, step
Added getters and setters for ramp_UP, ramp_down, and steer
Got calculate_speed working, speed parameter can be read to get current motor speed. Still more cleanup needed. Next step is to get regulate_speed working
Speed regulation now works, instead of power, set target_speed. Next step is ramp up and ramp down to exact position
Motor drivers work reasonably well. Needs some cleanup around power vs speed and pin IDs
Cleaned up the GPIO pin names
Simplified attribute list, cleaned up code, and added position regulation. Next - clean up ramp modes