1
0
mirror of https://github.com/undera/pylgbst.git synced 2020-11-18 19:37:26 -08:00

Tested motor on port D

This commit is contained in:
Andrey Pohilko 2017-09-13 13:34:21 +03:00
parent 3c82405040
commit afe5c3a55a
2 changed files with 21 additions and 5 deletions

16
demo.py
View File

@ -2,7 +2,7 @@ import logging
import traceback
from time import sleep
from pylegoboost import MoveHub, COLORS
from pylegoboost import MoveHub, COLORS, EncodedMotor, PORT_D
from pylegoboost.comms import DebugServerConnection, BLEConnection
log = logging.getLogger("demo")
@ -12,7 +12,8 @@ def demo_all(conn):
movehub = MoveHub(conn)
# demo_led_colors(movehub)
# demo_motors_timed(movehub)
demo_motors_angled(movehub)
# demo_motors_angled(movehub)
demo_port_c_motor(movehub)
def demo_led_colors(movehub):
@ -45,6 +46,17 @@ def demo_motors_angled(movehub):
movehub.motor_B.angled(angle, -1)
sleep(1)
movehub.motor_AB.angled(360, 1, -1)
sleep(1)
movehub.motor_AB.angled(360, -1, 1)
def demo_port_c_motor(movehub):
portd = EncodedMotor(movehub, PORT_D)
portd.angled(90, 1)
sleep(1)
portd.angled(90, -1)
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG)

View File

@ -21,8 +21,8 @@ class MoveHub(object):
self.motor_B = EncodedMotor(self, PORT_B)
self.motor_AB = EncodedMotor(self, PORT_AB)
# self.port_c
# self.port_d
self.port_c = None
self.port_d = None
# self.button
# self.tilt_sensor
@ -94,7 +94,10 @@ class EncodedMotor(Peripheral):
# movement type
command = self.TIMED_GROUP if self.port == PORT_AB else self.TIMED_SINGLE
# time
command += struct.pack('<H', int(seconds * 1000))
msec = int(seconds * 1000)
if msec > 255 * 255:
raise ValueError("Too large value for seconds: %s", seconds)
command += struct.pack('<H', msec)
self._wrap_and_write(command, speed_primary, speed_secondary)
@ -111,6 +114,7 @@ class EncodedMotor(Peripheral):
command += struct.pack('<I', angle)
self._wrap_and_write(command, speed_primary, speed_secondary)
# TODO: how to tell when motor has stopped?
class ColorDistanceSensor(Peripheral):