agrobot_base/AgroBase/AgroMonitor/frmInicial.cs

76 lines
2.4 KiB
C#

using AgroBase.Forms;
using AgroBase.Forms.Operacoes;
using AgroBase.Models;
using AgroBase.Services;
using AgroMonitor.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AgroMonitor
{
public partial class frmInicial : Form
{
Timer tmrDispositivos = new Timer() { Interval = 5000 };
public frmInicial()
{
InitializeComponent();
IniciarDependencias();
FuncoesGlobais.DefinirEventosPicBtn(picAjustes, async () =>
{
frmAjustesOperacao frm = new frmAjustesOperacao();
frm.ShowDialog();
});
FuncoesGlobais.DefinirEventosPicBtn(picRede, async () =>
{
if (LoRaService.Iniciado)
{
frmLoraConfig frm = new frmLoraConfig(VariaveisMonitoramento.ComunicacaoLoRa);
frm.ShowDialog();
}
else
{
MessageBox.Show("Módulo LoRa de comunicação não está conectado ou não está no modo de parametrização!", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
});
FuncoesGlobais.DefinirEventosPicBtn(picRastreamento, async () =>
{
frmMonitoramento frm = new frmMonitoramento();
frm.ShowDialog();
});
}
private void IniciarDependencias()
{
tmrDispositivos.Tick += tmrDispositivos_Tick;
tmrDispositivos.Start();
}
private void tmrDispositivos_Tick(object sender, EventArgs e)
{
SerialService.RealizarVarreduraPortasUSB().ConfigureAwait(false);
lblMqtt.Text = "MQTT: " + (Variaveis.MqttService.StatusConexao() ? "Conectado" : "Desconectado");
lblMqtt.ForeColor = Variaveis.MqttService.StatusConexao() ? Color.Green : Color.Red;
lblLoRa.Text = "LoRa: " + (LoRaService.Iniciado ? "Conectado" : "Desconectado");
lblLoRa.ForeColor = LoRaService.Iniciado ? Color.Green : Color.Red;
lblGps.Text = "GPS: " + (GPSService.Iniciado ? "Conectado" : "Desconectado");
lblGps.ForeColor = GPSService.Iniciado ? Color.Green : Color.Red;
}
}
}