2024-05-24 20:05:51 +00:00
using AgroBase.Forms ;
2024-07-15 19:02:36 +00:00
using AgroBase.Models ;
2024-05-24 20:05:51 +00:00
using AgroBase.Services ;
2024-07-12 19:44:56 +00:00
using AgroMonitor.Forms ;
2024-05-24 20:05:51 +00:00
using System ;
using System.Drawing ;
2024-11-25 12:14:59 +00:00
using System.Threading.Tasks ;
2024-05-24 20:05:51 +00:00
using System.Windows.Forms ;
namespace AgroMonitor
{
public partial class frmInicial : Form
{
2024-11-25 12:14:59 +00:00
AsyncTaskTimerModel tmrDispositivos ;
2024-09-13 16:47:55 +00:00
2024-05-24 20:05:51 +00:00
public frmInicial ( )
{
InitializeComponent ( ) ;
IniciarDependencias ( ) ;
2024-07-15 19:02:36 +00:00
2024-09-24 19:02:54 +00:00
FuncoesGlobais . DefinirEventosPicBtn ( picAjustes , "Erro ao definir ajustes!" , async ( ) = >
2024-07-15 19:02:36 +00:00
{
frmAjustesOperacao frm = new frmAjustesOperacao ( ) ;
frm . ShowDialog ( ) ;
2024-09-24 19:02:54 +00:00
} , true ) ;
2024-07-15 19:02:36 +00:00
2024-09-24 19:02:54 +00:00
FuncoesGlobais . DefinirEventosPicBtn ( picRede , "Erro ao parametrizar módulo de comunicação!" , async ( ) = >
2024-07-15 19:02:36 +00:00
{
if ( LoRaService . Iniciado )
{
2024-10-04 13:11:23 +00:00
frmLoraConfig frm = new frmLoraConfig ( ) ;
2024-07-15 19:02:36 +00:00
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 ) ;
}
2024-09-24 19:02:54 +00:00
} , true ) ;
2024-07-15 19:02:36 +00:00
2024-09-24 19:02:54 +00:00
FuncoesGlobais . DefinirEventosPicBtn ( picRastreamento , "Erro ao carregar monitoramento!" , async ( ) = >
2024-07-15 19:02:36 +00:00
{
frmMonitoramento frm = new frmMonitoramento ( ) ;
frm . ShowDialog ( ) ;
2024-09-24 19:02:54 +00:00
} , true ) ;
2024-05-24 20:05:51 +00:00
}
2024-11-25 12:14:59 +00:00
private void frmInicial_Load ( object sender , EventArgs e )
{
tmrDispositivos = new AsyncTaskTimerModel ( tmrDispositivos_Tick , 1000 , this ) ;
}
2024-05-24 20:05:51 +00:00
private void IniciarDependencias ( )
{
2024-10-04 13:11:23 +00:00
tmrDispositivos . Tick + = TmrDispositivos_Elapsed ;
2024-05-24 20:05:51 +00:00
tmrDispositivos . Start ( ) ;
}
2024-11-25 12:14:59 +00:00
private async Task tmrDispositivos_Tick ( )
2024-05-24 20:05:51 +00:00
{
2024-11-25 17:49:02 +00:00
lblMqtt . Text = "MQTT: " + ( Variaveis . MqttService . StatusConexao ( ) ? "Conectado" : "Desconectado" ) ;
lblMqtt . ForeColor = Variaveis . MqttService . StatusConexao ( ) ? Color . Green : Color . Red ;
2024-09-13 16:47:55 +00:00
2024-11-25 17:49:02 +00:00
lblLoRa . Text = "LoRa: " + ( LoRaService . Iniciado ? "Conectado" : "Desconectado" ) ;
lblLoRa . ForeColor = LoRaService . Iniciado ? Color . Green : Color . Red ;
2024-05-24 20:05:51 +00:00
2024-11-25 17:49:02 +00:00
lblGps . Text = "GPS: " + ( GPSService . Iniciado ? "Conectado" : "Desconectado" ) ;
lblGps . ForeColor = GPSService . Iniciado ? Color . Green : Color . Red ;
2024-07-12 19:44:56 +00:00
2024-10-04 13:11:23 +00:00
if ( ! GPSService . Iniciado | | ! LoRaService . Iniciado )
{
2024-11-25 12:14:59 +00:00
await SerialService . RealizarVarreduraPortasUSB ( ) ;
tmrDispositivos . SetInterval ( SerialService . InteraloVerificacao ) ;
2024-10-04 13:11:23 +00:00
}
else
{
2024-11-25 12:14:59 +00:00
tmrDispositivos . SetInterval ( 10000 ) ;
2024-10-04 13:11:23 +00:00
}
2024-07-12 19:44:56 +00:00
}
2024-11-25 12:14:59 +00:00
2024-05-24 20:05:51 +00:00
}
}