fischertechnik RoboTXdroid

Hier habt Ihr die Möglichkeit direkt mit dem fischertechnik Team in Kontakt zu treten
Here you have the Possibility to get in direct contact with the fischertechnik-Team

Moderator: fischertechnik Mitarbeiter

Forumsregeln
Bitte beachte die Forumsregeln!

In dieser Unterkategorie können nur fischertechnik-Mitarbeiter und Moderatoren antworten!
Gesperrt
Benutzeravatar
tobiasbrezing
Beiträge: 44
Registriert: 02 Nov 2010, 10:52

fischertechnik RoboTXdroid

Beitrag von tobiasbrezing » 29 Apr 2013, 17:18

Hallo,

um den Mitgliedern der Community und anderen Nutzern die Entwicklung eigener Apps zu ermöglichen, haben wir das Projekt RoboTXdroid (im konkreten handelt es sich um die Sourcen für die App+API) auf Git / Github hochladen lassen.

https://github.com/bloeff/RoboTXdroidBluetooth-API

Grüße
Tobias

Benutzeravatar
x coaster
Beiträge: 80
Registriert: 02 Jan 2013, 20:16
Wohnort: Hannover
Kontaktdaten:

Re: fischertechnik RoboTXdroid

Beitrag von x coaster » 04 Mai 2013, 12:09

Hallo,

find ich gut.

Ist die ApiEntry.java Datei für die Motorenansteuerung zuständig? Ich würde nämlich die Motorenansteuerung mal gerne ändern, um die App auf das jeweilige Fahrzeug anzupassen. ;)

LG
Jonas

TobiasHahn
Beiträge: 9
Registriert: 28 Jan 2013, 19:35

Re: fischertechnik RoboTXdroid

Beitrag von TobiasHahn » 07 Mai 2013, 17:35

Hallo Jonas,

die Datei ApiEntry.java bieten die direkte Schnittstelle zum Robo TX Controller. Hier kannst du beispielsweise die Methode doMovement aufrufen und hier Geschwindigkeiten für M1 und M2 übergeben positiv für vorwärts und negativ für Rückwerts. Wenn du Motoren bzw. Ausgänge einzeln ansteuern willst kannst du dies über die Methoden SetOutMotorValues bzw. SetOutMotorValues machen.

Ein Aufruf könnte dann wie folgt aussehen:

// Steuert die Motoren M1 und M2
ApiEntry.getInstance().doMovement(left, right);

// Schaltet die Ausgänge O7 und O8 an
ApiEntry.getInstance().SetOutPwmValues(6, (short)512);
ApiEntry.getInstance().SetOutPwmValues(7, (short)512);
Diese befinden sich in der Datei AnimationView.java

Der Aufruf für die Gabel bzw. Hoch und Runter befindet sich in der Datei ControllerActivity.java und sieht wie folgt aus:

// Prüft ob Button gedrückt oder losgelassen
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// Setzt Ausgang wenn Button gedrückt
int upVal = ApiEntry.getInstance().GetInIOValue(4);
if (upVal == 0)
ApiEntry.getInstance().SetOutPwmValues(4, (short) 512);
else
ApiEntry.getInstance().SetOutPwmValues(4, (short) 0);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
// Setzt wert auf 0
ApiEntry.getInstance().SetOutPwmValues(4, (short) 0);
}


Wenn du die doMovement aus der ApiEntry.java verwenden möchtest jedoch eine andere Motorkonfiguration hast kannst du dies über die Indizes der TransferArea erledigen.

Beispiel:

// Hier werden direkt werte in die TransferArea übernommen
getTransferArea().ftX1out.duty[0] = (short) (right);
getTransferArea().ftX1out.duty[1] = 0;

Solltest du den Motor an einem anderen Ausgang haben kannst du das über den Array Index steuern

getTransferArea().ftX1out.duty[x] = (short) (right);
getTransferArea().ftX1out.duty[x+1] = 0;

Du musst jedoch beachten, dass ein Motor sich IMMER nur in eine Richtung drehen kann. Deshalb darf immer nur ein Ausgang mit einem Wert belegt werden.

Ich hoffe ich konnte dir etwas weiterhelfen.

Grüße,
Tobias Hahn
RoboTXdroid --> http://goo.gl/ftfSa
Sourcen + API --> http://goo.gl/vb4Fz

Benutzeravatar
x coaster
Beiträge: 80
Registriert: 02 Jan 2013, 20:16
Wohnort: Hannover
Kontaktdaten:

Re: fischertechnik RoboTXdroid

Beitrag von x coaster » 09 Mai 2013, 09:00

Hallo,

danke für die sehr ausführliche Antwort. :mrgreen:

Ich werde es mal ausprobieren. Ein paar Befehle z.B. if kenn ich ja schon von PHP.

Beste Grüße
Jonas

Benutzeravatar
Dirk Haizmann ft
fischertechnik Mitarbeiter
Beiträge: 1126
Registriert: 09 Nov 2010, 08:48

Re: fischertechnik RoboTXdroid

Beitrag von Dirk Haizmann ft » 13 Mai 2013, 07:53

.. und wieder konnte geholfen werden.

ft

Gesperrt