finalizado diagnosticos

This commit is contained in:
Diego Freitas 2024-07-18 15:00:14 -03:00
parent 40abb022b9
commit b9032a68fe
71 changed files with 3303 additions and 303 deletions

Binary file not shown.

View File

@ -30,32 +30,48 @@
{
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPulverizador = new System.Windows.Forms.TabPage();
this.tabMovimentacao = new System.Windows.Forms.TabPage();
this.tabDirecional = new System.Windows.Forms.TabPage();
this.tabSensoriamento = new System.Windows.Forms.TabPage();
this.tabComunicacao = new System.Windows.Forms.TabPage();
this.tabCameras = new System.Windows.Forms.TabPage();
this.tabSinaleiros = new System.Windows.Forms.TabPage();
this.picVoltar = new System.Windows.Forms.PictureBox();
this.tabResultados = new System.Windows.Forms.TabPage();
this.picDiagnosticarTudo = new System.Windows.Forms.PictureBox();
this.dgPulverizador = new System.Windows.Forms.DataGridView();
this.picIniciarDiagnostico = new System.Windows.Forms.PictureBox();
this.tabMovimentacao = new System.Windows.Forms.TabPage();
this.dgMovimentacao = new System.Windows.Forms.DataGridView();
this.tabDirecional = new System.Windows.Forms.TabPage();
this.dgDirecional = new System.Windows.Forms.DataGridView();
this.tabSensoriamento = new System.Windows.Forms.TabPage();
this.dgSensoriamento = new System.Windows.Forms.DataGridView();
this.tabComunicacao = new System.Windows.Forms.TabPage();
this.dgComunicacao = new System.Windows.Forms.DataGridView();
this.tabCameras = new System.Windows.Forms.TabPage();
this.picCamera = new System.Windows.Forms.PictureBox();
this.dgCameras = new System.Windows.Forms.DataGridView();
this.tabSinaleiros = new System.Windows.Forms.TabPage();
this.dgSinaleiros = new System.Windows.Forms.DataGridView();
this.tabResultados = new System.Windows.Forms.TabPage();
this.dgResultados = new System.Windows.Forms.DataGridView();
this.picVoltar = new System.Windows.Forms.PictureBox();
this.picDiagnosticarTudo = new System.Windows.Forms.PictureBox();
this.picIniciarDiagnostico = new System.Windows.Forms.PictureBox();
this.picLoading = new System.Windows.Forms.PictureBox();
this.tabControl1.SuspendLayout();
this.tabPulverizador.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).BeginInit();
this.tabMovimentacao.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).BeginInit();
this.tabDirecional.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).BeginInit();
this.tabSensoriamento.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).BeginInit();
this.tabComunicacao.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).BeginInit();
this.tabCameras.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picCamera)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).BeginInit();
this.tabSinaleiros.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).BeginInit();
this.tabResultados.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.picLoading)).BeginInit();
this.SuspendLayout();
//
// tabControl1
@ -86,100 +102,6 @@
this.tabPulverizador.Text = "Pulverizador";
this.tabPulverizador.UseVisualStyleBackColor = true;
//
// tabMovimentacao
//
this.tabMovimentacao.Controls.Add(this.dgMovimentacao);
this.tabMovimentacao.Location = new System.Drawing.Point(4, 34);
this.tabMovimentacao.Name = "tabMovimentacao";
this.tabMovimentacao.Padding = new System.Windows.Forms.Padding(3);
this.tabMovimentacao.Size = new System.Drawing.Size(680, 418);
this.tabMovimentacao.TabIndex = 1;
this.tabMovimentacao.Text = "Movimentação";
this.tabMovimentacao.UseVisualStyleBackColor = true;
//
// tabDirecional
//
this.tabDirecional.Controls.Add(this.dgDirecional);
this.tabDirecional.Location = new System.Drawing.Point(4, 34);
this.tabDirecional.Name = "tabDirecional";
this.tabDirecional.Padding = new System.Windows.Forms.Padding(3);
this.tabDirecional.Size = new System.Drawing.Size(680, 418);
this.tabDirecional.TabIndex = 2;
this.tabDirecional.Text = "Direcional";
this.tabDirecional.UseVisualStyleBackColor = true;
//
// tabSensoriamento
//
this.tabSensoriamento.Controls.Add(this.dgSensoriamento);
this.tabSensoriamento.Location = new System.Drawing.Point(4, 34);
this.tabSensoriamento.Name = "tabSensoriamento";
this.tabSensoriamento.Padding = new System.Windows.Forms.Padding(3);
this.tabSensoriamento.Size = new System.Drawing.Size(680, 418);
this.tabSensoriamento.TabIndex = 3;
this.tabSensoriamento.Text = "Sensoriamento";
this.tabSensoriamento.UseVisualStyleBackColor = true;
//
// tabComunicacao
//
this.tabComunicacao.Location = new System.Drawing.Point(4, 34);
this.tabComunicacao.Name = "tabComunicacao";
this.tabComunicacao.Padding = new System.Windows.Forms.Padding(3);
this.tabComunicacao.Size = new System.Drawing.Size(697, 418);
this.tabComunicacao.TabIndex = 4;
this.tabComunicacao.Text = "Comunicação";
this.tabComunicacao.UseVisualStyleBackColor = true;
//
// tabCameras
//
this.tabCameras.Location = new System.Drawing.Point(4, 34);
this.tabCameras.Name = "tabCameras";
this.tabCameras.Padding = new System.Windows.Forms.Padding(3);
this.tabCameras.Size = new System.Drawing.Size(697, 418);
this.tabCameras.TabIndex = 5;
this.tabCameras.Text = "Câmeras";
this.tabCameras.UseVisualStyleBackColor = true;
//
// tabSinaleiros
//
this.tabSinaleiros.Location = new System.Drawing.Point(4, 34);
this.tabSinaleiros.Name = "tabSinaleiros";
this.tabSinaleiros.Padding = new System.Windows.Forms.Padding(3);
this.tabSinaleiros.Size = new System.Drawing.Size(697, 418);
this.tabSinaleiros.TabIndex = 6;
this.tabSinaleiros.Text = "Sinaleiros";
this.tabSinaleiros.UseVisualStyleBackColor = true;
//
// picVoltar
//
this.picVoltar.Image = global::AgroBase.Properties.Resources.voltar;
this.picVoltar.Location = new System.Drawing.Point(12, 12);
this.picVoltar.Name = "picVoltar";
this.picVoltar.Size = new System.Drawing.Size(65, 65);
this.picVoltar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picVoltar.TabIndex = 12;
this.picVoltar.TabStop = false;
//
// tabResultados
//
this.tabResultados.Location = new System.Drawing.Point(4, 34);
this.tabResultados.Name = "tabResultados";
this.tabResultados.Padding = new System.Windows.Forms.Padding(3);
this.tabResultados.Size = new System.Drawing.Size(697, 418);
this.tabResultados.TabIndex = 7;
this.tabResultados.Text = "Resultados";
this.tabResultados.UseVisualStyleBackColor = true;
//
// picDiagnosticarTudo
//
this.picDiagnosticarTudo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.picDiagnosticarTudo.Image = global::AgroBase.Properties.Resources.diagnostico;
this.picDiagnosticarTudo.Location = new System.Drawing.Point(12, 399);
this.picDiagnosticarTudo.Name = "picDiagnosticarTudo";
this.picDiagnosticarTudo.Size = new System.Drawing.Size(65, 65);
this.picDiagnosticarTudo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picDiagnosticarTudo.TabIndex = 13;
this.picDiagnosticarTudo.TabStop = false;
//
// dgPulverizador
//
this.dgPulverizador.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -192,16 +114,16 @@
this.dgPulverizador.Size = new System.Drawing.Size(668, 406);
this.dgPulverizador.TabIndex = 0;
//
// picIniciarDiagnostico
// tabMovimentacao
//
this.picIniciarDiagnostico.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.picIniciarDiagnostico.Image = global::AgroBase.Properties.Resources.iniciar;
this.picIniciarDiagnostico.Location = new System.Drawing.Point(12, 305);
this.picIniciarDiagnostico.Name = "picIniciarDiagnostico";
this.picIniciarDiagnostico.Size = new System.Drawing.Size(65, 65);
this.picIniciarDiagnostico.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picIniciarDiagnostico.TabIndex = 14;
this.picIniciarDiagnostico.TabStop = false;
this.tabMovimentacao.Controls.Add(this.dgMovimentacao);
this.tabMovimentacao.Location = new System.Drawing.Point(4, 34);
this.tabMovimentacao.Name = "tabMovimentacao";
this.tabMovimentacao.Padding = new System.Windows.Forms.Padding(3);
this.tabMovimentacao.Size = new System.Drawing.Size(680, 418);
this.tabMovimentacao.TabIndex = 1;
this.tabMovimentacao.Text = "Movimentação";
this.tabMovimentacao.UseVisualStyleBackColor = true;
//
// dgMovimentacao
//
@ -215,6 +137,17 @@
this.dgMovimentacao.Size = new System.Drawing.Size(668, 406);
this.dgMovimentacao.TabIndex = 1;
//
// tabDirecional
//
this.tabDirecional.Controls.Add(this.dgDirecional);
this.tabDirecional.Location = new System.Drawing.Point(4, 34);
this.tabDirecional.Name = "tabDirecional";
this.tabDirecional.Padding = new System.Windows.Forms.Padding(3);
this.tabDirecional.Size = new System.Drawing.Size(680, 418);
this.tabDirecional.TabIndex = 2;
this.tabDirecional.Text = "Direcional";
this.tabDirecional.UseVisualStyleBackColor = true;
//
// dgDirecional
//
this.dgDirecional.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -227,6 +160,17 @@
this.dgDirecional.Size = new System.Drawing.Size(668, 406);
this.dgDirecional.TabIndex = 2;
//
// tabSensoriamento
//
this.tabSensoriamento.Controls.Add(this.dgSensoriamento);
this.tabSensoriamento.Location = new System.Drawing.Point(4, 34);
this.tabSensoriamento.Name = "tabSensoriamento";
this.tabSensoriamento.Padding = new System.Windows.Forms.Padding(3);
this.tabSensoriamento.Size = new System.Drawing.Size(680, 418);
this.tabSensoriamento.TabIndex = 3;
this.tabSensoriamento.Text = "Sensoriamento";
this.tabSensoriamento.UseVisualStyleBackColor = true;
//
// dgSensoriamento
//
this.dgSensoriamento.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@ -239,11 +183,156 @@
this.dgSensoriamento.Size = new System.Drawing.Size(668, 406);
this.dgSensoriamento.TabIndex = 3;
//
// tabComunicacao
//
this.tabComunicacao.Controls.Add(this.dgComunicacao);
this.tabComunicacao.Location = new System.Drawing.Point(4, 34);
this.tabComunicacao.Name = "tabComunicacao";
this.tabComunicacao.Padding = new System.Windows.Forms.Padding(3);
this.tabComunicacao.Size = new System.Drawing.Size(680, 418);
this.tabComunicacao.TabIndex = 4;
this.tabComunicacao.Text = "Comunicação";
this.tabComunicacao.UseVisualStyleBackColor = true;
//
// dgComunicacao
//
this.dgComunicacao.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dgComunicacao.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgComunicacao.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dgComunicacao.Location = new System.Drawing.Point(6, 6);
this.dgComunicacao.Name = "dgComunicacao";
this.dgComunicacao.Size = new System.Drawing.Size(668, 406);
this.dgComunicacao.TabIndex = 4;
//
// tabCameras
//
this.tabCameras.Controls.Add(this.picCamera);
this.tabCameras.Controls.Add(this.dgCameras);
this.tabCameras.Location = new System.Drawing.Point(4, 34);
this.tabCameras.Name = "tabCameras";
this.tabCameras.Padding = new System.Windows.Forms.Padding(3);
this.tabCameras.Size = new System.Drawing.Size(680, 418);
this.tabCameras.TabIndex = 5;
this.tabCameras.Text = "Câmeras";
this.tabCameras.UseVisualStyleBackColor = true;
//
// picCamera
//
this.picCamera.Location = new System.Drawing.Point(574, 344);
this.picCamera.Name = "picCamera";
this.picCamera.Size = new System.Drawing.Size(100, 68);
this.picCamera.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picCamera.TabIndex = 6;
this.picCamera.TabStop = false;
//
// dgCameras
//
this.dgCameras.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dgCameras.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgCameras.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dgCameras.Location = new System.Drawing.Point(6, 6);
this.dgCameras.Name = "dgCameras";
this.dgCameras.Size = new System.Drawing.Size(668, 332);
this.dgCameras.TabIndex = 5;
//
// tabSinaleiros
//
this.tabSinaleiros.Controls.Add(this.dgSinaleiros);
this.tabSinaleiros.Location = new System.Drawing.Point(4, 34);
this.tabSinaleiros.Name = "tabSinaleiros";
this.tabSinaleiros.Padding = new System.Windows.Forms.Padding(3);
this.tabSinaleiros.Size = new System.Drawing.Size(680, 418);
this.tabSinaleiros.TabIndex = 6;
this.tabSinaleiros.Text = "Sinaleiros";
this.tabSinaleiros.UseVisualStyleBackColor = true;
//
// dgSinaleiros
//
this.dgSinaleiros.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dgSinaleiros.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgSinaleiros.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dgSinaleiros.Location = new System.Drawing.Point(6, 6);
this.dgSinaleiros.Name = "dgSinaleiros";
this.dgSinaleiros.Size = new System.Drawing.Size(668, 406);
this.dgSinaleiros.TabIndex = 6;
//
// tabResultados
//
this.tabResultados.Controls.Add(this.dgResultados);
this.tabResultados.Location = new System.Drawing.Point(4, 34);
this.tabResultados.Name = "tabResultados";
this.tabResultados.Padding = new System.Windows.Forms.Padding(3);
this.tabResultados.Size = new System.Drawing.Size(680, 418);
this.tabResultados.TabIndex = 7;
this.tabResultados.Text = "Resultados";
this.tabResultados.UseVisualStyleBackColor = true;
//
// dgResultados
//
this.dgResultados.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dgResultados.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgResultados.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dgResultados.Location = new System.Drawing.Point(6, 6);
this.dgResultados.Name = "dgResultados";
this.dgResultados.Size = new System.Drawing.Size(668, 406);
this.dgResultados.TabIndex = 7;
//
// picVoltar
//
this.picVoltar.Image = global::AgroBase.Properties.Resources.voltar;
this.picVoltar.Location = new System.Drawing.Point(12, 12);
this.picVoltar.Name = "picVoltar";
this.picVoltar.Size = new System.Drawing.Size(65, 65);
this.picVoltar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picVoltar.TabIndex = 12;
this.picVoltar.TabStop = false;
//
// picDiagnosticarTudo
//
this.picDiagnosticarTudo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.picDiagnosticarTudo.Image = global::AgroBase.Properties.Resources.diagnostico;
this.picDiagnosticarTudo.Location = new System.Drawing.Point(12, 399);
this.picDiagnosticarTudo.Name = "picDiagnosticarTudo";
this.picDiagnosticarTudo.Size = new System.Drawing.Size(65, 65);
this.picDiagnosticarTudo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picDiagnosticarTudo.TabIndex = 13;
this.picDiagnosticarTudo.TabStop = false;
//
// picIniciarDiagnostico
//
this.picIniciarDiagnostico.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.picIniciarDiagnostico.Image = global::AgroBase.Properties.Resources.iniciar;
this.picIniciarDiagnostico.Location = new System.Drawing.Point(12, 305);
this.picIniciarDiagnostico.Name = "picIniciarDiagnostico";
this.picIniciarDiagnostico.Size = new System.Drawing.Size(65, 65);
this.picIniciarDiagnostico.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picIniciarDiagnostico.TabIndex = 14;
this.picIniciarDiagnostico.TabStop = false;
//
// picLoading
//
this.picLoading.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.picLoading.Location = new System.Drawing.Point(12, 208);
this.picLoading.Name = "picLoading";
this.picLoading.Size = new System.Drawing.Size(65, 65);
this.picLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.picLoading.TabIndex = 15;
this.picLoading.TabStop = false;
//
// frmDiagnosticos
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 480);
this.Controls.Add(this.picLoading);
this.Controls.Add(this.picIniciarDiagnostico);
this.Controls.Add(this.picDiagnosticarTudo);
this.Controls.Add(this.picVoltar);
@ -255,16 +344,26 @@
this.Load += new System.EventHandler(this.frmDiagnosticos_Load);
this.tabControl1.ResumeLayout(false);
this.tabPulverizador.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).EndInit();
this.tabMovimentacao.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).EndInit();
this.tabDirecional.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).EndInit();
this.tabSensoriamento.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).EndInit();
this.tabComunicacao.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).EndInit();
this.tabCameras.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picCamera)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).EndInit();
this.tabSinaleiros.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).EndInit();
this.tabResultados.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.picLoading)).EndInit();
this.ResumeLayout(false);
}
@ -287,5 +386,11 @@
private System.Windows.Forms.DataGridView dgMovimentacao;
private System.Windows.Forms.DataGridView dgDirecional;
private System.Windows.Forms.DataGridView dgSensoriamento;
private System.Windows.Forms.DataGridView dgComunicacao;
private System.Windows.Forms.DataGridView dgCameras;
private System.Windows.Forms.DataGridView dgSinaleiros;
private System.Windows.Forms.DataGridView dgResultados;
private System.Windows.Forms.PictureBox picCamera;
private System.Windows.Forms.PictureBox picLoading;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -127,11 +127,11 @@ namespace AgroBase.Forms.Operacoes
var Sonar = Variaveis.OperacaoEmAndamento.Sensoriamento.SonarFrontal;
if (chbSonar.Checked && Sonar.DesvioNecessario && UltimoComandoDir.AddSeconds(1) < DateTime.Now)
{
GeneralJoystick.Angulo = Sonar.AnguloDesvio;
Variaveis.OperacaoEmAndamento.Controle.Angulo = Sonar.AnguloDesvio;
Direcao direcaoDesvio = Direcao.Cima;
if (GeneralJoystick.Angulo < 0)
if (Variaveis.OperacaoEmAndamento.Controle.Angulo < 0)
{
GeneralJoystick.Angulo *= -1;
Variaveis.OperacaoEmAndamento.Controle.Angulo *= -1;
direcaoDesvio = Direcao.Baixo;
}
Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.ForEach(Modulo =>

View File

@ -109,7 +109,7 @@ namespace AgroBase.Forms
lblTitulo.ForeColor = Modulo.MovMotor.Comandar ? Modulo.MovMotor.Inicializado ? Color.Green : Color.Red : Color.Black;
lblTitulo.Text = lblTitulo.Text.Split(' ')[0] + " (" + Modulo.Modulo_ID + ") - Alm: " + Modulo.MovMotor.CodigoAlarme;
Label lblM_RPMSP = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + Modulo.Modulo_ID + "M_RPMSP");
lblM_RPMSP.Text = "RPM SP: " + Modulo.MovMotor.RPM_SP.ToString("0.00");
lblM_RPMSP.Text = "RPM SP: " + Variaveis.OperacaoEmAndamento.Controle.RPM.ToString("0.00");
Label lblM_RPM = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + Modulo.Modulo_ID + "M_RPM");
lblM_RPM.Text = "RPM: " + Modulo.MovMotor.RPM.ToString("0.00");
Label lblM_Velocidade = pnlFundo.Controls.OfType<Label>().FirstOrDefault(ctrl => ctrl.Name == "lbl" + Modulo.Modulo_ID + "M_Velocidade");

