hi blissz, you asked for feedback and tips.
a good start for autotune is a 'lastgood' variable, containing after every tune the last working level of mh/s each chain. So you could set the new starting value after reboot to 'lastgood' - 18 as example...
How it works now: It does goes up in speed and remembers the frequencies that gave little to no HW errors. After it found a maximum (3 times consequently too many HW errors) it steps back a few steps and then a slower algorithm kicks in and checks each chain for HW errors. If the HW errors are above 6 in 5 minutes it will step back one frequency (in the list of good frequencies)
Any suggestions are appreciated.