Ich sitze gerade am Roomba und hätte da eine Frage. Das Thema ist ja nicht wirklich neu, also zumindest in Roomba-Kreisen aber wenn ich das programmiere möchte ich das zumindest ein wenig verstehen.
Ich hänge mal wieder an Bits&Bytes vs. String&integer&Hex.
Ich bekomme von der seriellen die Sensordaten schon mal als Liste und kann diese auch zuordnen:
Jetzt hab ich im Netz natürlich eine python-Umsetzung des Roomba gefunden, aber ohne es zu verstehen geht es natürlich nicht
. Das Rad komplett neu zu erfinden macht aber auch keinen Sinn, also hier die Inspirationshilfe:
https://code.google.com/p/pyrobot/so...pyrobot.py#436
Dies wären hier als Byte 23 und 24.
Nun möchte ich also bei o.g. Antwort der Sensordaten als Byte 23 und 24 in folgender Funktion geeignet formatiert übernehmen:
Herauskommen müsste irgendwas im mA Bereich
. Nach 3 Stunden Goolge sowie try&error geb ich mich geschlagen und bitte um Hilfe. Hätte den Vorteil dass ich mir die weiteren Funktionen weiter erarbeiten könnte.
Die SCI-Doku schweigt sich dazu folgendermaßen aus:
Ansonsten...fährt der Roomba schon via sh.py los und nach Hause
.
Grüße
Ich hänge mal wieder an Bits&Bytes vs. String&integer&Hex.
Ich bekomme von der seriellen die Sensordaten schon mal als Liste und kann diese auch zuordnen:
Code:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 65, 87, 255, 61, 34, [B]10[/B], [B]109[/B], 10, 136]

https://code.google.com/p/pyrobot/so...pyrobot.py#436
Dies wären hier als Byte 23 und 24.
Nun möchte ich also bei o.g. Antwort der Sensordaten als Byte 23 und 24 in folgender Funktion geeignet formatiert übernehmen:
Code:
def DecodeUnsignedShort(self, low, high): """Map an unsigned short from a 'high' and 'low' bytes to 'name'.""" new1 = struct.unpack('>H', high + low)[0] print (_new)

Die SCI-Doku schweigt sich dazu folgendermaßen aus:
Charge 2Bytes 0 – 65535 mAh
Range: 0 – 65535
Data type: 2 bytes, unsigned
The current charge of Roomba’s battery in milliamp-hours (mAh).
The charge value decreases as the battery is depleted during
running and increases when the battery is charged.
Range: 0 – 65535
Data type: 2 bytes, unsigned
The current charge of Roomba’s battery in milliamp-hours (mAh).
The charge value decreases as the battery is depleted during
running and increases when the battery is charged.

Grüße
Kommentar