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)
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)
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)
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))
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
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)
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))