responding to "dchesbro", on "Bad Servo Output"

Reverse Motors #3 and #4
Try Channel #3 again, does Motor #4 now react like Motor #3 did except in reverse??
Yes, That would indicate that the motor is not at “fault”. GOTO next Step
No, Motor #3 is at Fault. Return to “vender” for replacment.

Do you have a Programming Kit???
Yes, Try the attached “custom program” to test the Trasmitter’s Output for Channels #1, #2 #3, #4, #5, and #6. They should all look simular in output values.
Yes, Transmitter is putting out the correct values, (e.g. Sticks in Neutral Possition report 127, Sticks report “close to” 35 or 206 [Channel #1 & #2] and “close to” 0 or 255 [Channels #3 to #6] at each end), problem must be the Motor Output port. Return to “vender” for replacment.
No, “your” Transmitter has Bad or Mis-Calibrated Stick, Return to “vender” for replacment or Try Re-calibration procedure (Inventor’s Guide, Page 6-11)

No (Programming Kit), Borrow another Vex Transmitter, try Channel #3 test with Motor #4, does it work correctly?
Yes, “your” Transmitter has Bad or Mis-Calibrated Stick, Return to “vender” for replacment or Try Re-calibration procedure (Inventor’s Guide, Page 6-11)
No, problem must be the Motor or the Motor Output port discovered above. Return to “vender” for replacment.

Also, there might be an issue with the Program that is loaded into the Vex’s User Processor, so you might try Downloading the Default Code to see if that solves the problem.


#include "UserAPI.h"

unsigned char channel_1;
unsigned char channel_2;
unsigned char channel_3;
unsigned char channel_4;
unsigned char channel_5;
unsigned char channel_6;

void main ( void )
{ // "Transmitter Stick Test", Copyright 2006, Mark D. Overholser.  Distribution for "Profit Motive" is Disallowed!!!
      while ( 1 )
      {
            channel_1 = GetRxInput ( 1 , 1 ) ;
            channel_2 = GetRxInput ( 1 , 2 ) ;
            channel_3 = GetRxInput ( 1 , 3 ) ;
            channel_4 = GetRxInput ( 1 , 4 ) ;
            channel_5 = GetRxInput ( 1 , 5 ) ;
            channel_6 = GetRxInput ( 1 , 6 ) ;
            printf("Channel #1-->%4d   Channel #2-->%4d   Channel #3-->%4d\r\n", channel_1,  channel_2,  channel_3);
            printf("Channel #4-->%4d   Channel #5-->%4d   Channel #6-->%4d\r\n\n", channel_4,  channel_5,  channel_6);
      }
}



Transmitter_Stick_Test.zip (1.76 KB)