///
/// Copyright (c) 2013-2019 Sensus Slovensko a.s.
///
using TBF.Rig.Generic;
using TBF.Boxes;
namespace TBF.Rig.GenericDevices
{
public interface IDiverter : IComponent
{
///
/// 1-based diverter number in case of Elde control board connected diverter (>= 1)
/// 0 = dummy diverter
///
int DiverterNr { get; }
///
/// Diverter state: true = to tank, false = bypass tank
///
bool State { get; }
///
/// Threshold for the ADC value to start the test in %, 0..100
///
int StartThreshold { get; }
///
/// Threshold for low level when diverter transition time is measured in %, 0..100
///
int ThresholdLo { get; }
///
/// Threshold for high level when diverter transition time is measured in %, 0..100
///
int ThresholdHi { get; }
FloatBox SwitchTimeStart { get; }
FloatBox SwitchTimeEnd { get; }
///
/// For a given flow in [m3/h] returns a test time correction in [s]
///
/// Flow in [m3/h]
/// Test time correction in [s]
double TestTimeCorrection(double flow);
}
}