页面逻辑的修改

This commit is contained in:
2026-05-07 11:54:20 +08:00
parent 596425d12c
commit fa35e3d529
2 changed files with 57 additions and 27 deletions

View File

@@ -54,7 +54,7 @@ namespace 头罩视野.Services
}
}
}
// 没有亮灯返回0
if (bottomAngles.Count == 0)
return 0;

View File

@@ -79,8 +79,6 @@ namespace 头罩视野.Views
private double _stepAngle = 10.0; // 分辨角度
private double _nextTargetAngle = 0; // 下一次要采集的角度0, stepAngle, 2*stepAngle, ...
bool isLeftOnly = false;
bool isRightOnly = false;
bool isBinocular = false;
@@ -168,16 +166,16 @@ namespace 头罩视野.Views
ButtonTest.Content = "测试中...";
// 2. 清空累加值
_leftTotalArea = 0;
_rightTotalArea = 0;
_binocularTotalArea = 0;
maxBottomViewAngle = 0;
//_leftTotalArea = 0;
//_rightTotalArea = 0;
//_binocularTotalArea = 0;
//maxBottomViewAngle = 0;
isLeftOnly = btnLeft.Content.ToString() == "左眼关" && btnRight.Content.ToString() == "右眼开";
isRightOnly = btnRight.Content.ToString() == "左眼开" && btnLeft.Content.ToString() == "右眼关";
isRightOnly = btnLeft.Content.ToString() == "左眼开" && btnRight.Content.ToString() == "右眼关";
isBinocular = btnLeft.Content.ToString() == "左眼关" && btnRight.Content.ToString() == "右眼关";
System.Diagnostics.Debug.WriteLine($"灯条数据:{isLeftOnly}1111{isRightOnly}11111{isBinocular}");
System.Diagnostics.Debug.WriteLine("start11111");
await calCurrentangle();
_nextTargetAngle = _stepAngle;
@@ -192,26 +190,53 @@ namespace 头罩视野.Views
public void UpdateVisionResults(double BotViAn)
{
zmsyarea.Text = _leftTotalArea.ToString("0.00"); // 左目
ymsyarea.Text = _rightTotalArea.ToString("0.00"); // 右目
smsyarea.Text = _binocularTotalArea.ToString("0.00"); // 双目
zmsyarea.Text = _leftTotalArea.ToString("0"); // 左目
ymsyarea.Text = _rightTotalArea.ToString("0"); // 右目
smsyarea.Text = _binocularTotalArea.ToString("0"); // 双目
// 3. 计算空白区视野面积(双目时才有效)
if (double.TryParse(smsyarea.Text, out double binocularTotalArea))
{
double blankArea = GetArea.GetBlankViewArea(binocularTotalArea);
kbsyarea.Text = blankArea.ToString("0.00"); // 空白视野面积
}
//if (double.TryParse(smsyarea.Text, out double binocularTotalArea))
//{
// double blankArea = GetArea.GetBlankViewArea(binocularTotalArea);
// kbsyarea.Text = blankArea.ToString("0.00"); // 空白视野面积
//}
//// 4. 计算下方视野面积
int botViAnInt = (int)Math.Round(BotViAn);
xfsyarea.Text = botViAnInt.ToString("0.0"); // 下方视野
xfsyarea.Text = botViAnInt.ToString("0"); // 下方视野
// 5. 计算视野保存率(双目)
if (double.TryParse(smsyarea.Text, out double totalAreaForRate))
// 5. 计算视野保存率(双目)根据左右目视野不同算不同的值
if (isLeftOnly)
{
double binocularRate = GetArea.CalcVisionRate(totalAreaForRate);
sybhl.Text = binocularRate.ToString("0.00"); // 视野保存率
double binocularRateL = GetArea.CalcVisionRate(_leftTotalArea);
sybhl.Text = binocularRateL.ToString("0"); // 视野保存率
double blankArea = GetArea.GetBlankViewArea(_leftTotalArea);
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
}
else if (isRightOnly)
{
double binocularRateR = GetArea.CalcVisionRate(_rightTotalArea);
sybhl.Text = binocularRateR.ToString("0"); // 视野保存率
double blankArea = GetArea.GetBlankViewArea(_rightTotalArea);
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
}
else if (isBinocular)
{
double binocularRateD = GetArea.CalcVisionRate(_binocularTotalArea);
sybhl.Text = binocularRateD.ToString("0"); // 视野保存率
double blankArea = GetArea.GetBlankViewArea(_binocularTotalArea);
kbsyarea.Text = blankArea.ToString("0"); // 空白视野面积
}
//if (double.TryParse(smsyarea.Text, out double totalAreaForRate))
//{
// double binocularRate = GetArea.CalcVisionRate(totalAreaForRate);
// sybhl.Text = binocularRate.ToString("0.00"); // 视野保存率
//}
//上面有值之后更新一下 共享数据
ShowAreaData();
}
@@ -322,10 +347,10 @@ namespace 头罩视野.Views
await Dispatcher.InvokeAsync(() =>
{
zmsyarea.Text = _leftTotalArea.ToString("0.00");
ymsyarea.Text = _rightTotalArea.ToString("0.00");
smsyarea.Text = _binocularTotalArea.ToString("0.00");
xfsyarea.Text = maxBottomViewAngle.ToString("0.0");
zmsyarea.Text = _leftTotalArea.ToString("0");
ymsyarea.Text = _rightTotalArea.ToString("0");
smsyarea.Text = _binocularTotalArea.ToString("0");
xfsyarea.Text = maxBottomViewAngle.ToString("0");
});
}
@@ -427,7 +452,6 @@ namespace 头罩视野.Views
UpdateVisionResults(maxBottomViewAngle);
await _modbusMaster.WriteSingleCoilAsync(1, 102, false);
isFinished = false;
System.Diagnostics.Debug.WriteLine("start11111");
}
@@ -551,6 +575,12 @@ namespace 头罩视野.Views
//LedOff(led1);
//LedOff(led0);
ma.BtnClickFunction(Function.ButtonType., 90);
zmsyarea.Text = "0"; // 左目
smsyarea.Text = "0"; // 双目
kbsyarea.Text = "0"; // 空白
ymsyarea.Text = "0"; // 右目
xfsyarea.Text = "0"; // 下方
sybhl.Text = "0"; // 视野保存率
}
//左开眼
private void Button_Click_left(object sender, RoutedEventArgs e)