Exemple #1
0
        private void BtnStartClick(object sender, EventArgs e)
        {
            // Get a list of all available MEA USB Devices such as the MEA2100, for example.
            CMcsUsbListNet cDeviceList = new CMcsUsbListNet(DeviceEnumNet.MCS_MEAUSB_DEVICE);

            if (cDeviceList.Count == 0)
            {
                MessageBox.Show("No MEA USB Device connected!", "Error Connecting To Device", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var deviceEntry = cDeviceList.GetUsbListEntry(0);

            CStg200xDownloadNet cStgDevice = new CStg200xDownloadNet();

            // Connect to the stimulator of the device. The lock mask allows multiple connections to the same device
            cStgDevice.Connect(deviceEntry, 1);

            uint electrode = 3;

            // ElectrodeMode: emManual: electrode is permanently selected for stimulation
            cStgDevice.SetElectrodeMode(electrode, ElectrodeModeEnumNet.emManual);

            // ElectrodeDacMux: DAC to use for stimulation
            cStgDevice.SetElectrodeDacMux(electrode, 0, ElectrodeDacMuxEnumNet.Stg1);

            // ElectrodeEnable: enable electrode for stimulation
            cStgDevice.SetElectrodeEnable(electrode, 0, true);

            // BlankingEnable: false: do not blank the ADC signal while stimulation is running
            cStgDevice.SetBlankingEnable(electrode, false);

            // AmplifierProtectionSwitch: false: Keep ADC connected to electrode even while stimulation is running
            cStgDevice.SetEnableAmplifierProtectionSwitch(electrode, false);

            // array of amplitudes and duration
            int[] amplitude = new int[2] {
                10000, -10000
            };                                            // µV
            ulong[] duration = new ulong[2] {
                100000, 100000
            };                                                // µs

            // use voltage stimulation
            cStgDevice.SetVoltageMode();

            // send stimulus data to device
            cStgDevice.PrepareAndSendData(0, amplitude, duration, STG_DestinationEnumNet.channeldata_voltage);

            // connect all stimulation channels to the first trigger
            cStgDevice.SetupTrigger(0, new uint[] { 255 }, new uint[] { 255 }, new uint[] { 1 });

            // start the first trigger
            cStgDevice.SendStart(1);

            cStgDevice.Disconnect();

            MessageBox.Show("Stimulation finished!");
        }
Exemple #2
0
        private void btDisconnect_Click(object sender, EventArgs e)
        {
            device.SendStop(1);
            device.Disconnect();
            device.Dispose();
            device = null;

            cbDevices.Enabled    = true;
            btConnect.Enabled    = true;
            btStart.Enabled      = false;
            btStop.Enabled       = false;
            btDisconnect.Enabled = false;
        }
Exemple #3
0
        private void btConnect_Click(object sender, EventArgs e)
        {
            if (device != null)
            {
                device.SendStop(1);
                device.Disconnect();
                device.Dispose();
                device = null;
            }

            device = new CStg200xDownloadNet(PollHandler);
            CMcsUsbListEntryNet listEntry = usblist.GetUsbListEntry((uint)cbDevices.SelectedIndex);

            device.Connect(listEntry);

            cbDevices.Enabled    = false;
            btConnect.Enabled    = false;
            btStart.Enabled      = true;
            btStop.Enabled       = false;
            btDisconnect.Enabled = true;
        }