So you have 9 solenoid valves? One for the transmission and 8 others (configured as 4 pairs of 2) driven by Y cables?
Is this new solenoid the same part number? It’s printed on the solenoid somewhere.
Can you swap the transmission solenoid for one of the others? Does the problem move with this particular solenoid?
I have an idea but I’m not able to try it and it would require you to follow a specific procedure every time you turned on the robot. It would use a Y cable as you suggested but instead of a LED it would use a jumper to short the digital port to ground. The digital port would be configured as an INPUT in the motors and sensors setup dialog, installing the jumper would hold the input low and also ground the control input to the solenoid driver. You would power up the robot and after connection and the code runs reconfigure the digital port to be an output, I need to check which one exactly but what you need is to configure the port and keep it’s output low (which I think is SensorType dgtl1 ] = sensorDigitalOut; but it may be SensorType dgtl1 ] = sensorLEDtoVCC; one defaults low the other high). At this point you should remove the jumper so you can control the transmission. Normally this would be a bad thing to do, however, there is a serial 1K resistor that’s designed to avoid shorting an output port to ground so SHOULD be safe. I don’t have my scope at home so can not verify, perhaps I would have time tomorrow. As I said before, I also don;t have any pneumatics here so would have to simulate that. I think this should be a last resort and you should try perhaps swapping with one of the other solenoids first.
Code may be like this.
#pragma config(Sensor, dgtl1, transmission, sensorDigitalIn)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
#pragma platform(VEX)
//Competition Control and Duration Settings
#pragma competitionControl(Competition)
#pragma autonomousDuration(20)
#pragma userControlDuration(120)
#include "Vex_Competition_Includes.c" //Main competition background code...do not modify!
/////////////////////////////////////////////////////////////////////////////////////////
//
// Pre-Autonomous Functions
//
// You may want to perform some actions before the competition starts. Do them in the
// following function.
//
/////////////////////////////////////////////////////////////////////////////////////////
void pre_auton()
{
// Allow transmission control
SensorValue transmission ] = sensorDigitalOut;
}
Disclaimer, this is just me thinking out loud, if anyone thinks of a good reason not to do this speak up.
EDIT:
Also, don’t test this with an led as this shorts the led to 5V, no series resistor (5v on one side of the led, gnd on the other).
EDIT2:
I should add, if you really have 9 solenoids, you are close to the limit for the 5V power supply. The solenoid spec is as follows.
[ATTACH]7369[/ATTACH]
The power consumption is 0.5W, so about 100mA of current. 9 Solenoids gives 900mA, the 5V regulator is rated at 1A so not much headroom there. You are still within spec but I just wanted to point this out.
