finalizado diagnosticos
This commit is contained in:
parent
40abb022b9
commit
b9032a68fe
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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
|
|
@ -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 =>
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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
|
||||
//
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ namespace AgroBase.Models
|
|||
sCMD = 878,
|
||||
sMVD = 477,
|
||||
sATU = 478,
|
||||
sRLE = 479,
|
||||
}
|
||||
|
||||
public enum BotoesJoystick
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 +
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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 "";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ namespace AgroBase.Models.Modules
|
|||
SCK,
|
||||
Pressao,
|
||||
Fluxo,
|
||||
Leitura4,
|
||||
Rele,
|
||||
I2C,
|
||||
Tensao,
|
||||
Corrente,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
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
|
|
@ -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
|
|
@ -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}
|
||||
|
|
@ -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}
|
||||
|
|
@ -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
|
|
@ -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}
|
||||
|
|
@ -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
|
|
@ -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":""}]}
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1 +1 @@
|
|||
ac062275567cd9a86db8371b4a772de2c1d73d8e4e0725f27a4ebb96a196467f
|
||||
ab167a1e9f8f1c9d367b89a53bdc6b7dc0ba8c1784611293d01e3bb951448869
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue