public static bool IsBitSet(this StatusRegisterBit bit, StatusRegister reg, RegisterFeedback feedback) { if (reg.SignednessType == Signedness.Signed) { var val = feedback.getSignedValue(); return isBitSet(val, bit.Bit); } else if (reg.SignednessType == Signedness.Unsigned) { var val = feedback.getUnsignedValue(); return isBitSet(val, bit.Bit); } throw new Exception("unknown signedness"); }
public static float BuildScaledValue(this AnalogRegister reg, RegisterFeedback feedback) { if (reg.SignednessType == Signedness.Signed) { var val = feedback.getSignedValue(); return reg.ScalingFactor * val; } else if (reg.SignednessType == Signedness.Unsigned) { var val = feedback.getUnsignedValue(); return reg.ScalingFactor * val; } else { throw new Exception("Unknown data type"); } }