Unfortunately, ROBOTC is only able to send a command to the Cortex telling it what the desired position should be; the Cortex then converts that into the pulse train that is used to actually control and move the servo. In some cases, the physical range of the servo (in this case, 180 degrees) falls outside of the standard pulse waves (1.0 ms to 2.0 ms, with 1.5 ms being dead center). This varies from servo to servo and is unfortunately difficult to compensate for before hand.
In this case, since the Cortex (and not ROBOTC) controls the pulse wave output, any range values outside of the standard will not be reachable. The best thing I can recommend in this case is to use physical gearing ratios to access the full 180 degrees of movement (at the cost of servo accuracy).
12/10/12: To clarify; the VEX servos have a listed range of 100 degrees
of movement. This is an electrical limit; when ROBOTC sends the Cortex a value of -127, it will move the servo to -50 degrees, and when ROBOTC sends it a value of 127, it will move the servo to +50 degrees. This limit cannot be overcome on the servo itself
. The only way to change the range of movement from a servo is to gear the output of the servo appropriately. The servo will still have the electronic limit on how far it can move in one direction or the other, but the output's gearing will help to compensate for this. Hope this helps clarify, and I apologize for any confusion this may have caused.
Check out our Blog
! And our Facebook page
Need help? Take a look at our Wiki
and our Forums.I just met you,
And this is crazy,
But here's my code now,
So fix it, maybe?
~ Carly Rae Jepsen parody