コード例 #1
0
        /// <summary>Read one flash block (32kByte) of acquisition raw data</summary>
        /// <param name="Position">Position of acquisition data in ring</param>
        /// <param name="Data">Target byte array for flash data</param>
        /// <returns>0 on success, else see ReturnValue</returns>
        public override ReturnValue ReadAcquisitionData(UInt16 Position, out byte[] Data)
        {
            ReturnValue ret = ReturnValue.NoError;

            if (mBusy)
            {
                Data = new byte[0];
                ret  = ReturnValue.ThreadingBusy;
            }
            else
            {
                Data = new byte[MAX_READ_BUFFER_SIZE];
                for (int i = 0; i < MAX_READ_BUFFER_SIZE; i++)
                {
                    Data[i] = 0xFF;
                }
                if (Position <= mInfo.AqSizeNumBlocks)
                {
                    Comm.OrderByte stb = Comm.OrderByte.Alive;
                    switch (Position)
                    {
                    case 0:
                        stb = Comm.OrderByte.ReadAcquisitionSector_01; break;

                    case 1:
                        stb = Comm.OrderByte.ReadAcquisitionSector_02; break;

                    case 2:
                        stb = Comm.OrderByte.ReadAcquisitionSector_03; break;

                    case 3:
                        stb = Comm.OrderByte.ReadAcquisitionSector_04; break;

                    case 4:
                        stb = Comm.OrderByte.ReadAcquisitionSector_05; break;

                    case 5:
                        stb = Comm.OrderByte.ReadAcquisitionSector_06; break;

                    case 6:
                        stb = Comm.OrderByte.ReadAcquisitionSector_07; break;

                    case 7:
                        stb = Comm.OrderByte.ReadAcquisitionSector_08; break;

                    case 8:
                        stb = Comm.OrderByte.ReadAcquisitionSector_09; break;

                    case 9:
                        stb = Comm.OrderByte.ReadAcquisitionSector_10; break;

                    case 10:
                        stb = Comm.OrderByte.ReadAcquisitionSector_11; break;

                    case 11:
                        stb = Comm.OrderByte.ReadAcquisitionSector_12; break;

                    case 12:
                        stb = Comm.OrderByte.ReadAcquisitionSector_13; break;

                    case 13:
                        stb = Comm.OrderByte.ReadAcquisitionSector_14; break;

                    case 14:
                        stb = Comm.OrderByte.ReadAcquisitionSector_14; break;

                    case 15:
                        stb = Comm.OrderByte.ReadAcquisitionSector_16; break;

                    case 16:
                        stb = Comm.OrderByte.ReadAcquisitionSector_17; break;

                    case 17:
                        stb = Comm.OrderByte.ReadAcquisitionSector_18; break;

                    case 18:
                        stb = Comm.OrderByte.ReadAcquisitionSector_19; break;

                    case 19:
                        stb = Comm.OrderByte.ReadAcquisitionSector_20; break;

                    case 20:
                        stb = Comm.OrderByte.ReadAcquisitionSector_21; break;

                    case 21:
                        stb = Comm.OrderByte.ReadAcquisitionSector_22; break;

                    case 22:
                        stb = Comm.OrderByte.ReadAcquisitionSector_23; break;

                    case 23:
                        stb = Comm.OrderByte.ReadAcquisitionSector_24; break;

                    case 24:
                        stb = Comm.OrderByte.ReadAcquisitionSector_25; break;

                    case 25:
                        stb = Comm.OrderByte.ReadAcquisitionSector_26; break;

                    case 26:
                        stb = Comm.OrderByte.ReadAcquisitionSector_27; break;

                    case 27:
                        stb = Comm.OrderByte.ReadAcquisitionSector_28; break;

                    case 28:
                        stb = Comm.OrderByte.ReadAcquisitionSector_29; break;

                    default:
                        stb = Comm.OrderByte.Alive; break;
                    }
                    if (stb != Comm.OrderByte.Alive)
                    {
                        ret = mEcu.Read(stb, out Data);
                    }
                    else
                    {
                        ret = ReturnValue.ComOrderFailed;
                    }
                }
                else
                {
                    ret = ReturnValue.ComOrderFailed;
                }
            }
            return(ret);
        }
コード例 #2
0
 /// <summary>Send order to ecu</summary>
 /// <param name="Order">Enumeration of order</param>
 /// <param name="Value">Value of order</param>
 /// <returns>0 on success, else see ReturnValue</returns>
 public override ReturnValue SendOrder(Comm.OrderByte Order, UInt16 Value)
 {
     return(mEcu.Order(Order, Value));
 }
コード例 #3
0
ファイル: ProtocolBase.cs プロジェクト: xiangxud/Projects
 /// <summary>Send order to ecu</summary>
 /// <param name="Order">Enumeration of order</param>
 /// <param name="Value">Value of order</param>
 /// <returns>0 on success, else see ReturnValue</returns>
 public abstract ReturnValue SendOrder(Comm.OrderByte Order, UInt16 Value);