Re: servo programming limits vs actual mechanical limit
Servos are controlled by sending a pulse every 20 milliseconds or so on one of the three servos wires. The other two wires are power and ground. The pulse is nominally 1.0 to 2.0 milliseconds long with 1.5 milliseconds indicating that the servo should move to the center position. Servo controllers typically have an operating pulse range of 0.8 to 2.2 milliseconds to account for variations in an individual servo. For the FTC, the period of the pulses and the min and max pulse duration are managed within the HiTechnic Servo Controller and the values are fixed and not programmable.
The more sophisticated R/C RF equipment usually have "trim" adjustments that will allow you to adjust the center point and the min/max values. There is no direct equivalent for this with the FTC equipment.
If your servo is only moving 120 degrees then it is defective and you should get a replacement.
Given all of the above, the values of 0 and 255 should give you the full range of movement control over your servos.What you max find is that the minimum and maximum values are reached at somewhat lower/higher values than 0/255. You may also find that your robot does not utilize the full range of servo movement -- say it may only need 150 degrees of movement. This might equate to servo settings of 40 to 220. If you want the maximum range for your joysticks you may want to scale them so that the joystick range of -127 to +127 is mapped to 40 to 220 and not 0 to 255. Finally, a use for high school linear algebra.
As someone has mentioned, it is possible to break (usually strip the gears) within a servo if you try to move it beyond the mechanical limits which can be either the internal mechanincal stops in the servo or the mechanical constraints in your robot. In the conventional R/C world they have a device called a "servo saver" for this which is typically a flexible connection that will bend instead of stripping gears. However, I suspect in the FTC type of robot you'd not want to use servo savers-- if you end up in a pushing contest with a competitor you probably want maximum torque and not have a bendable piece in your robot.