Guten Tag,
ich bin neu hier im Forum, erst mal was zu mir bin Stephan, 24 Jahre und gelernter Mechatroniker. Mit dem Programmieren hatte ich bisher nicht wirklich viel zu tun, also kompletter Neuling.
Da ich Interesse an Robotik und dem Programmieren habe und bei Conrad großen gefallen an dem RP6 gefunden habe, habe ich mir diesen mal bestellt. Nun habe ich mir erst mal die Anleitung durchgelesen und mir die ersten Beispiel Programme angesehen. Die Grundfunktionen sind mit soweit erst mal kla und ich habe schon kleine Programme geschrieben (LEDs ansteuern, Bumper und ACS auswerten, bestimmte wege/ winkel fahren) das funktioniert schon mal relativ gut. Nun bin ich bei dem Beispiel Move 04 angekommen und da gibt es so die ersten Verständnis Probleme.

1. ich verstehe die Funktion blocking nicht richtig.
wenn blocking true ist wird so lange gefahren bis der weg abgefahren ist, es kann nicht z.B. auf die Bumper reagiert werden
wenn blocking false ist kann während er fährt z.B. auf Bumper reagiert werden und das Programm Fahren verlassen werden
Ist das so richtig oder habe ich das Falsch verstanden?


2. dann verstehe ich Folgenden Abschnitt nicht:

Code:
void moveCommand(behaviour_command_t * cmd)
{
	if(cmd->move_value > 0)
	{
		if(cmd->rotate) 
			rotate(cmd->speed_left, cmd->dir, cmd->move_value, false); 
		else if(cmd->move) 
			move(cmd->speed_left, cmd->dir, DIST_MM(cmd->move_value), false); 
		cmd->move_value = 0; 
	}
	else if(!(cmd->move || cmd->rotate)) 
	{
		changeDirection(cmd->dir);
		moveAtSpeed(cmd->speed_left,cmd->speed_right);
	}
	else if(isMovementComplete())
	{
		cmd->rotate = false;
		cmd->move = false;
	}
}

behaviour_command_t STOP = {0, 0, FWD, false, false, 0, IDLE};

void behaviourController(void)
{
	behaviour_cruise();
	behaviour_escape();

	if(escape.state != IDLE)
		moveCommand(&escape);
	else if(cruise.state != IDLE)
		moveCommand(&cruise); 
	else                   
		moveCommand(&STOP); 
}
Was bedeutet hier das cmd? Und was wird in diesem abschnitt genau gemacht/ festgelegt? Der Rest ist mir soweit ganz kla.

Danke schon mal im Voraus
MfG