Hallo Dirk,

Danke vor ihre Hilfe!

Es wirkt beinahe. Wann ich die obstacle_left und obstacle_right benutzen mit eine anderes programm (bumper(); zum Beispiel, sehe unterstehend Program), liese die Robot die obstacle_left und obstacle_right nicht mehr aus.

Code:
 
#include "RP6RobotBaseLib.h" 

void bumper(void)
{
	uint8_t bumperl = getBumperLeft();
	uint8_t bumperr = getBumperRight();
	
	
	if (bumperl || bumperr)
		{
			moveAtSpeed(0,0);
			
			move(40, BWD, DIST_MM(100), true);
			
			rotate(40, RIGHT, 180, true);
					
			writeString_P("\n OEPS, bumper geraakt");
		}
		
	else 
	{
		writeString_P("\n geen bumper");
		setMotorDir(FWD, FWD);
		moveAtSpeed(30,30);
	}
}

void acsStateChanged(void)
{
	writeString_P("\nACS status is veranderd\n");
	
}

	
int main(void)
{
	initRobotBase(); 				
	ACS_setStateChangedHandler(acsStateChanged);
	powerON();
	setACSPwrMed();
	uint8_t y=0;
				
	while(true)
	{
		writeString_P("\ny = ");
		writeInteger(y, DEC);
				
		writeString_P("\n bumper checken!");
				
		task_ACS();
		writeString_P("\n na task_ACS ");
		
		task_motionControl();
		writeString_P("\n na motionControl");
		
		task_ADC();
		writeString_P("\n Na ADC checken");
		
		task_RP6System();
		
		bumper();
		
		writeString_P("\n obstacle left = ");
		writeInteger(obstacle_left, DEC);
		
		writeString_P("\n obstacle right = ");
		writeInteger(obstacle_right, DEC);
						
		writeString_P("\n\n");
		mSleep(1000);
		y++;
	}
	
	
	return 0;
}
Aber wenn die Bumper eingedrükt ist und die move und rotate function ausgefürht werden, liese die Robot die Werten von obstacle_left und obstacle_right wohl aus.

Warum liese es die Werten nicht konstant aus?

Gruss Fieke