using OperationControl.Controls; using OperationControl.Models; using OperationControl.ViewModels.Views.Operacao.Monitoramento; namespace OperationControl.Views.Operacao.Monitoramento { /// /// Interaction logic for MonitoramentoView.xaml /// public partial class MonitoramentoView : System.Windows.Controls.UserControl { public MonitoramentoViewModel _vm; private TcpVideoReceiver videoFront; public 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 } }