def __init__(self, device_info): """ Create a new device instance and connect to the CHDK device. :param device_info: Information about device to connect to :type device_info: :class:`DeviceInfo` """ self.info = device_info self._lua = LuaContext() self._lua.globals.devspec = self.info._asdict() self._lua.pexecute(""" con = chdku.connection({bus = devspec.bus_num, dev = devspec.device_num}) con:connect() """) self._con = self._lua.globals.con