private static void SetOdr(BarometerOutputDataRate outputDataRate, BitArray bitArray) { bool[] odrBitValues; switch (outputDataRate) { case BarometerOutputDataRate.OneShot: odrBitValues = new bool[] { false, false, false }; break; case BarometerOutputDataRate.Hz_1: odrBitValues = new bool[] { true, false, false }; break; case BarometerOutputDataRate.Hz_7: odrBitValues = new bool[] { false, true, false }; break; case BarometerOutputDataRate.Hz_12_5: odrBitValues = new bool[] { true, true, false }; break; case BarometerOutputDataRate.Hz_25: default: odrBitValues = new bool[] { false, false, true }; break; } ConversionHelper.SetBitArrayValues(bitArray, odrBitValues, odrBeginIndex, odrEndIndex); }
public static byte ConfigureControlByte(BarometerOutputDataRate outputDataRate = BarometerOutputDataRate.Hz_25, bool safeBlockUpdate = true, bool isOn = true) { var bitArray = new BitArray(Constants.ByteBitLength); // BDU bitArray.Set(bduIndex, safeBlockUpdate); // ODR SetOdr(outputDataRate, bitArray); // Power down bit bitArray.Set(pdIndex, isOn); return(ConversionHelper.GetByteValueFromBitArray(bitArray)); }