The requirement was simply neither obvious nor intuitive. Drawback
is, the indices of temperature sensors can now differ from these
of the heaters. That's easier to recognize for newbies, though.
It was replaced a few weeks ago by usb_serial, which is a single
file solution, so no submodules are required. Also, a recent
Teensy user reported usb_serial to work much better.
The binary size impact is moderate, like 18 bytes plus
4 bytes per endstop defined.
The story is a follows:
The endstop logic can be used to use a touch probe with PCB
milling. Connect the (conductive) PCB surface to GND, the
spindle/mill bit to the signal line, turn the internal pullups
on and there you go.
However, doing so with pullups always enabled and while milling
under (conductive) water showed polished mill and drill bits to
become matte after a few hours of usage. Obviously, this small
0.5 mA current from the pullup resistors going through the
rotating mill bit is sufficient to get some spark erosion going.
That's bad, as spark erosion happening also means tools become
dull faster than neccessary.
With this patch, pullups are turned on while being used, only,
so this sparc erosion should go away.
Files for trying splitting up paths into sub-paths:
acceleration - constant speed move - deceleration
This could allow to calculate acceleration/deceleration with only
16 bit integers, greatly speeding up the step interrupt.
It should also make look-ahead more simple and allow to round out
corners with curves. Rounding corners is mandatory when keeping
movement speed at corners.
For trying, run ./alg2.make, it'll run on the host computer and
should show a graph.
At this point in time not a single user of LUFA is known and
here is reported how usb_serial apparently works more reliable:
http://forums.reprap.org/read.php?147,33082,160724#msg-160724
So it's likely we can move from lufa_serial to usb_serial entirely.
This is not only handy for debugging non-PWM mode, it may also
help those who run a heated bed attached to a solid state relay.
This way it was found out connecting heaters to non-PWM pins
works just fine and did so for a loooong time.
Not yet distributed to all the config.h templates.
This enhances encapsulation.
An attempt to initialise only the timers in use was abandoned.
This isn't only unneccessary, as pins are still in normal
operation mode unless their bits in TCCR0A/TCCR2A/... are set,
even with the timer behind the pins running, it's also at least
tricky to sort pins and their timer bits at compile time. Doing
the sorting at runtime would cause additional binary size.
- ATmega32U timer 4 register handling differs from other AVRs:
Change heater.c and mendel.c.
- LUFA USB recognition expanded in Makefile.
- Add section for __AVR_ATmega32U4__ in arduino.h.
The atmega32u4 timer 4 registers differ from other AVRs, requiring
changes in heater.c and mendel.c The teensy/atmega32u4 uses LUFA USB,
but does not have 'usb' in the name, requiring changes in the
makefile PID values read from a blank EEPROM are set to default
rather than using zeros.