agrobot_base/AgroBase/OperationControl/Views/Operacao/MonitoramentoView.xaml.cs

101 lines
3.6 KiB
C#

using OperationControl.Controls;
using OperationControl.Models;
using OperationControl.ViewModels.Views.Operacao.Monitoramento;
using System.Windows.Controls;
namespace OperationControl.Views.Operacao
{
/// <summary>
/// Interaction logic for MonitoramentoView.xaml
/// </summary>
public partial class MonitoramentoView : System.Windows.Controls.UserControl
{
public MonitoramentoViewModel _vm;
private TcpVideoReceiver videoFront;
private TcpVideoReceiver videoWeed;
public PulverizadorIndicator Pulverizador => areaPulverizador;
public MonitoramentoView()
{
InitializeComponent();
_vm = new MonitoramentoViewModel();
DataContext = _vm;
videoFront = new TcpVideoReceiver(5000, imgVideoFront);
videoWeed = new TcpVideoReceiver(5002, imgVideoWeed);
cmbCameraFrontalFrameTipo.Items.Clear();
foreach (var m in Enum.GetNames(typeof(AgroBase.Models.Enums.TipoFrameCamera)))
cmbCameraFrontalFrameTipo.Items.Add(m);
cmbCameraFrontalFrameTipo.SelectedIndex = 0;
cmbCameraTraseiraFrameTipo.Items.Clear();
foreach (var m in Enum.GetNames(typeof(AgroBase.Models.Enums.TipoFrameCamera)))
cmbCameraTraseiraFrameTipo.Items.Add(m);
cmbCameraTraseiraFrameTipo.SelectedIndex = 0;
}
#region MAPA
private void MAP_MarkerClicked(object? sender, MapMarkerManager.MarkerClickedEventArgs e)
{
}
private void MAP_StreetMapClicked(object? sender, MapViewControl.StreetMapClickedEventArgs e)
{
}
#endregion
#region CAMERA FRONTAL
private void cmbCameraFrontalFrameTipo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (VariaveisControleOperacao.SelectedRoverId == VariaveisControleOperacao.BaseMarkerID) return;
PararStreamCameraFrontal();
IniciarStreamCameraFrontal();
}
public void IniciarStreamCameraFrontal()
{
videoFront.Iniciar();
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Snr, true, ((AgroBase.Models.Enums.TipoFrameCamera)cmbCameraFrontalFrameTipo.SelectedIndex));
}
public void PararStreamCameraFrontal(bool finalizar = false)
{
videoFront.Parar();
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Snr, false, ((AgroBase.Models.Enums.TipoFrameCamera)cmbCameraFrontalFrameTipo.SelectedIndex));
}
#endregion
#region CAMERA ERVAS
private void cmbCameraTraseiraFrameTipo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (VariaveisControleOperacao.SelectedRoverId == VariaveisControleOperacao.BaseMarkerID) return;
PararStreamCameraErvas();
IniciarStreamCameraErvas();
}
public void IniciarStreamCameraErvas()
{
videoWeed.Iniciar();
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Cam, true, ((AgroBase.Models.Enums.TipoFrameCamera)cmbCameraTraseiraFrameTipo.SelectedIndex));
}
public void PararStreamCameraErvas(bool finalizar = false)
{
videoWeed.Parar();
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Cam, false, ((AgroBase.Models.Enums.TipoFrameCamera)cmbCameraTraseiraFrameTipo.SelectedIndex));
}
#endregion
}
}