namespace Tinkerforge
{
    public static class EVoltage_Current
    {
        public static (byte Averaging, byte VoltageConversionTime, byte CurrentConversionTime) GetConfiguration(
            this BrickletVoltageCurrent voltageCurrent)
        {
            voltageCurrent.GetConfiguration(out byte averaging, out byte voltageConversionTime,
                out byte currentConversionTime);
            return (averaging, voltageConversionTime, currentConversionTime);
        }

        public static (int GainMultiplier, int GainDivisor) GetCalibration(this BrickletVoltageCurrent voltageCurrent)
        {
            voltageCurrent.GetCalibration(out int gainMultiplier, out int gainDivisor);
            return (gainMultiplier, gainDivisor);
        }

        public static (char Option, int Min, int Max) GetCurrentCallbackThreshold(
            this BrickletVoltageCurrent voltageCurrent)
        {
            voltageCurrent.GetCurrentCallbackThreshold(out char option, out int min, out int max);
            return (option, min, max);
        }

        public static (char Option, int Min, int Max) GetVoltageCallbackThreshold(
            this BrickletVoltageCurrent voltageCurrent)
        {
            voltageCurrent.GetVoltageCallbackThreshold(out char option, out int min, out int max);
            return (option, min, max);
        }

        public static (char Option, int Min, int Max) GetPowerCallbackThreshold(
            this BrickletVoltageCurrent voltageCurrent)
        {
            voltageCurrent.GetPowerCallbackThreshold(out char option, out int min, out int max);
            return (option, min, max);
        }
    }
}
