Exemple #1
0
 async def create(cls, loop):
     pi = apigpio.Pi(loop)
     print('connecting..')
     await pi.connect((PIGPIO['HOST'], PIGPIO['PORT']))
     print('pigpio connected')
     right_enc = await Encoder.create(pi, ENCODERS['RIGHT'])
     left_enc = await Encoder.create(pi, ENCODERS['LEFT'])
     return cls(left_enc, right_enc)
Exemple #2
0
    async def init(cls, loop):
        pi = apigpio.Pi(loop)
        print('connecting..')
        await pi.connect((PIGPIO['HOST'], PIGPIO['PORT']))
        print('connected')
        right_motor = await Motor.create(pi, MOTORS['RIGHT'])
        left_motor = await Motor.create(pi, MOTORS['LEFT'])

        return cls(left_motor, right_motor)
Exemple #3
0
    async def initialize(self):
        """Initialise platform."""
        # create pi object and connect
        self.pi = apigpio.Pi(self.machine.clock.loop)
        await self.pi.connect((self.config['ip'], self.config['port']))

        self._switches = await self.pi.read_bank_1()

        self._cmd_queue = asyncio.Queue()
        self._cmd_task = self.machine.clock.loop.create_task(self._run())
        self._cmd_task.add_done_callback(Util.raise_exceptions)
Exemple #4
0
async def start_background_tasks(app):
    app['pi'] = apigpio.Pi(app.loop)
    address = (app['config']['pigpiod_host'], app['config']['pigpiod_port'])
    await app['pi'].connect(address)
    await app['pi'].set_mode(BUTTON_GPIO, apigpio.INPUT)
    app['cb'] = await app['pi'].add_callback(BUTTON_GPIO,
                                             edge=apigpio.RISING_EDGE,
                                             func=functools.partial(
                                                 on_input, app))
    app['epd'] = await EPD.create(auto=True)
    app['clock'] = app.loop.create_task(display_clock(app))
Exemple #5
0
 def __init__(self, loop):
     self.pi = apigpio.Pi(loop)
     self.turn_cw_pin = 23
     self.turn_ccw_pin = 18
     self.sense_turn_cw_pin = 13
     self.sense_turn_ccw_pin = 19
     self.sense_ready_pin = 26
     self.turn_cw_event = asyncio.Event(loop=loop)
     self.turn_ccw_event = asyncio.Event(loop=loop)
     self.ready_event = asyncio.Event(loop=loop)
     self.not_ready_event = asyncio.Event(loop=loop)
     self.num_cw_turn_events = 0
     self.last_cw = 0
     self.last_ccw = 0
Exemple #6
0
    def initialize(self):
        """Initialise platform."""
        # load config
        self.config = self.machine.config_validator.validate_config("raspberry_pi", self.machine.config['raspberry_pi'])

        # create pi object and connect
        self.pi = apigpio.Pi(self.machine.clock.loop)
        yield from self.pi.connect((self.config['ip'], self.config['port']))

        self._switches = yield from self.pi.read_bank_1()

        self._cmd_queue = asyncio.Queue(loop=self.machine.clock.loop)
        self._cmd_task = self.machine.clock.loop.create_task(self._run())
        self._cmd_task.add_done_callback(self._done)
Exemple #7
0
import asyncio
import apigpio

LED_GPIO = 21


@asyncio.coroutine
def start_blink(pi, address):
    yield from pi.connect(address)

    yield from pi.set_mode(LED_GPIO, apigpio.OUTPUT)

    while True:
        yield from pi.write(LED_GPIO, 0)
        yield from asyncio.sleep(1)
        yield from pi.write(LED_GPIO, 1)
        yield from asyncio.sleep(1)


if __name__ == '__main__':

    loop = asyncio.get_event_loop()
    pi = apigpio.Pi(loop)
    address = ('192.168.1.3', 8888)
    loop.run_until_complete(start_blink(pi, address))