Ejemplo n.º 1
0
class Boost:
    def __init__(self, mac_addr, mode='Auto', hci="hci0"):
        self.mac_addr = mac_addr
        self.mode = mode
        self.hci = hci

    def init_hub(self):
        retval = {}
        self.my_movehub = MoveHub(self.mac_addr, self.mode, self.hci)
        try:
            self.my_movehub.start()
        except:
            err_msg = sys.exc_info()[0]
            logger.error("Could not INIT movehub({},{},{}). Error:{}".format(
                self.mac_addr, self.mode, self.hci, err_msg))
            retval['errStr'] = str(err_msg)
            self.try_stop_movehub()
        return retval

    def try_stop_movehub(self):
        if (self.my_movehub is not None):
            try:
                logger.error("Stopping movehub({},{},{})".format(
                    self.mac_addr, self.mode, self.hci))
                self.my_movehub.stop()
            except:
                err_msg = sys.exc_info()[0]
                logger.error(
                    "Could not STOP movehub({},{},{}). Error:{}".format(
                        self.mac_addr, self.mode, self.hci, err_msg))

    def try_move_hub(self, motor, time_ms, dutycycle_pct):
        retval = {}
        try:
            self.my_movehub.run_motor_for_time(motor, time_ms, dutycycle_pct)
        except:
            err_msg = sys.exc_info()[0]
            logger.error("Could not MOVE movehub({},{},{}). Error:{}".format(
                self.mac_addr, self.mode, self.hci, err_msg))
            #-- if(say_error):
            #--     say("Error while trying to move lego. {}".format(
            #--         sys.exc_info()[0]))
            retval['errStr'] = str(err_msg)
        return retval

    def go_forward_command(self):
        self.try_move_hub(MOTOR_AB, 2000, 100)

    def go_back_command(self):
        self.try_move_hub(MOTOR_AB, 2000, -100)
Ejemplo n.º 2
0
#!/usr/bin/env python3

from pyb00st.movehub import MoveHub
from pyb00st.constants import *

from time import sleep

import os

MY_MOVEHUB_ADD = os.environ.get('MYMOVEHUB')
MY_BTCTRLR_HCI = 'hci0'

mymovehub = MoveHub(MY_MOVEHUB_ADD, 'BlueZ', MY_BTCTRLR_HCI)

try:
    mymovehub.start()
    mymovehub.subscribe_all()
    mymovehub.listen_angle_sensor(PORT_D)
    mymovehub.listen_colordist_sensor(PORT_C)

    while True:
        sleep(0.2)
        print('Motor D: {} Color: {}'.format(mymovehub.last_angle_D,
                                             mymovehub.last_color_C))
finally:
    mymovehub.stop()