예제 #1
0
        private void BanderaEntregaScooter_Click(object sender, EventArgs e)
        {
            aux_buffer a = new aux_buffer();

            if (PuertoDatos.IsOpen)
            {
                a = DatosMaestro.SetCommandMaster(Clear_flag_Deliver);
                EnvioDatos.AppendText(BitConverter.ToString(a.buffer, 0, a.data_len) + "\r\n");
                EnvioFrame(a);
            }
            else
            {
                MessageBox.Show("Se necesita seleccionar y abrir un puerto");
            }
        }
예제 #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            aux_buffer a = new aux_buffer();

            if (PuertoDatos.IsOpen)
            {
                a = DatosMaestro.SetCommandMaster(Read_Status);
                EnvioDatos.AppendText(BitConverter.ToString(a.buffer, 0, a.data_len) + "\r\n");
                EnvioFrame(a);
            }
            else
            {
                MessageBox.Show("Se necesita seleccionar y abrir un puerto");
            }
        }
예제 #3
0
        private void ScanNewFrame_Tick(object sender, EventArgs e)
        {
            if (FRAME_BUFFER0)
            {
                ProtocoloRS485 a = new ProtocoloRS485();
                a = DatosMaestro.Read_Frame(Buffer_frame_RX0);

                switch (a.command)
                {
                case Read_Status:
                    ReciboDatos.AppendText(BitConverter.ToString(Buffer_frame_RX0.buffer, 0, Buffer_frame_RX0.data_len) + "\r\n");
                    // falta informacion
                    // de estado de la scooter
                    if ((a.buffer[0] & (1 << EQUIPO_DISPONIBLE)) != 0)
                    {
                        ScooterDisponible.Image = ON;
                    }
                    else
                    {
                        ScooterDisponible.Image = OFF;
                    }


                    if ((a.buffer[0] & (1 << ESPACIO_DISPONIBLE)) != 0)
                    {
                        EspacioDisponible.Image = ON;
                    }
                    else
                    {
                        EspacioDisponible.Image = OFF;
                    }


                    if ((a.buffer[0] & (1 << EQUIPO_CONECTADO_ABIERTO)) != 0)
                    {
                        ScooterConectadoAbierto.Image = ON;
                    }
                    else
                    {
                        ScooterConectadoAbierto.Image = OFF;
                    }

                    if ((a.buffer[0] & (1 << EQUIPO_DESCONECTADO_ABIERTO)) != 0)
                    {
                        ScooterDesconectadoAbierto.Image = ON;
                    }
                    else
                    {
                        ScooterDesconectadoAbierto.Image = OFF;
                    }

                    if ((a.buffer[0] & (1 << EQUIPO_DESCONECTADO_ABIERTO)) != 0)
                    {
                        ScooterDesconectadoAbierto.Image = ON;
                    }
                    else
                    {
                        ScooterDesconectadoAbierto.Image = OFF;
                    }

                    if ((a.buffer[0] & (1 << EQUIPO_ENTREGADO)) != 0)
                    {
                        ScooterEntregado.Image = ON;
                        PollingStatus          = false;
                    }
                    else
                    {
                        ScooterEntregado.Image = OFF;
                    }

                    if ((a.buffer[0] & (1 << EQUIPO_RECIBIDO)) != 0)
                    {
                        ScooterRecibido.Image = ON;
                        PollingStatus         = false;
                    }
                    else
                    {
                        ScooterRecibido.Image = OFF;
                    }


                    break;

                default:
                    break;
                }


                Buffer_frame_RX0.data_len = 0;
                FRAME_BUFFER0             = false;
            }

            if (PollingStatus)
            {
                aux_buffer c = new aux_buffer();
                if (PuertoDatos.IsOpen)
                {
                    c = DatosMaestro.SetCommandMaster(Read_Status);
                    EnvioDatos.AppendText(BitConverter.ToString(c.buffer, 0, c.data_len) + "\r\n");
                    EnvioFrame(c);
                }
            }
        }
예제 #4
0
 private void LimpiarDatos_Click(object sender, EventArgs e)
 {
     EnvioDatos.Clear();
     ReciboDatos.Clear();
 }