private static byte[] BuildConfigCommand( ADS1115MultiplexerMode mux, ADS1115PgaScaling gain, ADS1115SampleRate rate, ADS1115DeviceMode mode, ADS1115ComparatorPolarity comparatorPolarity, ADS1115ComparatorMode comparatorMode, ADS1115ComparatorLatching comparatorLatching, ADS1115ComparatorQueueMode comparatorQueueMode) { var command = new byte[3]; command[0] = Ads1X15PointerConfig; command[1] = (byte)((byte)mode << 7 | (byte)mux << 4 | (byte)gain << 1 | (byte)mode); command[2] = (byte)((byte)rate << 5 | (byte)comparatorMode << 4 | (byte)comparatorPolarity << 3 | (byte)comparatorLatching << 2 | (byte)comparatorQueueMode); return(command); }
private void StartComparatorInternal( ADS1115MultiplexerMode mux, ADS1115PgaScaling gain, ADS1115SampleRate rate, ADS1115DeviceMode mode, ushort lowThreshold, ushort highThreshold, ADS1115ComparatorPolarity comparatorPolarity, ADS1115ComparatorMode comparatorMode, ADS1115ComparatorLatching comparatorLatching, ADS1115ComparatorQueueMode comparatorQueueMode) { WriteThreshold(lowThreshold, highThreshold); var command = BuildConfigCommand( mux, gain, rate, mode, comparatorPolarity, comparatorMode, comparatorLatching, comparatorQueueMode); _device.Write(command); }
public void StartComparator( ADS1115MultiplexerMode mux, ushort lowThreshold = 32768, ushort highThreshHold = 32767, ADS1115PgaScaling gain = ADS1115PgaScaling.TwoThirds, ADS1115SampleRate sampleRate = ADS1115SampleRate.X128Sps, ADS1115ComparatorMode comparatorMode = ADS1115ComparatorMode.Traditional, ADS1115ComparatorPolarity comparatorPolarity = ADS1115ComparatorPolarity.ActiveLow, ADS1115ComparatorLatching comparatorLatching = ADS1115ComparatorLatching.Latching, ADS1115ComparatorQueueMode comparatorQueueMode = ADS1115ComparatorQueueMode.TwoConversions) { StartComparatorInternal( mux, gain, sampleRate, ADS1115DeviceMode.Continuous, lowThreshold, highThreshHold, comparatorPolarity, comparatorMode, comparatorLatching, comparatorQueueMode); }