2025-11-12 11:15:07 +00:00
<Window x:Class="OperationControl.Windows.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:scott="clr-namespace:ScottPlot.WPF;assembly=ScottPlot.WPF"
2025-11-24 16:05:50 +00:00
xmlns:vlc="clr-namespace:LibVLCSharp.WPF;assembly=LibVLCSharp.WPF"
2025-11-12 11:15:07 +00:00
xmlns:controls="clr-namespace:OperationControl.Controls"
mc:Ignorable="d"
Title="Controle da Opearação Agrobot" Height="1025" Width="1920" WindowStartupLocation="CenterScreen" WindowState="Maximized">
2025-11-24 19:58:20 +00:00
<Window.Resources>
<Style x:Key="RoundedLabel" TargetType="Label">
<Setter Property="Foreground" Value="White"/>
2025-11-25 20:14:31 +00:00
<Setter Property="Background" Value="Gray"/>
2025-11-24 19:58:20 +00:00
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FontSize" Value="9"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Label">
<Border Background="{TemplateBinding Background}" CornerRadius="8" Padding="2" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<EventSetter Event="MouseLeftButtonDown" Handler="DiagnosticoModulo_Click" />
</Style>
</Window.Resources>
2025-11-12 11:15:07 +00:00
<Grid>
<Border x:Name="brdRovers" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="10,0,1460,943">
2025-11-14 17:11:58 +00:00
<Canvas Height="64" VerticalAlignment="Bottom">
2025-11-12 11:15:07 +00:00
<Image HorizontalAlignment="Center" Height="66" VerticalAlignment="Top" Width="94" Source="/Resources/logo.png" Canvas.Top="2" Canvas.Left="1"/>
<Label Content="Rover em foco" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="100" Canvas.Top="9"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDispositivos_Status" Content="Desconectado" Style="{StaticResource RoundedLabel}" Height="26" Width="76" Canvas.Left="367" Canvas.Top="9" HorizontalAlignment="Center" VerticalAlignment="Top" IsEnabled="False"/>
<ComboBox x:Name="cmbDispositivo" HorizontalAlignment="Left" VerticalAlignment="Center" Width="138" Canvas.Left="224" Canvas.Top="11" SelectionChanged="cmbDispositivo_SelectionChanged"/>
2025-11-12 11:15:07 +00:00
<Label Content="Liberado | Automático | EmAndamento | CaminhandoRua" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="100" Canvas.Top="32"/>
</Canvas>
</Border>
<Border Name="brdResumo" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="10,71,1460,818">
<Canvas>
<Label Content="Resumo Operacional" FontWeight="Bold" FontSize="10" HorizontalAlignment="Left" Canvas.Top="-4" VerticalAlignment="Center" Canvas.Left="-2"/>
<Label Content="Rua Atual" FontSize="10" HorizontalAlignment="Center" Canvas.Top="12" VerticalAlignment="Top" RenderTransformOrigin="0.756,0.502"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_RuaAtual" Height="10" Canvas.Left="57" Canvas.Top="19" Width="92" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<Label x:Name="lblResumo_RuaAtual" Content="0,00 m / 0,00 m (0)" FontSize="10" Canvas.Top="12" HorizontalAlignment="Center" VerticalAlignment="Center" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
<Label Content="Área Total" FontSize="10" HorizontalAlignment="Center" Canvas.Top="28" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_AreaTotal" Height="10" Canvas.Left="57" Canvas.Top="34" Width="92" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Label x:Name="lblResumo_AreaTotal" Content="0,00 m / 0,00 m" FontSize="10" Canvas.Top="28" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
<Label Content="Bateria" FontSize="10" HorizontalAlignment="Center" Canvas.Top="44" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_Bateria" Height="10" Canvas.Left="57" Canvas.Top="51" Width="92" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Label x:Name="lblResumo_Bateria" Content="0,00 V (00:00:00)" FontSize="9" HorizontalAlignment="Center" Canvas.Top="44" VerticalAlignment="Center" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
<Label Content="Herbicida" FontSize="10" HorizontalAlignment="Center" Canvas.Top="60" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_Herbicida" Height="10" Canvas.Left="57" Canvas.Top="67" Width="92" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Label x:Name="lblResumo_Herbicida" Content="0,00 L (0,00 m)" FontSize="9" HorizontalAlignment="Left" Canvas.Top="60" VerticalAlignment="Center" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
<Label Content="Infestação" FontSize="10" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_Infestacao" Height="10" Canvas.Left="57" Canvas.Top="83" Width="92" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblResumo_Infestacao" Content="0,00 mL/erva" FontSize="9" HorizontalAlignment="Center" Canvas.Top="76" VerticalAlignment="Top" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
<Label Content="Conexão" FontSize="10" Canvas.Top="92" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<controls:ProgressBarText x:Name="pgbResumo_Conexao" Height="10" Canvas.Left="57" Canvas.Top="99" Width="92" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblResumo_Conexao" Content="0,0 dBi (0,00 m)" FontSize="9" HorizontalAlignment="Center" Canvas.Top="92" VerticalAlignment="Top" Canvas.Left="154"/>
2025-11-12 11:15:07 +00:00
2025-11-25 20:14:31 +00:00
<Label x:Name="lblResumo_OperacaoLiberada" Content="Operação Bloqueada" FontFamily="Segoe UI Emoji" FontSize="10" Canvas.Top="12" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
<Label x:Name="lblResumo_OperacaoModo" Content="Modo Manual" FontSize="10" Canvas.Top="28" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
<Label x:Name="lblResumo_OperacaoStatus" Content="Status NaoIniciado" FontSize="10" Canvas.Top="44" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
<Label x:Name="lblResumo_StatusCarro" Content="Carro Parado" FontSize="10" Canvas.Top="60" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
<Label x:Name="lblResumo_TemperaturaGeral" Content="Temperatura 0,00 °C" FontSize="10" Canvas.Top="76" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
<Label x:Name="lblResumo_OperacaoDuracao" Content="Duração 00:00:00 / 00:00:00" FontSize="10" Canvas.Top="92" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="286"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
2025-11-25 20:14:31 +00:00
<Border x:Name="brdDiagnostico" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="10,196,1460,373">
2025-11-12 11:15:07 +00:00
<Canvas>
<Label Content="Diagnóstios" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="10" Canvas.Top="-5" FontWeight="Bold"/>
2025-11-25 20:14:31 +00:00
<TextBlock x:Name="lblDiagnosticos_Impedimento" Text="Impedimento: Nenhum" HorizontalAlignment="Left" VerticalAlignment="Center" TextWrapping="Wrap" FontSize="9" Canvas.Top="15" Width="428" Canvas.Left="10"/>
<Image HorizontalAlignment="Center" Height="359" VerticalAlignment="Top" Width="308" Source="/Resources/robo_superior.jpg" Stretch="UniformToFill" Canvas.Left="70" Canvas.Top="71"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_BAT" Tag="sCOR" Content="🔒BAT" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="37" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB3V" Tag="sCOR" Content="🔒B3V3" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="84" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB5V" Tag="sCOR" Content="🔒B5V0" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="131" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB7V2" Tag="sCOR" Content="🔒B7V2" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="178" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB12V" Tag="sCOR" Content="🔒B12V" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="225" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB19V" Tag="sCOR" Content="🔒B19V" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="272" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB24V" Tag="sCOR" Content="🔒B24V" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="319" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_AB36V" Tag="sCOR" Content="🔒B36V" Style="{StaticResource RoundedLabel}" Height="21" Width="42" Canvas.Left="366" Canvas.Top="76" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_DIR_DF" Content="🔒DIR" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="102" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_MOV_DF" Content="🔒MOV" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="128" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN_FRODF" Tag="sFRO" Content="🔒FRO" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="346" Canvas.Top="128" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_TMVDF" Tag="sNTC" Content="🔒TMP" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="154" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_DIR_EF" Content="🔒DIR" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="102" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_MOV_EF" Content="🔒MOV" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="128" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN_FROEF" Tag="sFRO" Content="🔒FRO" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="53" Canvas.Top="128" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_TMVEF" Tag="sNTC" Content="🔒TMP" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="154" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_DIR_ET" Content="🔒DIR" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="280" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_MOV_ET" Content="🔒MOV" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="306" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN_FROET" Tag="sFRO" Content="🔒FRO" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="53" Canvas.Top="306" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_TMVET" Tag="sNTC" Content="🔒TMP" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="99" Canvas.Top="332" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_DIR_DT" Content="🔒DIR" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="280" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_MOV_DT" Content="🔒MOV" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="306" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN_FRODT" Tag="sFRO" Content="🔒FRO" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="346" Canvas.Top="306" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_TMVDT" Tag="sNTC" Content="🔒TMP" Style="{StaticResource RoundedLabel}" Height="21" Width="41" Canvas.Left="300" Canvas.Top="332" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_SNR" Content="🔒SNR" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="102" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_LVX" Content="🔒LDR" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="128" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_IMU" Content="🔒IMU" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="154" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_GPS" Content="🔒GPS" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="192" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN" Tag="sMOD" Content="🔒SEN" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="218" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_NPC" Content="🔒NCP" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="244" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_ATU_BOMBA" Tag="sBMB" Content="🔒BMB" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="309" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU" Tag="sMOD" Content="🔒ATU" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="349" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_PRSLN" Tag="sPRS" Content="🔒PRS" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="202" Canvas.Top="386" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_FLXLN" Tag="sFLX" Content="🔒FLX" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="155" Canvas.Top="386" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_MASRS" Tag="sMAS" Content="🔒MAS" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="249" Canvas.Top="386" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_B01" Tag="sBIC" Content="🔒B01" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="75" Canvas.Top="411" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_B02" Tag="sBIC" Content="🔒B02" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="143" Canvas.Top="412" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_B03" Tag="sBIC" Content="🔒B03" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="254" Canvas.Top="412" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_ATU_B04" Tag="sBIC" Content="🔒B04" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="322" Canvas.Top="411" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblDiagnosticos_CAM" Content="🔒CAM" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="204" Canvas.Top="411" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-26 20:00:16 +00:00
<Label x:Name="lblDiagnosticos_SEN_LEDOP" Tag="sLED" Content="🔒OP" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="10" Canvas.Top="192" HorizontalAlignment="Left" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_LEDMN" Tag="sLED" Content="🔒MN" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="10" Canvas.Top="218" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label x:Name="lblDiagnosticos_SEN_LEDAT" Tag="sLED" Content="🔒AT" Style="{StaticResource RoundedLabel}" Height="21" Width="40" Canvas.Left="10" Canvas.Top="244" HorizontalAlignment="Center" VerticalAlignment="Top"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
2025-11-25 20:14:31 +00:00
<Border x:Name="brdStatusModulo" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="10,641,1460,32">
2025-11-12 11:15:07 +00:00
<Canvas>
<Label Content="Saúde" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="10" Canvas.Top="-5" FontWeight="Bold"/>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblSaude_Descricao" Content="Módulo" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="9" Canvas.Left="35" Canvas.Top="4"/>
<Label x:Name="lblSaude_Versao" Content="Versão x.x.x.x" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="124" FontSize="9" Canvas.Top="4"/>
<Label x:Name="lblSaude_Status" Content="-" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="194" FontSize="9" Canvas.Top="4"/>
<Label x:Name="lblSaude_CAN" Content="CAN 0 ms" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="313" FontSize="9" Canvas.Top="3"/>
<Label x:Name="lblSaude_Latencia" Content="Latência 0 ms" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="372" FontSize="9" Canvas.Top="4"/>
<TextBlock x:Name="lblSaude_Impedimento" Text="Impedimento: Nenhum" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="9" Canvas.Top="24" TextWrapping="Wrap" Width="428" Canvas.Left="10"/>
<CheckBox x:Name="chbSaude_Mandatorio" Content="Mandatório" Canvas.Left="5" Canvas.Top="75" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" ToolTip="Define se o módulo é obrigatório para que a operação em andamento seja liberada"/>
<CheckBox x:Name="chbSaude_EmUso" Content="Em Uso" Canvas.Left="82" Canvas.Top="75" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="10" ToolTip="Define se o módulo deve ser usado durante a operação em andamento"/>
<Button x:Name="btnSaude_Salvar" Content="Salvar" Canvas.Left="155" Canvas.Top="74" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" Width="38" ToolTip="Salva os ajustes realizados nos parametros do módulo" Click="btnSaude_Salvar_Click"/>
<Border HorizontalAlignment="Center" BorderBrush="Black" BorderThickness="1" Height="230" Width="438" VerticalAlignment="Top" Canvas.Left="5" Canvas.Top="94">
<TabControl x:Name="tab_Saude">
2025-11-26 20:00:16 +00:00
2025-11-25 20:14:31 +00:00
<TabItem x:Name="tabSaude_CondicoesOperacionais" Header="Condições Operacionais">
2025-11-12 11:15:07 +00:00
<Canvas>
2025-11-25 20:14:31 +00:00
<ListBox x:Name="lstSaude_CondicoesOperacionais" Height="228" Width="430" HorizontalAlignment="Center" VerticalAlignment="Top" FontSize="9"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</TabItem>
2025-11-26 20:00:16 +00:00
2025-11-25 20:14:31 +00:00
<TabItem x:Name="tabSaude_Acompanhamento" Header="Acompanhamento">
2025-11-12 11:15:07 +00:00
<Canvas>
2025-11-26 20:00:16 +00:00
<scott:WpfPlot x:Name="pltSaude_Acompanhamento" Height="200" Width="430"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</TabItem>
2025-11-26 20:00:16 +00:00
2025-11-25 20:14:31 +00:00
<TabItem x:Name="tabSaude_Opcoes" Header="Opções">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
2025-11-12 11:15:07 +00:00
2025-11-25 20:14:31 +00:00
<!-- Mensagem quando não há opções para o módulo selecionado -->
<TextBlock x:Name="txtOpcoes_SemDados" Text="Nenhum teste disponível para este módulo." FontSize="10" VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="Wrap"/>
<!-- Painel específico de Bico (ATU + B01..B04) -->
<StackPanel x:Name="panelOpcoes_Bico" Grid.Row="0" Visibility="Collapsed">
<!-- Título / identificação -->
<StackPanel Orientation="Horizontal">
<Button x:Name="btnBico_Ligar" Content="Ligar" Width="80" Margin="0,0,5,0" Click="btnBico_Ligar_Click"/>
<Button x:Name="btnBico_Desligar" Content="Desligar" Width="80" Margin="0,0,5,0" Click="btnBico_Desligar_Click"/>
<Slider x:Name="sldBico_Angular" Width="161" Margin="0,0,5,0" Minimum="-90" Maximum="90" ValueChanged="sldBico_Angular_ValueChanged"/>
<Label x:Name="lblBico_Angulo" Content="0°"/>
</StackPanel>
<!-- Título / identificação -->
<TextBlock x:Name="txtBico_Titulo" FontWeight="Bold" FontSize="11" Text="Bico X - Testes" Margin="0,0,0,5"/>
<!-- “Cartõezinhos” de status -->
<UniformGrid Grid.Row="2" Rows="2" Columns="3" Margin="0,0,0,0">
<!-- Comando enviado -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Comando enviado" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_Comando" FontSize="10" Text="—"/>
</StackPanel>
</Border>
<!-- Status real -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Status real" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_StatusReal" FontSize="10" Text="—"/>
</StackPanel>
</Border>
<!-- Tempo ligado -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Tempo ligado" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_TempoLigado" FontSize="10" Text="00:00:00"/>
</StackPanel>
</Border>
<!-- Vazão -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Vazão" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_Vazao" FontSize="10" Text="0,0 L/min"/>
</StackPanel>
</Border>
<!-- Pressão da bomba -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Pressão bomba" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_Pressao" FontSize="10" Text="0,0 bar"/>
</StackPanel>
</Border>
<!-- Espaço livre pra futuro (temperatura, etc.) -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
2025-11-26 20:00:16 +00:00
<TextBlock Text="Atuações" FontSize="9" FontWeight="Bold"/>
<TextBlock x:Name="txtBico_Atuacoes" FontSize="10" Text="—"/>
</StackPanel>
</Border>
</UniformGrid>
</StackPanel>
<!-- Painel específico de Bomba (ATU + Bomba principal) -->
<StackPanel x:Name="panelOpcoes_Bomba" Grid.Row="0" Visibility="Collapsed">
<!-- Linha de comandos principais -->
<StackPanel Orientation="Horizontal">
<!-- Ligar / Desligar -->
<Button x:Name="btnBomba_Ligar" Content="Ligar" Width="80" Margin="0,0,5,0" Click="btnBomba_Ligar_Click"/>
<Button x:Name="btnBomba_Desligar" Content="Desligar" Width="80" Margin="0,0,10,0" Click="btnBomba_Desligar_Click"/>
<!-- Ajuste de pressão da linha -->
<TextBlock Text="Pressão alvo:" VerticalAlignment="Center" Margin="0,0,5,0" FontSize="10"/>
<!-- Slider de pressão (ex.: 0 a 10 bar) -->
<Slider x:Name="sldBomba_PressaoAlvo" Width="120" Minimum="0" Maximum="150" TickFrequency="0.5" IsSnapToTickEnabled="True" Margin="0,0,5,0" ValueChanged="sldBomba_PressaoAlvo_ValueChanged"/>
<!-- Label mostrando valor da pressão alvo -->
<Label x:Name="lblBomba_PressaoAlvo" Content="0,0 bar" VerticalAlignment="Center" FontSize="10"/>
</StackPanel>
<!-- Título / identificação -->
<TextBlock x:Name="txtBomba_Titulo" FontWeight="Bold" FontSize="11" Text="Bomba - Testes" Margin="0,5,0,5"/>
<!-- “Cartõezinhos” de status -->
<UniformGrid Rows="2" Columns="2" Margin="0,0,0,0">
<!-- Comando enviado -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Comando enviado" FontSize="9" FontWeight="Bold"/>
<!-- Texto: Ligado / Desligado -->
<TextBlock x:Name="txtBomba_Comando" FontSize="10" Text="—"/>
</StackPanel>
</Border>
<!-- Status real -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Status real" FontSize="9" FontWeight="Bold"/>
<!-- Texto: Ligada / Desligada -->
<TextBlock x:Name="txtBomba_StatusReal" FontSize="10" Text="—"/>
</StackPanel>
</Border>
<!-- Pressão da linha (leitura) -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Pressão linha (leitura)" FontSize="9" FontWeight="Bold"/>
<!-- Ex.: 3,5 bar -->
<TextBlock x:Name="txtBomba_PressaoLinha" FontSize="10" Text="0,0 bar"/>
</StackPanel>
</Border>
<!-- Potência aplicada -->
<Border BorderBrush="Gray" BorderThickness="1" Margin="2" Padding="3">
<StackPanel>
<TextBlock Text="Potência aplicada" FontSize="9" FontWeight="Bold"/>
<!-- Ex.: 75 % ou 1.2 kW -->
<TextBlock x:Name="txtBomba_Potencia" FontSize="10" Text="0 %"/>
2025-11-25 20:14:31 +00:00
</StackPanel>
</Border>
</UniformGrid>
</StackPanel>
2025-11-26 20:00:16 +00:00
2025-11-25 20:14:31 +00:00
</Grid>
2025-11-12 11:15:07 +00:00
</TabItem>
2025-11-26 20:00:16 +00:00
2025-11-12 11:15:07 +00:00
</TabControl>
</Border>
</Canvas>
</Border>
2025-11-14 17:11:58 +00:00
<Border x:Name="brdGNSS" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="465,0,1266,943" Height="66" VerticalAlignment="Bottom">
2025-11-12 11:15:07 +00:00
<Canvas>
2025-11-14 17:11:58 +00:00
<Label x:Name="lblGNSS_Posicao" Content="Posição" FontWeight="Bold" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="0" Canvas.Top="-3"/>
<Label x:Name="lblGNSS_Correcao" Content="Correção RTKFixo B 1,3 s" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Top="16" FontSize="9"/>
<Label x:Name="lblGNSS_Satelites" Content="Satélites 29 (0,60 cm)" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Top="29" FontSize="9"/>
<Label x:Name="lblGNSS_Altitude" Content="Altitude 634,21 m" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="-1" Canvas.Top="42" FontSize="9"/>
2025-11-24 16:05:50 +00:00
<Slider x:Name="sldGNSS_LeverArm" Canvas.Left="67" Canvas.Top="1" Width="116" HorizontalAlignment="Center" Height="18" VerticalAlignment="Center" Maximum="5" Minimum="-5" TickFrequency="1" Value="0" ValueChanged="sldGNSS_LeverArm_ValueChanged"/>
<Label x:Name="lblGNSS_Progresso" Content="0,00%" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="143" Canvas.Top="16" FontSize="9"/>
<Button x:Name="btnGNSS_FixarBase" Content="Fixar" Canvas.Left="127" Canvas.Top="42" Click="btnGNSS_FixarBase_Click" HorizontalAlignment="Center" VerticalAlignment="Center" Width="50"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border x:Name="brdAjustesOperacao" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1048,0,475,943">
2025-11-14 17:11:58 +00:00
<Canvas Height="64" VerticalAlignment="Bottom">
2025-11-12 11:15:07 +00:00
<Label Content="Parâmetros da Operação" FontWeight="Bold" FontSize="11" Canvas.Top="-3" HorizontalAlignment="Center" VerticalAlignment="Top"/>
<Label Content="Vel. com Ervas" FontSize="9" Canvas.Top="15" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-11-24 16:05:50 +00:00
<Label Content="Vel. sem Ervas" FontSize="9" Canvas.Top="30" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<Label Content="Angulo Máx" FontSize="9" Canvas.Top="45" HorizontalAlignment="Left" VerticalAlignment="Center"/>
2025-11-25 20:14:31 +00:00
<TextBox x:Name="txtParametros_VelCErvas" Canvas.Left="64" TextWrapping="Wrap" Text="20" Canvas.Top="19" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Velocidade que o equipamento se move quando há presença de ervas no radar, em km/h"/>
<TextBox x:Name="txtParametros_VelSErvas" Canvas.Left="64" TextWrapping="Wrap" Text="50" Canvas.Top="34" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Velocidade que o equipamento se move quando não há presença de ervas no radar, em km/h"/>
2025-11-24 16:05:50 +00:00
<TextBox x:Name="txtParametros_AngMax" Canvas.Left="64" TextWrapping="Wrap" Text="30" Canvas.Top="49" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Angulo máximo de controle direcional, em graus"/>
<Label Content="Início Atuação" FontSize="9" Canvas.Top="15" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="93"/>
<Label Content="Area Atuação" FontSize="9" Canvas.Top="30" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="93"/>
<Label Content="Pressão Linha" FontSize="9" Canvas.Top="45" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="93"/>
<TextBox x:Name="txtParametros_RoiAtuacao" Canvas.Left="156" TextWrapping="Wrap" Text="70" Canvas.Top="19" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Percentual da imagem onde a erva detectada envia o comando para atuação dos bicos pulverizadores, onde 100% em cima e 0% em baixo"/>
<TextBox x:Name="txtParametros_AreaAtuacao" Canvas.Left="156" TextWrapping="Wrap" Text="10" Canvas.Top="34" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Percentual de altura da imagem para atuação dos bicos quando as ervas entrarem nessa região"/>
<TextBox x:Name="txtParametros_PressaoLiha" Canvas.Left="156" TextWrapping="Wrap" Text="85" Canvas.Top="49" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Pressão da linha, em psi"/>
<Label Content="Erva % On" FontSize="9" Canvas.Top="15" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="185"/>
<Label Content="Erva % Off" FontSize="9" Canvas.Top="30" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="185"/>
<Label Content="Tempo On" FontSize="9" Canvas.Top="45" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Left="185"/>
<TextBox x:Name="txtParametros_PctErvaOn" Canvas.Left="234" TextWrapping="Wrap" Text="2" Canvas.Top="19" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Percentual de ervas detectado na região de um bico para ligar o bico pulverizador"/>
<TextBox x:Name="txtParametros_PctErvaOff" Canvas.Left="234" TextWrapping="Wrap" Text="1" Canvas.Top="34" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Percentual de ervas detectado na região de um bico para desligar o bico pulverizador"/>
<TextBox x:Name="txtParametros_TempoOn" Canvas.Left="234" TextWrapping="Wrap" Text="200" Canvas.Top="49" Width="25" FontSize="9" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center" ToolTip="Tempo em que o bico pulverizador fica atuado após detectar a erva, em milissegundos"/>
<CheckBox x:Name="chbParametros_Sonar" Content="Sonar Ativado" Canvas.Left="265" Canvas.Top="18" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" ToolTip="Utilizar dados do sonar na tomada de decisão de controle direcional automático"/>
<CheckBox x:Name="chbParametros_Frenagem" Content="Frenagem Automática" Canvas.Left="265" Canvas.Top="33" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" ToolTip="Acionamento automático dos freios ao detectar obstáculos próximos"/>
<CheckBox x:Name="chbParametros_Pulverizador" Content="Pulverizador Automático" Canvas.Left="265" Canvas.Top="48" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" ToolTip="Atuação automática do pulverizador ao detectar ervas no radar sobre a área de um bico"/>
<Button x:Name="btnParametros_Salvar" Content="💾" FontSize="10" Canvas.Left="372" Canvas.Top="3" Click="btnParametros_Salvar_Click" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="Salva os ajustes realizados nos parâmetros da operação, e envia para o equipamento em foco"/>
<Button x:Name="btnParametros_Atualizar" Content="🔄" FontSize="10" Canvas.Left="351" Canvas.Top="3" Click="btnParametros_Atualizar_Click" HorizontalAlignment="Left" VerticalAlignment="Center" ToolTip="Atualiza os dados de parâmetros da operação do equipaento em foco"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border x:Name="brdMapa" BorderBrush="Black" BorderThickness="1" Margin="465,71,475,63">
<Canvas>
2025-11-14 17:11:58 +00:00
<controls:MapViewControl x:Name="MAP" MarkerClicked="MAP_MarkerClicked" StreetMapClicked="MAP_StreetMapClicked" MbTilesPath="Data/basemap.mbtiles" Latitude="-22.1726572492617" Longitude="-47.3952163870556" Scale="5000" Height="873" Width="978" />
2025-11-12 11:15:07 +00:00
<controls:HeadingIndicator x:Name="HDG" Width="130" Height="130" Canvas.Left="10" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<controls:AttitudeIndicator x:Name="IMU" Width="160" Height="180" Canvas.Left="10" Canvas.Top="683" CriticalLimit="20" WarningLimit="10" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Canvas>
</Border>
<Border x:Name="brdControle" Margin="659,0,877,943">
<Canvas>
2025-11-24 16:05:50 +00:00
<controls:ManualControlPad x:Name="CTRL"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border Name="brdMapaInfo" BorderBrush="Black" BorderThickness="1" Height="26" Width="980" Canvas.Top="878" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="465,951,0,0">
<Canvas>
2025-11-25 20:14:31 +00:00
<Label x:Name="lblMapaInfo_Debug" Content="Próximo Ponto: 0 | Parado | Distância próximo ponto: 0,00 m | Distância ponto anterior: 0,00 m | Corredor: Fora | Margem: Não | Disância Esquerda: 0 cm | Distância Direita: 0 cm | Status: Parado" FontSize="9" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Top="1"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border x:Name="brdCameraFrontal" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1453,0,7,735">
<Canvas>
<Label Content="Câmera frontal | 12 fps | 230 kbps | 0,00% cana | 43 cm - 27 cm | 12,95° | CaminhandoRua" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Top="-3"/>
2025-11-24 16:05:50 +00:00
<vlc:VideoView x:Name="VideoFront" Background="Black" Height="237" Width="438" HorizontalAlignment="Center" Canvas.Top="25" VerticalAlignment="Top" Canvas.Left="10"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border x:Name="brdCameraTraseira" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1453,281,7,491">
<Canvas>
<Label Content="Câmera traseira | 10 fps | 193 kbps | 5,41% erva | 0,00% cana" FontSize="10" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Top="-3"/>
2025-11-24 16:05:50 +00:00
<vlc:VideoView x:Name="VideoWeed" Background="Black" Height="200" Width="438" HorizontalAlignment="Center" Canvas.Top="25" VerticalAlignment="Top" Canvas.Left="10"/>
2025-11-12 11:15:07 +00:00
</Canvas>
</Border>
<Border x:Name="brdBicos" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1453,523,7,421">
<Canvas>
<Image HorizontalAlignment="Left" Height="59" VerticalAlignment="Center" Width="454" Source="/Resources/barra.jpg" Canvas.Top="2" Canvas.Left="2" Stretch="UniformToFill"/>
</Canvas>
</Border>
<Border x:Name="brdLidar" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1453,593,7,104" Background="Black">
<Canvas>
<controls:Bbox3DViewer x:Name="BBoxes3D" Height="305" Width="453" HorizontalAlignment="Left" VerticalAlignment="Center" Canvas.Top="2" Canvas.Left="2"/>
</Canvas>
</Border>
<Border x:Name="brdObstaculos" BorderBrush="Black" BorderThickness="1" CornerRadius="8" Margin="1453,908,7,32">
<Canvas>
<ListBox HorizontalAlignment="Center" Canvas.Left="2" Canvas.Top="2" VerticalAlignment="Top" Width="454" Height="63" BorderThickness="0,0,0,0">
<ListViewItem Content="Obstáculo detectado: Esquerda 22 cm, Frente 32 cm"/>
<ListViewItem Content="Obstáculo detectado: Direita 14 cm, Frente 25 cm"/>
<ListViewItem Content="Obstáculo detectado: Direita 132 cm, Frente 84 cm"/>
<ListViewItem Content="Obstáculo detectado: Esquerda 184 cm, Frente 196 cm"/>
</ListBox>
</Canvas>
</Border>
<Border x:Name="brdBottom" BorderBrush="Black" BorderThickness="1" Margin="0,982,0,0">
<Canvas>
</Canvas>
</Border>
</Grid>
</Window>