Hello everyone, I was just cleaning up the user code for this years 'bot, but I did it in notepad… so I’m not completely up on the syntax. I looked over it the best I could, but I would like some help so that I don’t have to debug it when I go in on Monday. I would also like to know If I am using “SetRelay” correctly, and if there is anything that is done just plain sloppy/ how to fix it. Any help would be GREATLY appreciated
Thank you,
-Cody C.
unsigned char check;
unsigned char topcheck;
\*---------------------------ramp control-------------------------------*/
if (p3_sw_top == 1 && topcheck == 0); // Press top button, kick cylinder extends; press top button cylinder retracts
{
SetRelay ( 2 , 1 ,0 ) ;
topcheck==1;
}
else if (p3_sw_top == 1 && topcheck == 1);
{
SetRelay ( 2 , 0 ,1 ) ;
topcheck==0;
}
if (p3_sw_trig == 1 && check == 0); // Press trigger... Hippo folds down and ramp folds out; Press again, reset.
{
SetRelay ( 3 , 1 ,0 );
SetRelay ( 4 , 0 , 1 );
SetRelay ( 5 , 1 ) ;
check==1;
}
else if (p3_sw_trig == 1 && check == 1);
{
SetRelay ( 3 , 0 ,1 ) ;
SetRelay ( 4 , 1 , 0 );
SetRelay ( 5 , 0 ) ;
check==0;
}
/*----------------------------Arm control------------------------------------*/
if (p4_sw_aux1 == 1); // if top red switch is up, Hippo is up and Jaw is closed
{
SetRelay ( 4 , 1 , 0 ) ;
SetRelay ( 5 , 1 )
}
if (p4_sw_aux1 == 0); // if top red switch is down, Hippo is down and Jaw is open
{
SetRelay ( 4 , 0 , 1 ) ;
SetRelay ( 5 , 0 )
}
if (p4_sw_aux2 == 1); // if bottom red switch is up, Hippo is down and Jaw is closed (ramp down)
{
SetRelay ( 4 , 0 , 1 ) ;
SetRelay ( 5 , 1 )
}
/*-------------------------Shifting-------------------------------------------*/
if (p4_sw_top == 0 && p3_sw_trig == 0); // if shifter is in Bottom position, servos are in position 1
{
pwm05=0;
}
if (p4_sw_top == 1 && p3_sw_trig == 0); // if shifter is in Middle position, servos are in position 2
{
pwm05=127;
}
if (p4_sw_top == 1 && p3_sw_trig == 1); // if shifter is in Top position, servos are in position 3
{
pwm05=255;
}
Well, first of all you shouldn’t have semicolons after each if, that is bad. The comment was mixed up. You had a backwards slash and it should have been a forwards slash. You were also forgeting semicolons after some statements. The last thing I saw was you used == to assign when == is used to compare. = is used to assign. I formated it for you and fixed some errors. Here you go.
unsigned char check;
unsigned char topcheck;
/*---------------------------ramp control-------------------------------*/
if (p3_sw_top == 1 && topcheck == 0) // Press top button, kick cylinder extends; press top button cylinder retracts
{
SetRelay(2, 1, 0);
topcheck = 1;
}
else if (p3_sw_top == 1 && topcheck == 1)
{
SetRelay(2, 0, 1);
topcheck = 0;
}
if (p3_sw_trig == 1 && check == 0) // Press trigger... Hippo folds down and ramp folds out; Press again, reset.
{
SetRelay(3, 1, 0);
SetRelay(4, 0, 1);
SetRelay(5, 1);
check = 1;
}
else if (p3_sw_trig == 1 && check == 1)
{
SetRelay(3, 0, 1);
SetRelay(4, 1, 0);
SetRelay(5, 0);
check = 0;
}
/*----------------------------Arm control------------------------------------*/
if (p4_sw_aux1 == 1) // if top red switch is up, Hippo is up and Jaw is closed
{
SetRelay(4, 1, 0);
SetRelay(5, 1);
}
if (p4_sw_aux1 == 0) // if top red switch is down, Hippo is down and Jaw is open
{
SetRelay(4, 0, 1);
SetRelay(5, 0);
}
if (p4_sw_aux2 == 1) // if bottom red switch is up, Hippo is down and Jaw is closed (ramp down)
{
SetRelay(4, 0, 1);
SetRelay(5, 1);
}
/*-------------------------Shifting-------------------------------------------*/
if (p4_sw_top == 0 && p3_sw_trig == 0) // if shifter is in Bottom position, servos are in position 1
{
pwm05 = 0;
}
if (p4_sw_top == 1 && p3_sw_trig == 0) // if shifter is in Middle position, servos are in position 2
{
pwm05 = 127;
}
if (p4_sw_top == 1 && p3_sw_trig == 1) // if shifter is in Top position, servos are in position 3
{
pwm05 = 255;
}