View File

@ -122,6 +122,11 @@ namespace AgroBase.Forms
ID = x.ID,
Funcoes = x.Funcoes
}));
Dispositivos.AddRange(Disp.Dados.Reles.Select(x => new DispositivoDataModel()
{
ID = x.ID,
Funcoes = x.Funcoes
}));
break;
}
case T_Code.Atu:

View File

@ -386,7 +386,6 @@ namespace AgroBase
this.trkKmh.Name = "trkKmh";
this.trkKmh.Size = new System.Drawing.Size(158, 45);
this.trkKmh.TabIndex = 22;
this.trkKmh.TickFrequency = 2;
this.trkKmh.Value = 3;
this.trkKmh.ValueChanged += new System.EventHandler(this.trkKmh_ValueChanged);
//
@ -422,7 +421,7 @@ namespace AgroBase
this.tkbAngulo.Size = new System.Drawing.Size(314, 45);
this.tkbAngulo.TabIndex = 17;
this.tkbAngulo.TickFrequency = 5;
this.tkbAngulo.ValueChanged += new System.EventHandler(this.tkbRampa_ValueChanged);
this.tkbAngulo.ValueChanged += new System.EventHandler(this.tkbAngulo_ValueChanged);
//
// lblAngulo
//
@ -455,7 +454,7 @@ namespace AgroBase
this.tkbVelocidade.TabIndex = 14;
this.tkbVelocidade.TickFrequency = 5;
this.tkbVelocidade.Value = 1;
this.tkbVelocidade.ValueChanged += new System.EventHandler(this.tkbPotencia_ValueChanged);
this.tkbVelocidade.ValueChanged += new System.EventHandler(this.tkbVelocidadeMP_ValueChanged);
//
// btnVer
//

