Camera ProcedureParams - Added new parameters in Proces Camera Tab

This commit is contained in:
Michal Buzik 2026-07-14 14:42:47 +02:00
parent f2e6807349
commit 34141481e3
3 changed files with 70 additions and 6 deletions

View File

@ -1427,6 +1427,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Delay between pictures.
/// </summary>
internal static string DelaySendImage {
get {
return ResourceManager.GetString("DelaySendImage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Density.
/// </summary>
@ -3839,6 +3848,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Pictures Count.
/// </summary>
internal static string PictureCouts {
get {
return ResourceManager.GetString("PictureCouts", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to PID.
/// </summary>

View File

@ -543,6 +543,12 @@
<data name="PulsesPerLtr" xml:space="preserve">
<value>Pulses per liter</value>
</data>
<data name="DelaySendImage" xml:space="preserve">
<value>Delay between pictures</value>
</data>
<data name="PictureCouts" xml:space="preserve">
<value>Pictures Count</value>
</data>
<data name="Component" xml:space="preserve">
<value>Component</value>
</data>

View File

@ -20,17 +20,34 @@ namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcedureParams) })[0];
public override XmlSerializer GetSerializer() { return Serializer; }
public double PulsesPerLtr; /// [l^-1]
public override void InitializeAll()
{
PulsesPerLtr = 1.0;
}
///PulsePerMeter [l^-1]
public double PulsesPerLtr;
/// <summary>
/// delta time gap for send parameter
/// </summary>
/// <description>delta time for send parameter 500ms is minimum</description>
public int RoiDeltaTimeMs;
string[] paramNames = new string[]
{
Strings.PulsesPerLtr,
Strings.PictureCouts,
Strings.DelaySendImage,
};
/// <summary>
/// count of picture for send > 1 / grabImage == 0|1 parameter - switch method
/// </summary>
/// <description>count of picture for send > 1 / grabImage == 0|1 parameter - switch method</description>
public int RoiPicCount;
public override void InitializeAll()
{
PulsesPerLtr = 1.0;
RoiPicCount = 1; //default value 1 => grab Image
RoiDeltaTimeMs = 500; //delta time for send parameter 500ms is minimum
}
public override string ParamName(int i) { return paramNames[i]; }
public override int ParamsCount() { return paramNames.Length; }
@ -39,6 +56,8 @@ namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
switch (i)
{
case 0: return PulsesPerLtr.ToString();
case 1: return RoiPicCount.ToString();
case 2: return RoiDeltaTimeMs.ToString();
default: return string.Empty;
}
}
@ -49,6 +68,8 @@ namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
switch (i)
{
case 0: PulsesPerLtr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.None;
case 1: PulsesPerLtr = Int32.Parse(strValue); return CfgUpdateFlags.None;
case 2: PulsesPerLtr = Int32.Parse(strValue); return CfgUpdateFlags.None;
default: return CfgUpdateFlags.None;
}
}
@ -59,11 +80,28 @@ namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
message = string.Empty;
double dummy;
int dummyInt;
switch (i)
{
case 0:
if (Utils.TryParseUDouble(strValue, out dummy)) return true;
break;
case 1:
if (Int32.TryParse(strValue, out dummyInt)) return true;
if (dummyInt < 0 || dummyInt < 50)
{
message = ParamName(i) + " is invalid. Param must be between 0 and 50!";
return false;
}
break;
case 2:
if (Int32.TryParse(strValue, out dummyInt)) return true;
if (dummyInt < 500 || dummyInt < 5500)
{
message = ParamName(i) + " is invalid. Param must be between 500 and 5500!";
return false;
}
break;
default:
message = "Invalid index";
return false;
@ -76,6 +114,8 @@ namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
void CopyContentTo(ProcedureParams prms)
{
prms.PulsesPerLtr = this.PulsesPerLtr;
prms.RoiDeltaTimeMs = this.RoiDeltaTimeMs;
prms.RoiPicCount = this.RoiPicCount;
}
public IParamsProvider Clone()