Exemplo n.º 1
0
def printme(pinnum, boolval):
    "This prints a passed string into this function"
    gpio_out = GPIO(pinnum, "out")
    value = boolval
    gpio_out.write(value)
    gpio_out.close()
    return str(True)
Exemplo n.º 2
0
class MotorController(object):
    """电机控制类 v2."""
    FRONT_DIR = 1
    BACK_DIR = 0

    def __init__(self, pwm_args, dir_args, enable_args):
        """
        :param pwm_args: e.g. {'gpio_name': 'GPIO7A1', 'mux': 1, 'name': 'PWM1', 'freq': 'xx', 'duty': 'xx'}
        :param dir_args: e.g. {'name': 'GPIO8A4', 'write': 0}
        :param enable_args: e.g. {'name': 'GPIO8A7', 'write': 1}
        """
        self._pwm = SmartPwm(pwm_args['name'])
        self._pwm.set_config(pwm_args['freq'], pwm_args['freq'] / 2)

        self._dir = GPIO(dir_args['name'])
        self._dir.set_output()
        self._dir.write(dir_args['write'])

        self._enable = GPIO(enable_args['name'])
        self._enable.set_output()
        self._enable.write(enable_args['write'])

    def start(self):
        self._enable.write(0)
        self._pwm.start()

    def stop(self):
        self._pwm.stop()
        self._enable.write(1)

    def set_freq(self, freq):
        self._pwm.set_config(freq, freq / 2)

    @property
    def dir(self):
        return self._dir.read()

    @dir.setter
    def dir(self, value):
        self._dir.write(value)