Victors, Default code, & joystick configuration

Here’s the deal,

Our team is considering using a two-joystick configuration for the drive-trains, where one joystick controls the right transmission, and the other controls the left. However, one of our electronics mentors says that, due to the default code for the robot, we would end up using all 4 Victors just for the drive-trains. My question is, what exactly is it about the default code that does this, and where among the first documents does it explicitly say that?

Your software decision to use 2 joysticks to control the drive does not control how many Victors your robot requires.
Each motor in the kit requires its own speed controller. If you are using the KitBot transmission your choices are 1 motor per side or 2 motors per side. If you choose to use all 4 CIM motors in the transmission than you will require 4 Victor speed controllers.

The rule that specifies one victor per motor is <R77>.

Your mentor is correct as Joe has pointed out. One victor per motor, but you can purchase more victors through IFI for other motors. A close look at the default code would show that the two joystick mode would control two PWM outputs, which you can split (with a splitter cable) to feed the same PWM to two Victors for a dual motor transmission. Each team will need to decide whether they need the power of both motors, I am thinking that might not be the case. You need to decide after practice.

You can use a 2-joystick configuration with 2 Victors, one speed controller for each motor on each side. As pointed out before, the programs capability has nothing to do with the number of motors you would need.

You can just you 2 PWM outputs from your RC rather than the 4 in the default code. Assuming you are using 2 motors (1 on each side with 1 victor each) the default code:

pwm13 = pwm14 = Limit_Mix(2000 + p1_y + p1_x - 127);
pwm15 = pwm16 = Limit_Mix(2000 + p1_y - p1_x + 127);

will change to something like this (where you would connect PWM13 to right motor, and PWM 15 to the left motor):
pwm13 = Limit_Mix(2000 + p1_y);
pwm15 = Limit_Mix(2000 + p2_y);

Hope this helps :slight_smile: