Do i understand correctly that you started with Kevin Watson's "bells and whistles" 2.1 code?
Used as is there seem to be conflicting calls to set PWMs 13,14,15,16 mixing a new method Kevin's introduced with an older unreliable method. Just an oversight.
In User_Autonomous() replace:
Code:
Generate_Pwms(pwm13,pwm14,pwm15,pwm16);
with
Code:
PWM(pwm13,pwm14,pwm15,pwm16);
P.S. You also need to add #include "pwm.h" to user_routines_fast.c
There is also some extra code you should probably comment out in Default_Routine() just before pwms13,14,15,16 are set:
Code:
p1_x = 255 - p1_y;
p1_y = 255 - pwm05;
You might also try testing your output on pwms other than 13-16.
P.S. Remember you have to copy the camera calls from user_routines.c into your autonomous routine to keep the camera running during autonomous.