View File

@ -49,9 +49,17 @@ namespace AgroBase
{
btnJoyAtt_Click(new object(), new EventArgs());
tkbVelocidade.Value = GeneralJoystick.Velocidade;
tkbAngulo.Value = Convert.ToInt32(GeneralJoystick.Angulo);
trkRPM.Value = GeneralJoystick.RPM;
tkbVelocidade.Minimum = 0;
tkbVelocidade.Maximum = 100;
tkbVelocidade.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP);
tkbAngulo.Minimum = -90;
tkbAngulo.Maximum = 90;
tkbAngulo.Value = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.Angulo);
trkRPM.Minimum = Variaveis.OperacaoEmAndamento.Controle.RPM_Min;
trkRPM.Maximum = Variaveis.OperacaoEmAndamento.Controle.RPM_Max;
trkRPM.Value = Variaveis.OperacaoEmAndamento.Controle.RPM;
cmbModoOperacao.Items.Clear();
cmbModoOperacao.Items.AddRange(Enum.GetNames(typeof(ModoOperacao)));
@ -149,9 +157,9 @@ namespace AgroBase
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao((ModoOperacao)cmbModoOperacao.SelectedIndex);
}
if (Variaveis.OperacaoEmAndamento.DispMvd != null && Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Any() && Convert.ToInt32(Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Average(x => x.MovMotor.RPM_Max)) != trkRPM.Maximum)
if (Variaveis.OperacaoEmAndamento.DispMvd != null && Variaveis.OperacaoEmAndamento.Controle.RPM_Max != trkRPM.Maximum)
{
trkRPM.Maximum = Convert.ToInt32(Variaveis.OperacaoEmAndamento.DispMvd.Dados.Modulos.Average(x => x.MovMotor.RPM_Max));
trkRPM.Maximum = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.RPM_Max);
trkKmh.Maximum = Convert.ToInt32(MovimentacaoModel.CalculaVelocidadeRPM(trkRPM.Maximum));
}
@ -228,22 +236,22 @@ namespace AgroBase
trkRPM.Value = valor;
trkKmh.Value = Convert.ToInt32(Velocidade);
GeneralJoystick.RPM = trkRPM.Value;
lblRPM.Text = "RPM: " + GeneralJoystick.RPM;
Variaveis.OperacaoEmAndamento.Controle.RPM = trkRPM.Value;
lblRPM.Text = "RPM: " + Variaveis.OperacaoEmAndamento.Controle.RPM;
lblKmh.Text = "Velocidade: " + Velocidade.ToString("0.00") + " km/h";
}
}
private void tkbPotencia_ValueChanged(object sender, EventArgs e)
private void tkbVelocidadeMP_ValueChanged(object sender, EventArgs e)
{
GeneralJoystick.Velocidade = tkbVelocidade.Value;
lblVelocidade.Text = "Velocidade: " + GeneralJoystick.Velocidade + "%";
Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP = tkbVelocidade.Value;
lblVelocidade.Text = "Velocidade: " + Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP + "%";
}
private void tkbRampa_ValueChanged(object sender, EventArgs e)
private void tkbAngulo_ValueChanged(object sender, EventArgs e)
{
GeneralJoystick.Angulo = tkbAngulo.Value;
lblAngulo.Text = "Angulo: " + GeneralJoystick.Angulo + "º";
Variaveis.OperacaoEmAndamento.Controle.Angulo = tkbAngulo.Value;
lblAngulo.Text = "Angulo: " + Variaveis.OperacaoEmAndamento.Controle.Angulo + "º";
}
private void trkRPM_ValueChanged(object sender, EventArgs e)

View File

@ -97,6 +97,7 @@ namespace AgroBase.Models
sCMD = 878,
sMVD = 477,
sATU = 478,
sRLE = 479,
}
public enum BotoesJoystick

View File

@ -44,9 +44,9 @@ namespace AgroBase
public static bool Pressionado = false;
public static List<IDispositivosService> DispCon;
public static int RPM { get; set; } = 60;
public static double Angulo { get; set; } = 20;
public static int Velocidade { get; set; } = 50;
//public static int RPM { get; set; } = 60;
//public static double Angulo { get; set; } = 20;
//public static int Velocidade { get; set; } = 50;
public static Timer tmrJoystick = new Timer() { Interval = 100, Enabled = false };

View File

@ -240,6 +240,37 @@ namespace AgroBase.Models.Modules
return Atuador;
}
public static void LimparDados(AtuadorModel Dados)
{
Dados.Conectado = false;
Dados.PressaoLinha = 0;
Dados.BicosPulverizadores.ForEach(x =>
{
x.Inicializado = false;
x.Atuado = false;
x.StatusBico = false;
});
Dados.Sensores.ForEach(x =>
{
x.Inicializado = false;
x.Leituras = new List<double>();
x.ValorMinimo = 0;
x.ValorMaximo = 0;
});
Dados.BombaPressurizadora.Inicializado = false;
Dados.BombaPressurizadora.Pressao = 0;
Dados.BombaPressurizadora.BombaAtuada = false;
Dados.BombaPressurizadora.Ligado = false;
Dados.BombaPressurizadora.Potencia = 0;
Dados.VolumeVazaoAferido = 0;
Dados.VolumeVazaoML = 0;
Dados._LeituraPeriodo = 0;
Dados._LeituraPressao = 0;
Dados._LeituraPulsos = 0;
Dados._MassaLeitura = 0;
}
public Dictionary<string, List<string>> ProtocoloConfiguracao(bool Conectar)
{
// Inicializar o dicionário

View File

@ -404,8 +404,8 @@ namespace AgroBase.Models.Modules
!Livre && Sentido_SP == Sentido.Antihorario ? Sentido.Horario :
Sentido.Parado;
Angulo_SP = Livre ? -1 : (Direcao != Direcao.Cima && Direcao != Direcao.Baixo) ? 0 : GeneralJoystick.Angulo;
Velocidade = GeneralJoystick.Velocidade;
Angulo_SP = Livre ? -1 : (Direcao != Direcao.Cima && Direcao != Direcao.Baixo) ? 0 : Variaveis.OperacaoEmAndamento.Controle.Angulo;
Velocidade = Convert.ToInt32(Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP);
string ProtocoloMotor =
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +

View File

@ -416,8 +416,8 @@ namespace AgroBase.Models
RPM_SP =
DirecaoAtual == Direcao.Parado ? 0 :
CmdAlarme ? 0 :
GeneralJoystick.RPM;
CmdAlarme ? 0 :
Variaveis.OperacaoEmAndamento.Controle.RPM;
switch (DirecaoAtual)
{

View File

@ -71,6 +71,36 @@ namespace AgroBase.Models.Modules
};
}
public static void LimparDados(MovimentacaoUnificadaModel Dados)
{
Dados.DistanciaPercorridaParcial = 0;
Dados.DistanciaPercorridaTotal = 0;
Dados.DistanciaPercorridaOperacao = 0;
Dados.TempoEmAtividade = 0;
Dados.Modulos.ForEach(x =>
{
x.MovMotor.Inicializado = false;
x.MovMotor.Alarme = false;
x.MovMotor.Freio = false;
x.MovMotor.Ligado = false;
x.MovMotor.LogGrafico = new List<MvdMotorMOVSensorimanetoGrafico>();
x.MovMotor.TemperaturaDriver = 0;
x.MovMotor.Temperatura = 0;
x.MovMotor.RPM = 0;
x.MovMotor.Corrente_Max = 0;
x.MovMotor.Sentido = Sentido.Parado;
x.MovMotor.CodigoAlarme = 0;
x.MovMotor.Corrente = 0;
x.MovMotor.Tensao = 0;
x.DirMotor.Inicializado = false;
//x.DirMotor.Angulo = 0;
x.DirMotor.Angulo_SP = 0;
x.DirMotor.Sentido = Sentido.Parado;
x.DirMotor.Sentido_SP = Sentido.Parado;
});
}
public Dictionary<string, List<string>> ProtocoloConfiguracao(bool Conectar)
{
var Config = Modulos.Where(x => x.MovMotor.Comandar || x.DirMotor.Comandar).ToDictionary(x => x.Modulo_ID, x => x.ProtocoloConfiguracao(Conectar).ToList());
@ -243,7 +273,7 @@ namespace AgroBase.Models.Modules
{
Momento = DateTime.Now,
Modulo_ID = Modulo.Modulo_ID,
RPM_SP = Modulo.MovMotor.RPM_SP,
RPM_SP = Variaveis.OperacaoEmAndamento.Controle.RPM,
RPM = Modulo.MovMotor.RPM,
Corrente = Modulo.MovMotor.Corrente,
Sentido = Modulo.MovMotor.Sentido,
@ -466,7 +496,7 @@ namespace AgroBase.Models.Modules
public bool Ligado { get; set; } = false;
public bool Freio { get; set; } = false;
public int CodigoAlarme { get; set; } = 0;
public int RPM_SP { get; set; } = 0;
//public int RPM_SP { get; set; } = 0;
public Sentido Sentido_SP { get; set; } = Sentido.Parado;
public int NumeroPolos { get; set; } = 2;
public int Rampa { get; set; } = 0;
@ -562,9 +592,9 @@ namespace AgroBase.Models.Modules
MovimentacaoUnificadaModel.UltimaDirecao = DirecaoAtual;
}
RPM_SP =
DirecaoAtual == Direcao.Parado || CmdAlarme ? 0 :
GeneralJoystick.RPM;
Variaveis.OperacaoEmAndamento.Controle.RPM =
DirecaoAtual == Direcao.Parado || CmdAlarme ? 0 :
Variaveis.OperacaoEmAndamento.Controle.RPM;
switch (DirecaoAtual)
{
@ -595,7 +625,7 @@ namespace AgroBase.Models.Modules
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Sentido_SP).ToString() + SerialService.SplitParams +
RPM_SP.ToString() + SerialService.SplitParams +
Variaveis.OperacaoEmAndamento.Controle.RPM.ToString() + SerialService.SplitParams +
(Freio ? "1" : "0");
return ProtocoloMotor;
@ -614,7 +644,7 @@ namespace AgroBase.Models.Modules
public string Endereco { get; set; } = "0x01";
public Sentido Sentido_SP { get; set; } = Sentido.Parado;
public double Angulo_SP { get; set; } = 0;
public int Velocidade { get; set; } = 50;
//public int Velocidade { get; set; } = 50;
public double Angulo_Offset { get; set; } = 0;
public bool Estabilizar { get; set; } = false;
public bool Livre { get; set; } = false;
@ -627,6 +657,13 @@ namespace AgroBase.Models.Modules
public bool Comandar { get; set; } = false;
public bool Controlar { get; set; } = false;
public bool Inicializado { get; set; } = false;
public bool MKS_Inicializado
{
get
{
return MKS057DService.DadosLeitura.Any(x => x.Iniciado && Convert.ToByte(Endereco.Replace("0x", ""), 16) == x.Endereco);
}
}
public ConfiguracaoSentidoMotor ConfigSentidos { get; set; }
@ -680,48 +717,46 @@ namespace AgroBase.Models.Modules
public string ProtocoloComando(Direcao Direcao)
{
bool mksIniciado = MKS057DService.DadosLeitura.Any(x => x.Iniciado && Convert.ToByte(Endereco.Replace("0x", ""), 16) == x.Endereco);
if ((Inicializado || mksIniciado) && Comandar && (Controlar))
if (Comandar && Controlar)
{
Sentido_SP =
Direcao == Direcao.Cima ? ConfigSentidos.Direita :
Direcao == Direcao.Baixo ? ConfigSentidos.Esquerda :
!Livre && Sentido_SP == Sentido.Horario ? Sentido.Antihorario :
!Livre && Sentido_SP == Sentido.Antihorario ? Sentido.Horario :
Sentido.Parado;
Angulo_SP = Livre ? -1 : (Direcao != Direcao.Cima && Direcao != Direcao.Baixo) ? 0 : GeneralJoystick.Angulo;
Velocidade = GeneralJoystick.Velocidade;
string ProtocoloMotor =
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Sentido_SP).ToString() + SerialService.SplitParams +
Angulo_SP.ToString() + SerialService.SplitParams +
Velocidade.ToString();
if (mksIniciado)
if (MKS_Inicializado)
{
int mx = Sentido_SP == Sentido.Antihorario ? -1 : 1;
int vel = Convert.ToInt32((Velocidade / 100.0) * (MKS057DService.DadosLeitura.FirstOrDefault(x => x.Endereco == Convert.ToByte(Endereco.Replace("0x", ""), 16))?.Velocidade ?? 600));
int vel = Convert.ToInt32((Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP / 100.0) * (MKS057DService.DadosLeitura.FirstOrDefault(x => x.Endereco == Convert.ToByte(Endereco.Replace("0x", ""), 16))?.Velocidade ?? 600));
MKS057DService.EnviarComandoControle(new MKS057ComandoModel()
{
Get = false,
Comando = Convert.ToByte("13"),
Endereco = Endereco,
Angulo = Angulo_SP * mx,
Velocidade = vel,
_Sentido = Sentido_SP,
ModoControle = ModosControle.AnguloAbsoluto,
Get = false,
Comando = Convert.ToByte("13"),
Endereco = Endereco,
Angulo = Angulo_SP * mx,
Velocidade = vel,
_Sentido = Sentido_SP,
ModoControle = ModosControle.AnguloAbsoluto,
AguardaResposta = false,
}).ConfigureAwait(false);
ProtocoloMotor = "";
}
if (Inicializado)
{
Sentido_SP =
Direcao == Direcao.Cima ? ConfigSentidos.Direita :
Direcao == Direcao.Baixo ? ConfigSentidos.Esquerda :
!Livre && Sentido_SP == Sentido.Horario ? Sentido.Antihorario :
!Livre && Sentido_SP == Sentido.Antihorario ? Sentido.Horario :
Sentido.Parado;
return ProtocoloMotor;
Angulo_SP = Livre ? -1 : (Direcao != Direcao.Cima && Direcao != Direcao.Baixo) ? 0 : Variaveis.OperacaoEmAndamento.Controle.Angulo;
string ProtocoloMotor =
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Sentido_SP).ToString() + SerialService.SplitParams +
Angulo_SP.ToString() + SerialService.SplitParams +
Variaveis.OperacaoEmAndamento.Controle.VelocidadeMP.ToString();
return ProtocoloMotor;
}
}
return "";
}

