public AnalogInChannel(int channel, AnalogInRange range, AnalogInMode mode) { this.channel = channel; this.mode = mode; this.gain = (float)Math.Pow(2, ((int)range - 4)); }
public void AddAnalogIn(int channel, AnalogInRange range, AnalogInMode mode) { analogInChannels[channel - 1] = new AnalogInChannel(channel, range, mode); //Set DAQ settings: Set Analog In Block //byte[] data = new byte[3]; //data[0] = (byte)mode; //Set Mode //data[1] = 1; //Set Sample Rate //data[2] = 0; //Set Scale //USBWrite(Opcodes.setAnalogInA, data); int nChannels = 0; for (int i = 0; i < analogInChannels.Length; i++) { if (analogInChannels[i] != null) { nChannels += 1; } } //Set DAQ settings: Set Analog In Channel byte[] data = new byte[5]; data[1] = (byte)mode; //Channel Mode, Differential or Single Ended data[2] = (byte)nChannels; //Set Sampling Rate/Time division data[3] = 4; //Set Resolution data[4] = (byte)(range); //Set Gain if (channel <= (analogInChannels.Length / 2)) { data[0] = (byte)channel; //To set channel USBWrite(Opcodes.setAnalogInACH, data); } else { data[0] = (byte)(channel - 8); //To set channel USBWrite(Opcodes.setAnalogInBCH, data); } }