def METHOD_NAME(self):
    """Initialise communications, populate channel list, etc."""
    self.device.Connect(self._serial_number)
    self.connected = True
    assert len(self.channels) == 0, "Error connecting: we've already initialised channels!"
    for i in range(self.device.ChannelCount):
        chan = self.device.GetChannel(i+1) # Kinesis channels are one-indexed
        chan.WaitForSettingsInitialized(5000)
        chan.StartPolling(250) # getting the voltage only works if you poll!
        time.sleep(0.5) # ThorLabs have this in their example...
        chan.EnableDevice()
        # I don't know if the lines below are necessary or not - but removing them
        # may or may not work...
        time.sleep(0.5)
        config = chan.GetPiezoConfiguration(chan.DeviceID)
        info = chan.GetDeviceInfo()
        max_v = Decimal.ToDouble(chan.GetMaxOutputVoltage())
        self.channels.append(chan)
    self.axis_names = tuple("channel_{}".format(i) for i in range(self.device.ChannelCount))