File MIES_AmplifierInteraction_MolecularDevices.ipf

AI_MCC Interface with the Axon/MCC amplifiers

Functions

static variable AI_MCC_InitAxonTelegraphStruct(AxonTelegraph_DataStruct *tds)
static variable AI_MCC_GetAmpAxonSerial(string device, variable headStage)

Returns the serial number of the headstage compatible with Axon* functions,.

See also

GetChanAmpAssign

static string AI_MCC_GetAmpMCCSerial(string device, variable headStage)

Returns the serial number of the headstage compatible with MCC* functions,.

See also

GetChanAmpAssign

static variable AI_MCC_GetAmpChannel(string device, variable headStage)

Return the channel of the currently selected head stage.

static variable AI_MCC_IsValidSerialAndChannel(string mccSerial = defaultValue, variable axonSerial = defaultValue, variable channel = defaultValue)
static variable AI_MCC_AssertOnInvalidAccessType(variable accessType)
static variable AI_MCC_GetMCCScale(variable clampMode, variable func, variable accessType)

Return the unit prefixes used by MIES in comparison to the MCC app.

Parameters:
variable AI_MCC_UpdateDependentSettings(string device, variable headStage, variable func, variable clampMode)

Update the settings which the amplifier changed as a side effect of writing func

Parameters:
  • device – device

  • headStage – MIES headstage number, must be in the range [0, NUM_HEADSTAGES[

  • func – Function which was written, see AI_SendToAmpConstants

  • clampMode – clamp mode of func

std::tuple<variable, variable, string, string> AI_MCC_QueryGainsUnitsForClampMode(string device, variable headstage, variable clampMode)

Query the MCC application for the gains and units of the given clamp mode.

Assumes that the correct amplifier is already selected!

variable AI_MCC_OpenMCCs(string ampSerialNumList, string ampTitleList)

Opens Multi-clamp commander software.

Parameters:
  • ampSerialNumList – A text list of amplifier serial numbers without leading zeroes Ex. “834001;435003;836059”, “0;” starts the MCC in Demo mode Duplicate serial numbers are ignored as well as amplifier titles for the duplicates. For each unique serial number one MCC is opened.

  • ampTitleList – MCC gui window titles, blank or with the same number of items as ampSerialNumList

Returns:

1 if all unique MCCs specified in ampSerialNumList were opened, 0 if one or more MCCs specified in ampSerialNumList were not able to be opened

static wave AI_MCC_GetMCCSerialNumbers()

Gets the serial numbers of all open MCCs.

Returns:

a 1D FREE wave containing amplifier serial numbers without leading zeroes

static string AI_MCC_GetMCCWinFilePath()

Return a path to the MCC.

Hardcoded as Igor does not allow to query that information.

Distinguishes between i386 and x64 Igor versions

string AI_MCC_GetAmplifierList()

Return a nicely layouted list of amplifier channels.

Used as popup menu value function.

static string AI_MCC_FormatTelegraphServerList(wave telegraphServers)
string AI_MCC_GetAmplifierDef(variable ampSerial, variable ampChannel)

Return the amplifier list entry for the given amplifier serial and channel.

std::tuple<variable, variable> AI_MCC_ParseAmplifierDef(string amplifierDef)

Parse the entries which AI_GetAmplifierDef() created.

variable AI_MCC_GetHoldingCommand(string device, variable headstage)
variable AI_MCC_GetMode(string device, variable headstage)
static std::tuple<variable, variable> AI_MCC_RetrieveGains(string device, variable headstage, variable clampMode)
static variable AI_MCC_GetOppositeClampAmpMode(variable mode)
variable AI_MCC_SelectMultiClamp(string device, variable headStage)
variable AI_MCC_SetClampMode(string device, variable headStage, variable mode, variable zeroStep, variable selectAmp)
variable AI_MCC_SendToAmp(string device, variable headStage, variable mode, variable func, variable accessType, variable checkBeforeWrite = defaultValue, variable usePrefixes = defaultValue, variable selectAmp = defaultValue, variable value = defaultValue)
variable AI_MCC_EnsureCorrectMode(string device, variable headStage, variable selectAmp)
variable AI_MCC_FillAndSendAmpliferSettings(string device, variable sweepNo)
variable AI_MCC_QueryGainsFromMCC(string device)
variable AI_MCC_FindConnectedAmps(variable rescanHardware)
static std::tuple<AxonTelegraph_DataStruct> AI_MCC_GetTelegraphStruct(variable axonSerial, variable channel)

Variables

static const double NUM_TRIES_AXON_TELEGRAPH = 10
static const string AMPLIFIER_DEF_FORMAT = "AmpNo %d Chan %d"
struct AxonTelegraph_DataStruct

Public Members

uint32 Version

Structure version. Value should always be 13.

uint32 SerialNum
uint32 ChannelID
uint32 ComPortID
uint32 AxoBusID
uint32 OperatingMode
string OperatingModeString
uint32 ScaledOutSignal
string ScaledOutSignalString
double Alpha
double ScaleFactor
uint32 ScaleFactorUnits
string ScaleFactorUnitsString
double LPFCutoff
double MembraneCap
double ExtCmdSens
uint32 RawOutSignal
string RawOutSignalString
double RawScaleFactor
uint32 RawScaleFactorUnits
string RawScaleFactorUnitsString
uint32 HardwareType
string HardwareTypeString
double SecondaryAlpha
double SecondaryLPFCutoff
double SeriesResistance