Exactly what I was looking for. Thank you so much. I tested a metal gear micro servo with this program and found that the servo met its stops at 7 degrees and 170 degrees. I would have burnt this one up without your program also. Thank you again. With the new ranges set, the servo doesn't even get warm.
The arduino implementation of servo.write(degrees) was really a sin in this hardware guys mind. It makes an assumption as a default that all servos can travel a full 180 degrees and the default minimum and maximum pulse widths values used are certainly capable of destroying some servos right out of the box as this thread has shown.
Now the servo libraries do give you the 'hooks' to 'correct' the defaults effectively mapping actual pulse width travel stops to 'degrees', but still that still has the error of assuming 180 degrees travel in software is actual true travel range that the servo actually can have. And as most servo manufacture fail to list their actual travel range and minimum and maximum pulse values, it really is a dangerous library in the hands of any one new to using real word servos, if blindly using the defaults the library uses.
I try to always move my servos using servo.writeMicroseconds() and only after I have fully characterized a specific servo as to it's actual min and max pulse width values.
A servo is a terrible thing to waste!