示例#1
0
        // public DataResponse ConsultParameters(BluetoothSocket socket, Parameters.PID pid)
        public void ConsultParameters(Parameters.PID pid)
        {
            //En alternativa (void), aqui se guardarían los resultados en la base de datos
            string result = "";
            string send   = (Convert.ToUInt32(Parameters.ConsultMode.CurrentData).ToString("X2") + Convert.ToUInt32(pid).ToString("X2") + "/r");

            byte[] cmd = Encoding.ASCII.GetBytes(send);
            socket.OutputStream.Write(cmd, 0, cmd.Length);

            string data       = Read();
            string dataFilter = "";

            for (int i = 0; i < data.Length; i++)
            {
                byte a = (byte)data[i];
                if (a == 13)
                {
                    break;
                }
                dataFilter = dataFilter + data[i];
            }


            DataResponse dr = new DataResponse(dataFilter, pid, Parameters.ConsultMode.CurrentData);

            switch (pid)
            {
            case Parameters.PID.Speed:

                result = (Speed(dr)).ToString();
                break;

            case Parameters.PID.RPM:

                result = (RMP(dr)).ToString();
                break;

            case Parameters.PID.EngineTemperature:

                result = (EngineTemperature(dr)).ToString();
                break;

            case Parameters.PID.FuelPressure:

                result = (FuelPressure(dr)).ToString();
                break;

            case Parameters.PID.ThrottlePosition:
                result = (FuelPressure(dr)).ToString();
                break;

            default:
                break;
            }



            Thread.Sleep(200);
            // return new DataResponse(result, pid, Parameters.ConsultMode.CurrentData);
        }
示例#2
0
 public DataResponse(string response, Parameters.PID pid, Parameters.ConsultMode mode)
 {
     this.Response = response;
     this.Pid      = pid;
     this.Mode     = mode;
 }