103 lines
3.5 KiB
C#
103 lines
3.5 KiB
C#
using OperationControl.Controls;
|
|
using OperationControl.Models;
|
|
using OperationControl.ViewModels.Views.Operacao.Monitoramento;
|
|
|
|
namespace OperationControl.Views.Operacao.Monitoramento
|
|
{
|
|
/// <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 HeadingIndicator Heading => areaHeading;
|
|
public AttitudeIndicator Attitude => areaAttitude;
|
|
|
|
public MonitoramentoView()
|
|
{
|
|
InitializeComponent();
|
|
_vm = new MonitoramentoViewModel();
|
|
DataContext = _vm;
|
|
|
|
videoFront = new TcpVideoReceiver(5000, imgVideoFront);
|
|
videoWeed = new TcpVideoReceiver(5002, imgVideoWeed);
|
|
|
|
_vm.CameraFrontalFrameTipoAlterado += _vm_CameraFrontalFrameTipoAlterado;
|
|
_vm.CameraErvasFrameTipoAlterado += _vm_CameraErvasFrameTipoAlterado;
|
|
}
|
|
|
|
#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 _vm_CameraFrontalFrameTipoAlterado(AgroBase.Models.Enums.TipoFrameCamera tipo)
|
|
{
|
|
if (!IsLoaded) return;
|
|
if (VariaveisControleOperacao.SelectedRoverId == VariaveisControleOperacao.BaseMarkerID) return;
|
|
|
|
PararStreamCameraFrontal();
|
|
IniciarStreamCameraFrontal();
|
|
}
|
|
|
|
public void IniciarStreamCameraFrontal()
|
|
{
|
|
videoFront.Iniciar();
|
|
var tipo = _vm.CameraFrontalFrameTipoSelecionado?.Valor ?? AgroBase.Models.Enums.TipoFrameCamera.Rgb;
|
|
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Snr, true, tipo);
|
|
}
|
|
|
|
public void PararStreamCameraFrontal(bool finalizar = false)
|
|
{
|
|
videoFront.Parar();
|
|
var tipo = _vm.CameraFrontalFrameTipoSelecionado?.Valor ?? AgroBase.Models.Enums.TipoFrameCamera.Rgb;
|
|
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Snr, false, tipo);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region CAMERA ERVAS
|
|
|
|
private void _vm_CameraErvasFrameTipoAlterado(AgroBase.Models.Enums.TipoFrameCamera tipo)
|
|
{
|
|
if (!IsLoaded) return;
|
|
if (VariaveisControleOperacao.SelectedRoverId == VariaveisControleOperacao.BaseMarkerID) return;
|
|
|
|
PararStreamCameraErvas();
|
|
IniciarStreamCameraErvas();
|
|
}
|
|
|
|
public void IniciarStreamCameraErvas()
|
|
{
|
|
videoWeed.Iniciar();
|
|
var tipo = _vm.CameraErvasFrameTipoSelecionado?.Valor ?? AgroBase.Models.Enums.TipoFrameCamera.Rgb;
|
|
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Cam, true, tipo);
|
|
}
|
|
|
|
public void PararStreamCameraErvas(bool finalizar = false)
|
|
{
|
|
videoWeed.Parar();
|
|
var tipo = _vm.CameraErvasFrameTipoSelecionado?.Valor ?? AgroBase.Models.Enums.TipoFrameCamera.Rgb;
|
|
VariaveisControleOperacao.EnviarComandoTransmissaoVideo(AgroBase.Models.Enums.T_Code.Cam, false, tipo);
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|