View Single Post
  #1   Spotlight this post!  
Unread 01-04-2009, 15:38
drhall drhall is offline
Winner 2009 West Michigan Regional
FRC #0216 (RoboDawgs OTL)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2005
Location: Grandville, MI
Posts: 32
drhall is an unknown quantity at this point
Send a message via AIM to drhall
Trouble programming Digital I/O toggle switches in C++

We are having some trouble trying to get toggle switches to work for switching between autonomous modes. The switches are mounted directly to our robot and connected to digital I/O ports 1,2, and 3. We are progamming in Wind River using C++ and I just can't get the code to work. We hooked up a multimeter to the switches (which we have hooked up as ground, signal and power) and we are getting the expected 5V one way and 0 the other.

Here's the code, any help is greatly appreciated!!!

Code:
	{
		m_disabledPeriodicLoops = 0;			// Reset the loop counter for disabled mode
		ClearSolenoidLEDsKITT();
		// Move the cursor down a few, since we'll move it back up in periodic.
		printf("\x1b[2B");
		
		
		DriveDirection = 1;
		DriveSpeed = 1;
		if (Switch1->Get() == 0) {
	
			// stuff to do if Switch1 (left) is on
			// Set direction to positive 1 for left
			DriveDirection = 1.0;
			DriveSpeed = 1.0;
		}
		else  if (Switch2->Get() == 0) 
		{
			//not yet
		}
		else  if (Switch3->Get() == 0) {
			// stuff to do if Switch3 (right) is on
			// Set direction to negative 1 for right
			DriveDirection = -1.0;
			DriveSpeed = 1.0;
		}

	}
That is what's in void DisabledInit. We are then using the DriveDirection variable in AutonomousPeriodic.

Thanks!
Reply With Quote