View File

@ -342,7 +342,7 @@ namespace AgroBase.Models.Modules
SCK,
Pressao,
Fluxo,
Leitura4,
Rele,
I2C,
Tensao,
Corrente,

View File

@ -38,10 +38,10 @@ namespace AgroBase.Models.Modules
{
FuncoesPinout.SDA,
FuncoesPinout.SCL,
FuncoesPinout.Geral,
};
public List<SensorModel> Sensores { get; set; }
public List<SensorSinaleiroModel> Sinaleiros { get; set; }
public List<SensorReleModel> Reles { get; set; }
public string CameraID_Caminho { get; set; } = "";
public List<string> CameraID_Solo { get; set; } = new List<string>();
public double BateriaCargaConsumida { get; set; }
@ -62,6 +62,12 @@ namespace AgroBase.Models.Modules
{
return new SensoriamentoModel()
{
CameraID_Caminho = "",
CameraID_Solo = new List<string>()
{
"",
""
},
Sinaleiros = new List<SensorSinaleiroModel>()
{
new SensorSinaleiroModel()
@ -365,9 +371,38 @@ namespace AgroBase.Models.Modules
},
},
Reles = new List<SensorReleModel>()
{
new SensorReleModel()
{
ID = "RLLRA",
Descricao = "Relé modo operação LoRa",
Componente = S_Code.sRLE,
Funcoes = new List<FuncoesPinout>()
{
FuncoesPinout.Rele,
},
StatusControle = Estado.Desligado,
},
}
};
}
public static void LimparDados(SensoriamentoModel Dados)
{
Dados.Conectado = false;
Dados.BateriaCargaConsumida = 0;
Dados.Reles.ForEach(x => x.Inicializado = false);
Dados.Sinaleiros.ForEach(x => x.Inicializado = false);
Dados.Sensores.ForEach(x =>
{
x.Inicializado = false;
x.Leituras = new List<double>();
x.ValorMinimo = 0;
x.ValorMaximo = 0;
});
}
public Dictionary<string, List<string>> ProtocoloConfiguracao(bool Conectar)
{
// Inicializar o dicionário
@ -386,6 +421,12 @@ namespace AgroBase.Models.Modules
.ToList();
configDictionary[Modulo_ID].AddRange(sinaleirosConfig);
// Adicionar configurações dos Reles
var relesConfig = Reles
.Select(x => x.ProtocoloConfiguracaoRele(Pinout, Conectar))
.ToList();
configDictionary[Modulo_ID].AddRange(relesConfig);
// Adicionar configuração do ProtocoloMOD
string protocoloMOD =
((int)F_Code.Cfg).ToString() + SerialService.SplitMessage +
@ -423,6 +464,16 @@ namespace AgroBase.Models.Modules
}
}
public string ProtocoloAquisicaoDados(S_Code Componente, string ID)
{
string ProtocoloMotor =
((int)F_Code.Req).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
((int)Componente).ToString() + SerialService.SplitParams +
"";
return ProtocoloMotor;
}
public void RecebeProtocoloSerial(string Protocolo)
{
string Mod_ID = Protocolo.Split(SerialService.SplitMessage[0])[0];
@ -440,7 +491,9 @@ namespace AgroBase.Models.Modules
S_Code TipoSensor = (S_Code)(cod);
SensorModel Sensor = Sensores.FirstOrDefault(x => x.ID == Dados[1]);
if (Sensor == null)
SensorSinaleiroModel Sinaleiro = Sinaleiros.FirstOrDefault(x => x.ID == Dados[1]);
SensorReleModel Rele = Reles.FirstOrDefault(x => x.ID == Dados[1]);
if (Sensor == null && Sinaleiro == null && Rele == null)
{
if (Dados[1] == "MD")
{
@ -456,7 +509,19 @@ namespace AgroBase.Models.Modules
switch (TipoSensor)
{
case S_Code.sCFG:
Sensor.Inicializado = Dados[2] == "1";
bool iniciado = Dados[2] == "1";
if (Sensor != null)
{
Sensor.Inicializado = iniciado;
}
else if (Sinaleiro != null)
{
Sinaleiro.Inicializado = iniciado;
}
else if (Rele != null)
{
Rele.Inicializado = iniciado;
}
break;
case S_Code.sCOR:
{
@ -681,11 +746,19 @@ namespace AgroBase.Models.Modules
AtualizaGrafico = true;
break;
}
case S_Code.sLED:
Sinaleiro.Inicializado = Dados[2] == "1";
Sinaleiro.StatusLED = (StatusLED)Enum.Parse(typeof(StatusLED), Dados[3]);
break;
case S_Code.sRLE:
Rele.Inicializado = Dados[2] == "1";
Rele.StatusLeitura = (Estado)Enum.Parse(typeof(Estado), Dados[3]);
break;
}
if (Sensor.Leituras != null)
if (Sensor != null && Sensor.Leituras != null)
{
if (Sensor.Leituras[0] > Sensor.ValorMaximo)
{
@ -838,6 +911,9 @@ namespace AgroBase.Models.Modules
public List<FuncoesPinout> Funcoes { get; set; }
public SensorSinaleiroComportamentoModel Comportamento { get; set; }
public bool Inicializado { get; set; }
public StatusLED StatusLED { get; set; }
public string ProtocoloConfiguracaoSinaleiro(PinoutDataModel Pinout, bool Conectar)
{
var _pinout = new PinoutDataModel()
@ -867,15 +943,101 @@ namespace AgroBase.Models.Modules
return ProtocoloSinaleiro;
}
}
public class SensorReleModel
{
public string ID { get; set; }
public string Descricao { get; set; }
public S_Code Componente { get; set; }
public List<FuncoesPinout> Funcoes { get; set; }
public bool Inicializado { get; set; }
public Estado StatusControle { get; set; }
public Estado StatusLeitura { get; set; }
public string ProtocoloConfiguracaoRele(PinoutDataModel Pinout, bool Conectar)
{
var _pinout = new PinoutDataModel()
{
ExpansorGPIO = Pinout.ExpansorGPIO,
EnderecoExpansor = Pinout.EnderecoExpansor,
Pinos = Pinout.Pinos.ToList(),
};
_pinout.Pinos = _pinout.Pinos.Where(x => x.ComponenteID == ID).ToList();
string Protocolo = ((int)F_Code.Cfg).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
(Conectar ? "1" : "0") + SerialService.SplitParams +
PinoutModel.PinoProtocolo(_pinout, Funcoes);
return Protocolo;
}
public string ProtocoloComando()
{
string ProtocoloSinaleiro =
((int)F_Code.Cmd).ToString() + SerialService.SplitMessage +
ID + SerialService.SplitParams +
(int)StatusControle;
return ProtocoloSinaleiro;
}
}
public class SensorSinaleiroComportamentoModel
{
public StatusLED statusLED { get; set; }
public int QtdPiscadas { get; set; } = 0;
public int TempoMs { get; set; } = 0;
public int PausaMs { get; set; } = 0;
public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType())
{
return false;
}
SensorSinaleiroComportamentoModel other = (SensorSinaleiroComportamentoModel)obj;
return statusLED == other.statusLED &&
QtdPiscadas == other.QtdPiscadas &&
TempoMs == other.TempoMs &&
PausaMs == other.PausaMs;
}
public override int GetHashCode()
{
unchecked // Permite overflow de inteiros
{
int hash = 17;
hash = hash * 23 + statusLED.GetHashCode();
hash = hash * 23 + QtdPiscadas.GetHashCode();
hash = hash * 23 + TempoMs.GetHashCode();
hash = hash * 23 + PausaMs.GetHashCode();
return hash;
}
}
public static bool operator ==(SensorSinaleiroComportamentoModel left, SensorSinaleiroComportamentoModel right)
{
if (ReferenceEquals(left, right))
{
return true;
}
if ((object)left == null || (object)right == null)
{
return false;
}
return left.Equals(right);
}
public static bool operator !=(SensorSinaleiroComportamentoModel left, SensorSinaleiroComportamentoModel right)
{
return !(left == right);
}
}
public class SenSensorimanetoGrafico

View File

@ -24,6 +24,7 @@ using System.Text;
using System.Diagnostics;
using System.Management;
using System.Windows.Forms.DataVisualization.Charting;
using AgroBase.Forms.IHM;
namespace AgroBase.Models
{
@ -414,10 +415,7 @@ namespace AgroBase.Models
public static OperacaoModel CarregarParametrosOperacaoPadrao(ModoOperacao Modo)
{
var SenConectado = (DispositivosService<SensoriamentoModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Sen);
//var MovConectado = (DispositivosService<MovimentacaoModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Mov);
//var DirConectado = (DispositivosService<DirecionalModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Dir);
var AtuConectado = (DispositivosService<AtuadorModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Atu);
var MvdConectado = (DispositivosService<MovimentacaoUnificadaModel>)Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == T_Code.Mvd);
Variaveis.OperacaoEmAndamento.tmrLogs.Stop();
@ -428,8 +426,6 @@ namespace AgroBase.Models
TimestampInicio = 0,
TimestampFim = 0,
DispAtu = AtuConectado,
/*DispDir = DirConectado,
DispMov = MovConectado,*/
DispSen = SenConectado,
DispMvd = MvdConectado,
Sensoriamento = new OperacaoSensoriamentoLogModel(),
@ -967,17 +963,15 @@ namespace AgroBase.Models
if (Tipo == T_Code.Mov)
{
GeneralJoystick.RPM = Controle.RPM;
if (GeneralJoystick.RPM == 0)
if (Controle.RPM == 0)
{
Controle.Direcao = Direcao.Parado;
}
else
{
if (GeneralJoystick.RPM < 0)
if (Controle.RPM < 0)
{
GeneralJoystick.RPM *= -1;
Controle.RPM *= -1;
Controle.Direcao = Direcao.Tras;
}
else
@ -988,12 +982,10 @@ namespace AgroBase.Models
}
else if (Tipo == T_Code.Dir)
{
GeneralJoystick.Angulo = Controle.Angulo;
if (GeneralJoystick.Angulo < 0)
if (Controle.Angulo < 0)
{
GeneralJoystick.Angulo *= -1;
if (ControleAnterior.Angulo < GeneralJoystick.Angulo)
Controle.Angulo *= -1;
if (ControleAnterior.Angulo < Controle.Angulo)
{
Controle.Direcao = Direcao.Parado;
}
@ -1004,7 +996,7 @@ namespace AgroBase.Models
}
else
{
if (ControleAnterior.Angulo > GeneralJoystick.Angulo)
if (ControleAnterior.Angulo > Controle.Angulo)
{
Controle.Direcao = Direcao.Parado;
}
@ -1442,7 +1434,7 @@ namespace AgroBase.Models
Momento = Agora,
Modulo_ID = Modulo.Modulo_ID,
Inicializado = Modulo.MovMotor.Inicializado,
RPM_SP = Modulo.MovMotor.RPM_SP,
RPM_SP = Variaveis.OperacaoEmAndamento.Controle.RPM,
RPM = Modulo.MovMotor.RPM,
Corrente = Modulo.MovMotor.Corrente,
Temperatura = Modulo.MovMotor.Temperatura,
@ -1705,28 +1697,28 @@ namespace AgroBase.Models
public void AtualizarSinaleiroOperacao()
{
if (DispSen != null && DispSen.Dados.Conectado)
if (DispSen != null && DispSen.Dados.Conectado && !frmDiagnosticos.Diagnosticando)
{
var ledOP = DispSen.Dados.Sinaleiros.FirstOrDefault(x => x.ID == "LEDOP");
var ledAT = DispSen.Dados.Sinaleiros.FirstOrDefault(x => x.ID == "LEDAT");
var ledMN = DispSen.Dados.Sinaleiros.FirstOrDefault(x => x.ID == "LEDMN");
var comportamento = Variaveis.ComportamentoPorStatus();
if (ledOP.Comportamento != comportamento)
if (!ledOP.Comportamento.Equals(comportamento))
{
ledOP.Comportamento = comportamento;
DispSen.AdicionarMensagemFila(DispSen.Dados.Modulo_ID, ledOP.ProtocoloComando(), true, false);
}
var statusLedAt = Modo == ModoOperacao.MapaGPS ? StatusLED.Aceso : StatusLED.Apagado;
if (ledAT.Comportamento.statusLED != statusLedAt)
if (!ledAT.Comportamento.statusLED.Equals(statusLedAt))
{
ledAT.Comportamento.statusLED = statusLedAt;
DispSen.AdicionarMensagemFila(DispSen.Dados.Modulo_ID, ledAT.ProtocoloComando(), true, false);
}
var statusLedMn = Modo == ModoOperacao.Manual ? StatusLED.Aceso : StatusLED.Apagado;
if (ledMN.Comportamento.statusLED != statusLedMn)
if (!ledMN.Comportamento.statusLED.Equals(statusLedMn))
{
ledMN.Comportamento.statusLED = statusLedMn;
DispSen.AdicionarMensagemFila(DispSen.Dados.Modulo_ID, ledMN.ProtocoloComando(), true, false);
@ -1794,7 +1786,7 @@ namespace AgroBase.Models
public double VelocidadeMP { get; set; } = 50;
public double Angulo { get; set; } = 0;
public int RPM { get; set; } = 0;
public int RPM { get; set; } = 15;
public Direcao Direcao { get; set; } = Direcao.Parado;
public double PercentualInicioPulverizacao { get; set; } = 0.3;

View File

@ -141,7 +141,7 @@ namespace AgroBase.Models
public static double TempoManobra { get; set; } = 15;
public static double PercentualComErvas { get; set; } = 0.3;
public static double PercentualSemErvas { get; set; } = 0.7;
public static GPSModel PosicaoBase { get; set; } = new GPSModel();
public static GPSModel PosicaoBase { get; set; }
}
public static class FuncoesGlobais

View File

@ -242,6 +242,7 @@ namespace AgroBase.Comum
break;
case T_Code.Sen:
Dados = CarregarParametros(SensoriamentoModel.CarregarParametrosIniciais());
SensoriamentoModel.LimparDados(Dados as SensoriamentoModel);
frmConfig = new frmSenConfig();
((frmSenConfig)frmConfig).Dispositivo = T_Code.Sen;
@ -249,12 +250,14 @@ namespace AgroBase.Comum
break;
case T_Code.Atu:
Dados = CarregarParametros(AtuadorModel.CarregarParametrosIniciais());
AtuadorModel.LimparDados(Dados as AtuadorModel);
frmConfig = new frmAtuConfig();
AtuadorModel.Pinout = PinoutModel.CarregarPinout(Variaveis.CaminhoParametros + "pinout" + Enum.GetName(typeof(T_Code), Dispositivo) + ".pin");
break;
case T_Code.Mvd:
Dados = CarregarParametros(MovimentacaoUnificadaModel.CarregarParametrosIniciais());
MovimentacaoUnificadaModel.LimparDados(Dados as MovimentacaoUnificadaModel);
frmConfig = new frmMvdConfig();
ModuloMvdModel.Pinout = PinoutModel.CarregarPinout(Variaveis.CaminhoParametros + "pinout" + Enum.GetName(typeof(T_Code), Dispositivo) + ".pin");
@ -948,6 +951,7 @@ namespace AgroBase.Comum
}
var configText = File.ReadAllText(nomeArquivo);
var Parametros = JsonConvert.DeserializeObject<T>(configText);
return Parametros;
}

View File

@ -130,6 +130,7 @@ namespace AgroBase.Services
}
public static int MensagensEnviadas { get; set; } = 0;
public static List<LoRaProtocoloTransmissaoModel> LeituraDadosOperacao = new List<LoRaProtocoloTransmissaoModel>();
@ -143,9 +144,11 @@ namespace AgroBase.Services
porta.BaudRate = 9600;
var comando = ComandoRequisitarParametros();
await AlterarStatusReleModo(Estado.Ligado);
EnviarComando(porta, comando);
await Task.Delay(1000);
var resposta = SerialService.VerificarRespostaPortasDesconhecidas(porta);
await AlterarStatusReleModo(Estado.Desligado);
if (resposta.Length > 3)
{
var protocolo = new LoRaProtocoloModel()
@ -460,6 +463,8 @@ namespace AgroBase.Services
public async Task<(bool, LoRaParametrosModel)> RequisitarParametrosModuloAsync()
{
await AlterarStatusReleModo(Estado.Ligado);
byte[] command = ComandoRequisitarParametros();
DateTime inicio = DateTime.Now;
TimeSpan timeout = TimeSpan.FromSeconds(5);
@ -473,6 +478,8 @@ namespace AgroBase.Services
// Verifica se a última leitura foi atualizada nos últimos 3 segundos
if (parametrosModel.UltimaLeitura >= DateTime.Now.AddSeconds(-3))
{
await AlterarStatusReleModo(Estado.Desligado);
return (true, parametrosModel);
}
@ -480,10 +487,34 @@ namespace AgroBase.Services
await Task.Delay(100);
}
await AlterarStatusReleModo(Estado.Desligado);
// Se o timeout for atingido, retorna o modelo com os dados disponíveis até o momento
return (false, parametrosModel);
}
private static async Task<bool> AlterarStatusReleModo(Estado novoEstado)
{
var DispSen = Variaveis.OperacaoEmAndamento.DispSen;
var ReleLra = DispSen.Dados.Reles.FirstOrDefault(x => x.ID == "RLLRA" && x.Inicializado);
if (!Variaveis.IsAgroMonitor &&
(DispSen == null || !DispSen.Dados.Conectado || ReleLra == null)
)
{
Console.WriteLine("Relé de controle LoRa não está conectado");
return false;
}
if (!Variaveis.IsAgroMonitor)
{
ReleLra.StatusControle = novoEstado;
DispSen.AdicionarMensagemFila(DispSen.Dados.Modulo_ID, ReleLra.ProtocoloComando(), true, false);
await Task.Delay(1000);
}
return true;
}
public async Task<LoRaParametrosModel> ConfigurarModuloAsync(LoRaParametrosModel Parametros)
{
parametrosModel = Parametros;
@ -624,26 +655,6 @@ namespace AgroBase.Services
Partes.Add(mensagem);
}
if (false)
{
string mensagemControle = " " + SerialService.EndLine + "\n";
byte[] beginLine = Encoding.UTF8.GetBytes(SerialService.BeginLine);
byte[] mensagemBytes = Encoding.UTF8.GetBytes(mensagemControle);
byte[] message = new byte[beginLine.Length + Cabecalho.Length + mensagemBytes.Length + 3];
message[0] = addressHigh;
message[1] = targetAddress;
message[2] = parametrosModel.channel;
Array.Copy(beginLine, 0, message, 3, beginLine.Length);
Array.Copy(Cabecalho, 0, message, 3 + beginLine.Length, Cabecalho.Length);
Array.Copy(mensagemBytes, 0, message, 3 + beginLine.Length + Cabecalho.Length, mensagemBytes.Length);
Partes.Add(message);
}
if (Enviar)
{
foreach (var parte in Partes)
@ -692,6 +703,7 @@ namespace AgroBase.Services
{
_Porta.Write(Comando, 0, Comando.Length);
Console.WriteLine($"Dados enviados LoRa: {Comando.Length}");
MensagensEnviadas++;
}
}
}

View File

@ -326,11 +326,7 @@ namespace AgroBase.Services
dispositivoService.AtualizarPortas();
if (dispositivoService.PortaCOM() != "" && !dispositivoService._Porta.IsOpen && frmInstancial.frmPrincipal.chbConexaoautomatica.Checked)
{
// Conecta automaticamente o dispositivo se não for sensoriamento, ou se for, verifica antes se o módulo LoRa já está conectado para iniciar o modo mensageria
if (Dispositivo != T_Code.Sen || (Dispositivo == T_Code.Sen && DispositivosMapeados.Any(x => x.Dispositivo == T_Code.Lra && !x.Erro)))
{
dispositivoService.btnConectar_Click(new object(), new EventArgs());
}
dispositivoService.btnConectar_Click(new object(), new EventArgs());
}
});
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Momento":"2024-07-18T10:31:00.5719479-03:00","Protocolo":"@1;Sen;258;LEDMN,1,0,4$","Enviado":true},{"Momento":"2024-07-18T10:31:00.5779483-03:00","Protocolo":"Sen;#211;LEDMN;1$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.5879474-03:00","Protocolo":"Sen;655;1;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.5969457-03:00","Protocolo":"@2;Sen;258;LEDAT,1,0,16$","Enviado":true},{"Momento":"2024-07-18T10:31:00.6029476-03:00","Protocolo":"Sen;#211;LEDAT;1$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6139481-03:00","Protocolo":"Sen;655;2;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6279458-03:00","Protocolo":"@3;Sen;258;LEDOP,1,0,17$","Enviado":true},{"Momento":"2024-07-18T10:31:00.6339471-03:00","Protocolo":"Sen;#211;LEDOP;1$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6448645-03:00","Protocolo":"Sen;655;3;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6611572-03:00","Protocolo":"@4;Sen;258;RLLRA,1,0,23$","Enviado":true},{"Momento":"2024-07-18T10:31:00.6671568-03:00","Protocolo":"Sen;#211;RLLRA;1$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6771563-03:00","Protocolo":"Sen;655;4;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.6921602-03:00","Protocolo":"@5;Sen;258;MD,1,500,0,0,21,0,22$","Enviado":true},{"Momento":"2024-07-18T10:31:00.6991567-03:00","Protocolo":"Sen;#211;MD;1$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.8101669-03:00","Protocolo":"Sen;655;5;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.8211646-03:00","Protocolo":"@6;Sen;293;LEDOP,1,0,0,0$","Enviado":true},{"Momento":"2024-07-18T10:31:00.8271713-03:00","Protocolo":"Sen;655;6;$\r","Enviado":false},{"Momento":"2024-07-18T10:31:00.8381669-03:00","Protocolo":"@7;Sen;293;LEDMN,1,0,0,0$","Enviado":true},{"Momento":"2024-07-18T10:31:00.8441708-03:00","Protocolo":"Sen;655;7;$\r","Enviado":false}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Momento":"2024-07-18T08:38:22.4018863-03:00","Protocolo":"@1;Sen;258;LEDMN,1,0,4$","Enviado":true},{"Momento":"2024-07-18T08:38:22.4078872-03:00","Protocolo":"Sen;#211;LEDMN;1$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4178858-03:00","Protocolo":"Sen;655;1;$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4258877-03:00","Protocolo":"@2;Sen;258;LEDAT,1,0,16$","Enviado":true},{"Momento":"2024-07-18T08:38:22.4308861-03:00","Protocolo":"Sen;#211;LEDAT;1$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4418871-03:00","Protocolo":"Sen;655;2;$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4568857-03:00","Protocolo":"@3;Sen;258;LEDOP,1,0,17$","Enviado":true},{"Momento":"2024-07-18T08:38:22.4628866-03:00","Protocolo":"Sen;#211;LEDOP;1$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4738886-03:00","Protocolo":"Sen;655;3;$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.4918878-03:00","Protocolo":"@4;Sen;258;MD,1,500,0,0,21,0,22,0,23$","Enviado":true},{"Momento":"2024-07-18T08:38:22.4998876-03:00","Protocolo":"Sen;#211;MD;1$\r","Enviado":false},{"Momento":"2024-07-18T08:38:22.6108868-03:00","Protocolo":"Sen;655;4;$\r","Enviado":false}

View File

@ -0,0 +1 @@
[{"Momento":"2024-07-18T12:42:12.0286033-03:00","Protocolo":"@1;Sen;258;LEDMN,1,0,4$","Enviado":true},{"Momento":"2024-07-18T12:42:12.0346045-03:00","Protocolo":"Sen;#211;LEDMN;1$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.0456036-03:00","Protocolo":"Sen;655;1;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.0526028-03:00","Protocolo":"@2;Sen;258;LEDAT,1,0,16$","Enviado":true},{"Momento":"2024-07-18T12:42:12.0586044-03:00","Protocolo":"Sen;#211;LEDAT;1$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.0686041-03:00","Protocolo":"Sen;655;2;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.0846044-03:00","Protocolo":"@3;Sen;258;LEDOP,1,0,17$","Enviado":true},{"Momento":"2024-07-18T12:42:12.0906058-03:00","Protocolo":"Sen;#211;LEDOP;1$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.1006054-03:00","Protocolo":"Sen;655;3;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.1186045-03:00","Protocolo":"@4;Sen;258;RLLRA,1,0,23$","Enviado":true},{"Momento":"2024-07-18T12:42:12.1246054-03:00","Protocolo":"Sen;#211;RLLRA;1$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.1346036-03:00","Protocolo":"Sen;655;4;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.149605-03:00","Protocolo":"@5;Sen;258;MD,1,500,0,0,21,0,22$","Enviado":true},{"Momento":"2024-07-18T12:42:12.1566038-03:00","Protocolo":"Sen;#211;MD;1$\r","Enviado":false},{"Momento":"2024-07-18T12:42:12.2667719-03:00","Protocolo":"Sen;655;5;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:24.7971916-03:00","Protocolo":"@6;Sen;293;RLLRA,1$","Enviado":true},{"Momento":"2024-07-18T12:42:24.8021957-03:00","Protocolo":"Sen;655;6;$\r","Enviado":false},{"Momento":"2024-07-18T12:42:26.8207954-03:00","Protocolo":"@7;Sen;293;RLLRA,0$","Enviado":true},{"Momento":"2024-07-18T12:42:26.8258-03:00","Protocolo":"Sen;655;7;$\r","Enviado":false},{"Momento":"2024-07-18T12:44:51.055255-03:00","Protocolo":"@8;Sen;293;RLLRA,1$","Enviado":true},{"Momento":"2024-07-18T12:44:51.0602609-03:00","Protocolo":"Sen;655;8;$\r","Enviado":false}

View File

@ -0,0 +1 @@
[{"Momento":"2024-07-18T13:45:23.7007478-03:00","Protocolo":"@1;Sen;258;LEDMN,1,0,4$","Enviado":true},{"Momento":"2024-07-18T13:45:23.7077489-03:00","Protocolo":"Sen;#211;LEDMN;1$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7187492-03:00","Protocolo":"Sen;655;1;$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7257507-03:00","Protocolo":"@2;Sen;258;LEDAT,1,0,16$","Enviado":true},{"Momento":"2024-07-18T13:45:23.7307473-03:00","Protocolo":"Sen;#211;LEDAT;1$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7417504-03:00","Protocolo":"Sen;655;2;$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7577487-03:00","Protocolo":"@3;Sen;258;LEDOP,1,0,17$","Enviado":true},{"Momento":"2024-07-18T13:45:23.7637472-03:00","Protocolo":"Sen;#211;LEDOP;1$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7747505-03:00","Protocolo":"Sen;655;3;$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.7917483-03:00","Protocolo":"@4;Sen;258;RLLRA,1,0,23$","Enviado":true},{"Momento":"2024-07-18T13:45:23.7967479-03:00","Protocolo":"Sen;#211;RLLRA;1$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.8077525-03:00","Protocolo":"Sen;655;4;$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.8227479-03:00","Protocolo":"@5;Sen;258;MD,1,500,0,0,21,0,22$","Enviado":true},{"Momento":"2024-07-18T13:45:23.8297478-03:00","Protocolo":"Sen;#211;MD;1$\r","Enviado":false},{"Momento":"2024-07-18T13:45:23.9407503-03:00","Protocolo":"Sen;655;5;$\r","Enviado":false}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"Momento":"2024-07-18T10:59:46.9597192-03:00","Protocolo":"@1;Sen;258;LEDMN,1,0,4$","Enviado":true},{"Momento":"2024-07-18T10:59:46.9667176-03:00","Protocolo":"Sen;#211;LEDMN;1$\r","Enviado":false},{"Momento":"2024-07-18T10:59:46.975715-03:00","Protocolo":"Sen;655;1;$\r","Enviado":false},{"Momento":"2024-07-18T10:59:46.9887134-03:00","Protocolo":"@2;Sen;258;LEDAT,1,0,16$","Enviado":true},{"Momento":"2024-07-18T10:59:46.9957155-03:00","Protocolo":"Sen;#211;LEDAT;1$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0057171-03:00","Protocolo":"Sen;655;2;$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0197132-03:00","Protocolo":"@3;Sen;258;LEDOP,1,0,17$","Enviado":true},{"Momento":"2024-07-18T10:59:47.0267164-03:00","Protocolo":"Sen;#211;LEDOP;1$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0367162-03:00","Protocolo":"Sen;655;3;$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0537162-03:00","Protocolo":"@4;Sen;258;RLLRA,1,0,23$","Enviado":true},{"Momento":"2024-07-18T10:59:47.060716-03:00","Protocolo":"Sen;#211;RLLRA;1$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0707143-03:00","Protocolo":"Sen;655;4;$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.0857148-03:00","Protocolo":"@5;Sen;258;MD,1,500,0,0,21,0,22$","Enviado":true},{"Momento":"2024-07-18T10:59:47.0927151-03:00","Protocolo":"Sen;#211;MD;1$\r","Enviado":false},{"Momento":"2024-07-18T10:59:47.2037335-03:00","Protocolo":"Sen;655;5;$\r","Enviado":false},{"Momento":"2024-07-18T10:59:59.8146301-03:00","Protocolo":"@6;Sen;293;RLLRA,1$","Enviado":true},{"Momento":"2024-07-18T10:59:59.8200443-03:00","Protocolo":"Sen;655;6;$\r","Enviado":false},{"Momento":"2024-07-18T11:00:01.8483459-03:00","Protocolo":"@7;Sen;293;RLLRA,0$","Enviado":true},{"Momento":"2024-07-18T11:00:01.8533469-03:00","Protocolo":"Sen;655;7;$\r","Enviado":false},{"Momento":"2024-07-18T11:00:18.0009745-03:00","Protocolo":"@8;Sen;293;LEDMN,1,0,0,0$","Enviado":true},{"Momento":"2024-07-18T11:00:18.0059764-03:00","Protocolo":"Sen;655;8;$\r","Enviado":false},{"Momento":"2024-07-18T11:00:19.3602684-03:00","Protocolo":"@9;Sen;887;LEDMN,445,$","Enviado":true},{"Momento":"2024-07-18T11:00:19.3642682-03:00","Protocolo":"Sen;#445;LEDMN;1;1$\r","Enviado":false},{"Momento":"2024-07-18T11:00:19.3742676-03:00","Protocolo":"Sen;655;9;$\r","Enviado":false},{"Momento":"2024-07-18T11:00:20.362903-03:00","Protocolo":"@10;Sen;293;LEDMN,0,0,0,0$","Enviado":true},{"Momento":"2024-07-18T11:00:20.3679029-03:00","Protocolo":"Sen;655;10;$\r","Enviado":false},{"Momento":"2024-07-18T11:00:21.350307-03:00","Protocolo":"@11;Sen;887;LEDMN,445,$","Enviado":true},{"Momento":"2024-07-18T11:00:21.3573104-03:00","Protocolo":"Sen;#445;LEDMN;1;0$\r","Enviado":false},{"Momento":"2024-07-18T11:00:21.3673086-03:00","Protocolo":"Sen;655;11;$\r","Enviado":false}

View File

@ -1 +1 @@
{"Modulo_ID":"Atu","RequisitarDados":false,"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":17.1964398137526},{"ID":"B02","Posicao":2,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":14.876485059544191},{"ID":"B03","Posicao":3,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.103588945512129},{"ID":"B04","Posicao":4,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":18.437319738098896}],"BombaPressurizadora":{"ID":"BOMBA","BombaAtuada":false,"Ligado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[14,35,36,37,5],"Pressao":46.61,"Potencia":0.0},"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","Leituras":[0.0,0.0],"ValorMinimo":0.0,"ValorMaximo":25222.0,"LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","Leituras":[2010623.62],"ValorMinimo":-1.281631101976581E+32,"ValorMaximo":2.8836731440342142E+24,"LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Inicializado":true,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","Leituras":[46.61],"ValorMinimo":0.0,"ValorMaximo":127.63,"LimiteMaximo":120.0,"LimiteMinimo":60.0}],"ScriptDeteccaoErvas":"weed-detector-v7.py","_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":2010623.62,"MassaReservatorio":-2.2472371201258845,"VolumeReservatorio":-2.1402258286913183,"PercentualReservatorio":-7.1340860956377279,"VolumeVazaoAferido":102.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":1495.64,"PressaoLinha":46.61,"PressaoLinhaCalc":46.616122129426124}
{"Modulo_ID":"Atu","RequisitarDados":false,"Conectado":false,"QuantidadeBicos":4,"DensidadeHerbicida":1.05,"AtuacaoNivelAlto":true,"BicosPulverizadores":[{"ID":"B01","Posicao":1,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B02","Posicao":2,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B03","Posicao":3,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0},{"ID":"B04","Posicao":4,"Atuado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[21],"StatusBico":false,"MediaNivelFluxo":0.0}],"BombaPressurizadora":{"ID":"BOMBA","BombaAtuada":false,"Ligado":false,"Comandar":true,"Inicializado":false,"Testando":false,"Funcoes":[14,35,36,37,5],"Pressao":0.0,"Potencia":0.0},"Sensores":[{"LogGrafico":[],"ID":"FLXLN","Prioridade":23,"Descricao":"Fluxo na linha principal","Componente":198,"Aferir":true,"DelayAmostragem":300,"Inicializado":false,"Testando":false,"Funcoes":[25],"Parametros":[],"UnidadeMedida":"mL/s","Leituras":[],"ValorMinimo":0.0,"ValorMaximo":0.0,"LimiteMaximo":0.0,"LimiteMinimo":0.0},{"LogGrafico":[],"ID":"MASRS","Prioridade":3,"Descricao":"Massa do reservatório de herbicida","Componente":532,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[22,23],"Parametros":[],"UnidadeMedida":"Kg","Leituras":[],"ValorMinimo":0.0,"ValorMaximo":0.0,"LimiteMaximo":50.0,"LimiteMinimo":5.0},{"LogGrafico":[],"ID":"PRSLN","Prioridade":3,"Descricao":"Pressão na linha principal","Componente":333,"Aferir":true,"DelayAmostragem":1000,"Inicializado":false,"Testando":false,"Funcoes":[24],"Parametros":[["Vmin","000.00"],["Vmax","004.50"],["Pmax","174.04"]],"UnidadeMedida":"psi","Leituras":[],"ValorMinimo":0.0,"ValorMaximo":0.0,"LimiteMaximo":120.0,"LimiteMinimo":60.0}],"ScriptDeteccaoErvas":"weed-detector-v7.py","_MassaRef":0.8,"_MassaLeituraRef":40876.37,"_MassaLeituraExtra":1895800.0,"_MassaLeitura":0.0,"MassaReservatorio":37.103098929772877,"VolumeReservatorio":35.336284695021789,"PercentualReservatorio":117.78761565007262,"VolumeVazaoAferido":0.0,"_FluxoMlRef":102.0,"_FluxoPulsoRef":80.0,"_LeituraPulsos":0,"_LeituraPeriodo":0,"VazaoFluxoMLpS":0.0,"VolumeVazaoML":0.0,"_PressaoVmin":0.0,"_PressaoVmax":4.5,"_PressaoMax":174.045,"_LeituraPressao":0.0,"PressaoLinha":0.0,"PressaoLinhaCalc":0.0}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"ExpansorGPIO":false,"EnderecoExpansor":"","Pinos":[{"Controlador":1,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":36,"Descricao":"3","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":39,"Descricao":"4","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":34,"Descricao":"5","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":35,"Descricao":"6","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":32,"Descricao":"7","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":33,"Descricao":"8","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":25,"Descricao":"9","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":26,"Descricao":"10","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":27,"Descricao":"11","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":14,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":12,"Descricao":"13","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":97,"Descricao":"14","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":13,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":9,"Descricao":"16","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":10,"Descricao":"17","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":11,"Descricao":"18","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":96,"Descricao":"19","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":6,"Descricao":"26","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":7,"Descricao":"27","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":8,"Descricao":"28","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":15,"Descricao":"29","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":2,"Descricao":"30","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":4,"Descricao":"32","Funcao":38,"Habilitado":true,"ComponenteID":"LEDMN"},{"Controlador":1,"Barramento":0,"Pino":16,"Descricao":"33","Funcao":38,"Habilitado":true,"ComponenteID":"LEDAT"},{"Controlador":1,"Barramento":0,"Pino":17,"Descricao":"34","Funcao":38,"Habilitado":true,"ComponenteID":"LEDOP"},{"Controlador":1,"Barramento":0,"Pino":5,"Descricao":"35","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":18,"Descricao":"36","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":19,"Descricao":"37","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":95,"Descricao":"38","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":21,"Descricao":"39","Funcao":33,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":3,"Descricao":"40","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":22,"Descricao":"42","Funcao":34,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":23,"Descricao":"43","Funcao":4,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":94,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}
{"ExpansorGPIO":false,"EnderecoExpansor":"","Pinos":[{"Controlador":1,"Barramento":0,"Pino":99,"Descricao":"1","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":98,"Descricao":"2","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":36,"Descricao":"3","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":39,"Descricao":"4","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":34,"Descricao":"5","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":35,"Descricao":"6","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":32,"Descricao":"7","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":33,"Descricao":"8","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":25,"Descricao":"9","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":26,"Descricao":"10","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":27,"Descricao":"11","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":14,"Descricao":"12","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":12,"Descricao":"13","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":97,"Descricao":"14","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":13,"Descricao":"15","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":9,"Descricao":"16","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":10,"Descricao":"17","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":11,"Descricao":"18","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":96,"Descricao":"19","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":6,"Descricao":"26","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":7,"Descricao":"27","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":8,"Descricao":"28","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":15,"Descricao":"29","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":2,"Descricao":"30","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":0,"Descricao":"31","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":4,"Descricao":"32","Funcao":38,"Habilitado":true,"ComponenteID":"LEDMN"},{"Controlador":1,"Barramento":0,"Pino":16,"Descricao":"33","Funcao":38,"Habilitado":true,"ComponenteID":"LEDAT"},{"Controlador":1,"Barramento":0,"Pino":17,"Descricao":"34","Funcao":38,"Habilitado":true,"ComponenteID":"LEDOP"},{"Controlador":1,"Barramento":0,"Pino":5,"Descricao":"35","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":18,"Descricao":"36","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":19,"Descricao":"37","Funcao":0,"Habilitado":true,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":95,"Descricao":"38","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":21,"Descricao":"39","Funcao":33,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":3,"Descricao":"40","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":1,"Descricao":"41","Funcao":0,"Habilitado":false,"ComponenteID":""},{"Controlador":1,"Barramento":0,"Pino":22,"Descricao":"42","Funcao":34,"Habilitado":true,"ComponenteID":"Sen"},{"Controlador":1,"Barramento":0,"Pino":23,"Descricao":"43","Funcao":26,"Habilitado":true,"ComponenteID":"RLLRA"},{"Controlador":1,"Barramento":0,"Pino":94,"Descricao":"44","Funcao":0,"Habilitado":false,"ComponenteID":""}]}

View File

@ -25,7 +25,7 @@
<meta name="viewport" content="width=device-width,
initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
#map_18732f71c1a32f32aa9b73ac78fc6399 {
#map_c9c1ab5892aff8d9c826bc4f4046e077 {
position: relative;
width: 100.0%;
height: 100.0%;
@ -39,14 +39,14 @@
<body>
<div class="folium-map" id="map_18732f71c1a32f32aa9b73ac78fc6399" ></div>
<div class="folium-map" id="map_c9c1ab5892aff8d9c826bc4f4046e077" ></div>
</body>
<script>
var map_18732f71c1a32f32aa9b73ac78fc6399 = L.map(
"map_18732f71c1a32f32aa9b73ac78fc6399",
var map_c9c1ab5892aff8d9c826bc4f4046e077 = L.map(
"map_c9c1ab5892aff8d9c826bc4f4046e077",
{
center: [0.0, 0.0],
crs: L.CRS.EPSG3857,
@ -60,13 +60,13 @@
var tile_layer_c027e3aeb73ecbb4c136728f582c3fd9 = L.tileLayer(
var tile_layer_dbb350a72df19d23428934428aae795b = L.tileLayer(
"https://tile.openstreetmap.org/{z}/{x}/{y}.png",
{"attribution": "\u0026copy; \u003ca href=\"https://www.openstreetmap.org/copyright\"\u003eOpenStreetMap\u003c/a\u003e contributors", "detectRetina": false, "maxNativeZoom": 19, "maxZoom": 19, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
);
tile_layer_c027e3aeb73ecbb4c136728f582c3fd9.addTo(map_18732f71c1a32f32aa9b73ac78fc6399);
tile_layer_dbb350a72df19d23428934428aae795b.addTo(map_c9c1ab5892aff8d9c826bc4f4046e077);
</script>
@ -87,7 +87,7 @@
}
trajeto_json_add({"features": []});
trajeto_json.addTo(map_18732f71c1a32f32aa9b73ac78fc6399);
trajeto_json.addTo(map_c9c1ab5892aff8d9c826bc4f4046e077);
function adicionarGeometria(novaGeometria) {
trajeto_json.addData(novaGeometria);
@ -145,7 +145,7 @@
var marcadorDinamico = L.marker([0, 0], {
icon: customIcon
}).addTo(map_18732f71c1a32f32aa9b73ac78fc6399);
}).addTo(map_c9c1ab5892aff8d9c826bc4f4046e077);
// Conectar ao broker MQTT
const client = mqtt.connect('ws://localhost:9001'); // Use wss para conexão segura
@ -183,7 +183,7 @@
marcadorDinamico.setRotationAngle(angulo);
adicionarCoordenada("Tj", [novaLongitude, novaLatitude]);
map_18732f71c1a32f32aa9b73ac78fc6399.setView(novaPosicao, map_18732f71c1a32f32aa9b73ac78fc6399.getZoom());
map_c9c1ab5892aff8d9c826bc4f4046e077.setView(novaPosicao, map_c9c1ab5892aff8d9c826bc4f4046e077.getZoom());
});
function calcularOrientacao(P1latitude, P1longitude, P2latitude, P2longitude) {

View File

@ -1 +1 @@
ac062275567cd9a86db8371b4a772de2c1d73d8e4e0725f27a4ebb96a196467f
ab167a1e9f8f1c9d367b89a53bdc6b7dc0ba8c1784611293d01e3bb951448869

View File

@ -451,7 +451,6 @@ C:\ZendionINC\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.Forms.frmMvdConf
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.Forms.frmMKS.resources
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.Forms.IHM.frmDialogoMapa.resources
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.Forms.IHM.frmAjustes.resources
C:\ZendionINC\agrobot_base\AgroBase\AgroBase\bin\Debug\Microsoft.Kinect.dll
C:\ZendionINC\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.Up2Date
C:\ZendionINC\agrobot_base\AgroBase\AgroBase\bin\Debug\Python\Scripts\map-follow.py
C:\ZendionINC\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.Forms.IHM.frmDiagnosticos.resources
C:\ZendionInc\agrobot_base\AgroBase\AgroBase\obj\Debug\AgroBase.csproj.CopyComplete

View File

@ -13,6 +13,9 @@ enum T_Code {
Wit = 107,
Bld = 108,
Mvd = 109,
Mbs = 110,
Mks = 111,
Cam = 112,
};
enum F_Code {
@ -47,6 +50,13 @@ enum S_Code {
sCMD = 878,
sMVD = 477,
sATU = 478,
sRLE = 479,
};
enum Estado {
Desligado,
Ligado,
Reset
};
enum Sentido {

View File

@ -345,4 +345,18 @@ String MontarDadosProtocoloAtuador(bool b1Iniciado, bool b1, bool b2Iniciado, bo
return Protocolo;
}
String MontarDadosProtocoloLED(bool Iniciado, StatusLED Status) {
String Protocolo = (String)"" +
(Iniciado ? "1" : "0") + SplitMessage +
(String)Status;
return Protocolo;
}
String MontarDadosProtocoloRele(bool Iniciado, Estado Status) {
String Protocolo = (String)"" +
(Iniciado ? "1" : "0") + SplitMessage +
(String)Status;
return Protocolo;
}
#endif

View File

@ -0,0 +1,8 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
"version": "0.2.0",
"configurations": [
]
}

File diff suppressed because it is too large Load Diff

View File

@ -572,6 +572,7 @@ class Sinaleiro {
bool Iniciado = false;
StatusLED _Status = Apagado;
StatusLED _StatusLeitura = Apagado;
int _Qtd = 0;
int _TempoMs = 0;
int _PausaMs = 0;
@ -614,6 +615,11 @@ class Sinaleiro {
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sCFG, _ID, Iniciado ? "1" : "0"));
}
void RequisitarDados() {
_StatusLeitura = (StatusLED)_pino.get();
EnviarDadosSerial(Mod_ID, MontarProtocoloSensor(sLED, _ID, MontarDadosProtocoloLED(Iniciado, _StatusLeitura)));
}
private:
TaskHandle_t LEDTaskHandle = NULL;
static void LEDTaskWrapper(void *pvParameters) {
@ -632,6 +638,7 @@ class Sinaleiro {
if (_Status != Piscando) {
_pino.set(_Status == Aceso);
_StatusLeitura = (StatusLED)_pino.get();
}
else if (_Status == Piscando && piscadasAtual < _Qtd) {
if (!emPausa && (currentMillis - lastMillis >= _TempoMs)) {
@ -869,8 +876,8 @@ SensorCorrente A12V("AB12V");
SensorUltrassom SUESQ("SUESQ");
SensorUltrassom SUDIR("SUDIR");
SensorMagnetometro SMAG("SMAG");
Sinaleiro LED_AT("LEDAT");
Sinaleiro LED_MN("LEDMN");
Sinaleiro LED_AT("LEDAT");
Sinaleiro LED_OP("LEDOP");
SensorSonar SonarFrontal("SNR_F");
@ -1200,6 +1207,11 @@ void ProcessarReq(ProtocoloSerial Mensagem) {
_sensor->RequisitarDados();
break;
}
case sLED: {
Sinaleiro* _sinaleiro = SinaleiroPorID(ID);
_sinaleiro->RequisitarDados();
break;
}
}
}