Hallo zusammen,
ich baue gerade eine Bibliothek für den Raspberry Pi, die ähnliche Funktionen wie die für das M32 bietet, um den RP6 steuern zu können.
Für die Base habe ich das I2C-Slave-Beispielprogramm genommen. Wenn ich jetzt mit dem Raspi über I2C z.B. den Befehl für MoveAtSpeed(30, 30) schicke, dann macht der Robby das auch ganz brav.
Die Move() und Rotate() Funktionen gehen dagegen nicht. Die Ketten fahren nur ganz kurz an bleiben dann wieder stehen.
Das hier ist meine move-Funktion:
Code:
void rp6rpi_move (char desired_speed, char dir, unsigned int distance)
{
char buffer[] = {0, CMD_MOVE, desired_speed, dir, (distance>>8)&0xFF, distance&0xFF};
rp6rpi_write(buffer);
}
Dazu gehört noch:
Code:
//Direction:
#define FWD 0
#define BWD 1
#define LEFT 2
#define RIGHT 3
Und aufrufen tu ich die hiermit:
Code:
int main()
{
rp6rpi_openConnection();
rp6rpi_move(60, FWD, 300);
rp6rpi_closeConnection();
return 0;
};
Warum funzt das nicht? Fehlt Irgend ein Watchdog zeuch oder sowas? Power On? Interrupt?
Viele Grüße
-schumi-
Lesezeichen