Backwards auton_mode

After finally deciding what to do for our line-tracking code, I figured that it was about time to learn how to use autonomous mode. I seem to understand it and all, so to make sure that I could get it to work, I put the following lines of code in (using the default program):

if auton_mode = 1 then next15:
pause 500
next15:

All that was currently connected was the rotating light spike. When I ran the program, even though it wasn’t in autonomous mode, the light flickered (pausing for 1/2 second at a time, of course)! When I switched the RC’s team number to 0 (put it into autonomous mode), the light was constant, as if it should’ve been in normal mode! I switched it to “auton_mode = 0,” and it worked as it should have, but why? Everywhere I’ve read has said that auton_mode is 1 when it is ON, and 0 when it’s off! What’s going on?

the code does what you asked it to…

if auton_mode = 1 then next15:

if autonomous mode is on then go to the label “next15” ]

pause 500

this code executes if you don’t go to “next15” ]

next15:

this label executes if autonomous mode is on ]

if you’re still confused, PM me…

*jeremy

With that logic, you are going to be going through the next15 label regardless of auton_mode’s value. If you use labels, you need to do something like this:


If auton_mode = 1 then got do_auton

'regular code in here

goto skip_auton
do_autonomous:

'autonomous goes in here

skip_auton:

A better option, if you’re comfortable with 2.5 syntax is something like this:

 if auton_mode = 1 then
'autonomous stuff here
else
'non-autonomous code in here
endif