90 lines
2.9 KiB
C#
90 lines
2.9 KiB
C#
using AgroBase.Forms;
|
|
using AgroBase.Models;
|
|
using AgroBase.Services;
|
|
using AgroMonitor.Forms;
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AgroMonitor
|
|
{
|
|
public partial class frmInicial : Form
|
|
{
|
|
Timer tmrDispositivos = new Timer() { Interval = 1000, Enabled = false };
|
|
|
|
public frmInicial()
|
|
{
|
|
InitializeComponent();
|
|
|
|
IniciarDependencias();
|
|
|
|
FuncoesGlobais.DefinirEventosPicBtn(picAjustes, "Erro ao definir ajustes!", async () =>
|
|
{
|
|
frmAjustesOperacao frm = new frmAjustesOperacao();
|
|
frm.ShowDialog();
|
|
}, true);
|
|
|
|
FuncoesGlobais.DefinirEventosPicBtn(picRede, "Erro ao parametrizar módulo de comunicação!", async () =>
|
|
{
|
|
if (LoRaService.Iniciado)
|
|
{
|
|
frmLoraConfig frm = new frmLoraConfig();
|
|
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);
|
|
}
|
|
}, true);
|
|
|
|
FuncoesGlobais.DefinirEventosPicBtn(picRastreamento, "Erro ao carregar monitoramento!", async () =>
|
|
{
|
|
frmMonitoramento frm = new frmMonitoramento();
|
|
frm.ShowDialog();
|
|
}, true);
|
|
}
|
|
|
|
private void IniciarDependencias()
|
|
{
|
|
tmrDispositivos.Tick += TmrDispositivos_Elapsed;
|
|
tmrDispositivos.Start();
|
|
}
|
|
|
|
private async void TmrDispositivos_Elapsed(object sender, EventArgs e)
|
|
{
|
|
var tmr = ((Timer)sender);
|
|
tmr.Stop();
|
|
|
|
Func<bool> funcao = new Func<bool>(() =>
|
|
{
|
|
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;
|
|
|
|
return true;
|
|
});
|
|
|
|
FuncoesGlobais.ExecutarMetodoComVerificacaoCrossThread(this, funcao);
|
|
|
|
if (!GPSService.Iniciado || !LoRaService.Iniciado)
|
|
{
|
|
await SerialService.RealizarVarreduraPortasUSB(new System.Timers.Timer());
|
|
tmr.Interval = 5000;
|
|
}
|
|
else
|
|
{
|
|
tmr.Interval = 10000;
|
|
}
|
|
|
|
tmr.Start();
|
|
}
|
|
|
|
|
|
}
|
|
}
|