/// <summary> /// Initialize a new HMC5883L device connected through I2C /// </summary> /// <param name="sensor">I2C Device, like UnixI2cDevice or Windows10I2cDevice</param> /// <param name="gain">Gain Setting</param> /// <param name="measuringMode">The Mode of Measuring</param> /// <param name="outputRate">Typical Data Output Rate (Hz)</param> /// <param name="samplesAmount">Number of samples averaged per measurement output</param> /// <param name="measurementConfig">Measurement configuration</param> public Hmc5883l( I2cDevice sensor, Gain gain = Gain.Gain1090, MeasuringMode measuringMode = MeasuringMode.Continuous, OutputRate outputRate = OutputRate.Rate15, SamplesAmount samplesAmount = SamplesAmount.One, MeasurementConfiguration measurementConfig = MeasurementConfiguration.Normal) { _sensor = sensor; _gain = (byte)gain; _measuringMode = (byte)measuringMode; _outputRate = (byte)outputRate; _samplesAmount = (byte)samplesAmount; _measurementConfig = (byte)measurementConfig; Initialize(); }
/// <summary> /// Initialize a new HMC5883L device connected through I2C /// </summary> /// <param name="i2cDevice">The I2C device used for communication.</param> /// <param name="gain">Gain Setting</param> /// <param name="measuringMode">The Mode of Measuring</param> /// <param name="outputRate">Typical Data Output Rate (Hz)</param> /// <param name="samplesAmount">Number of samples averaged per measurement output</param> /// <param name="measurementConfig">Measurement configuration</param> public Hmc5883l( I2cDevice i2cDevice, Gain gain = Gain.Gain1090, MeasuringMode measuringMode = MeasuringMode.Continuous, OutputRate outputRate = OutputRate.Rate15, SamplesAmount samplesAmount = SamplesAmount.One, MeasurementConfiguration measurementConfig = MeasurementConfiguration.Normal) { _i2cDevice = i2cDevice ?? throw new ArgumentNullException(nameof(i2cDevice)); _gain = (byte)gain; _measuringMode = (byte)measuringMode; _outputRate = (byte)outputRate; _samplesAmount = (byte)samplesAmount; _measurementConfig = (byte)measurementConfig; Initialize(); }
public Qmc5883(II2cBus i2cBus, byte address = 0x0D, Gain gain = Gain.Gain1090, MeasuringMode measuringMode = MeasuringMode.Continuous, OutputRate outputRate = OutputRate.Rate15, SamplesAmount samplesAmount = SamplesAmount.One, MeasurementConfiguration measurementConfig = MeasurementConfiguration.Normal) { i2cPeripheral = new I2cPeripheral(i2cBus, address); base.gain = (byte)gain; base.measuringMode = (byte)measuringMode; base.outputRate = (byte)outputRate; sampleAmount = (byte)samplesAmount; base.measurementConfig = (byte)measurementConfig; Initialize(); }
public Qmc5883(string i2cBus, byte address = 0x0D, Gain gain = Gain.Gain1090, MeasuringMode measuringMode = MeasuringMode.Continuous, OutputRate outputRate = OutputRate.Rate15, SamplesAmount samplesAmount = SamplesAmount.One, MeasurementConfiguration measurementConfig = MeasurementConfiguration.Normal) { var settings = new I2cConnectionSettings(address, 100_000); //The slave's address and the bus speed. var controller = I2cController.FromName(i2cBus); i2cPeripheral = controller.GetDevice(settings); //i2cPeripheral = new I2cPeripheral(i2cBus, address); base.gain = (byte)gain; base.measuringMode = (byte)measuringMode; base.outputRate = (byte)outputRate; sampleAmount = (byte)samplesAmount; base.measurementConfig = (byte)measurementConfig; Initialize(); }