Exemplo n.º 1
0
        private bool FillAxisInformation(string filename, AxisHelper ah)
        {
            bool retval = false;
            FileStream fs = new FileStream(filename, FileMode.Open);
            fs.Position = ah.Addressinfile;
            using (BinaryReader br = new BinaryReader(fs))
            {
                // read first byte = identifier
                ah.Identifier = (int)br.ReadByte();
                if (ah.Identifier >= 0x03 && ah.Identifier <= 0x99)
                {
                    // now read 1 byte length
                    ah.Length = (int)br.ReadByte();
                    if (ah.Length < 32)
                    {
                        retval = true;
                        ah.Values = new int[ah.Length];
                        for (int i = 0; i < ah.Length; i++)
                        {
                            // read values
                            ah.Values.SetValue((int)br.ReadByte(), i);
                        }
                        ah.CalculateRealValues();
                        //Console.WriteLine("Found axis: " + ah.Descr + " " + ah.Identifier.ToString("X2"));

                    }
                }
                //DumpAxis(ah);
            }
            fs.Close();
            fs.Dispose();
            return retval;
        }
Exemplo n.º 2
0
 private bool FillAxisInformationM44(string filename, AxisHelper ah)
 {
     bool retval = false;
     FileStream fs = new FileStream(filename, FileMode.Open);
     fs.Position = ah.Addressinfile;
     ah.IsMotronic44 = true;
     using (BinaryReader br = new BinaryReader(fs))
     {
         // read first byte = identifier
         ah.Identifier = Convert.ToInt32(br.ReadByte()) * 256;
         ah.Identifier += (int)br.ReadByte();
         if (IsKnownM44Id(ah.Identifier & 0x00FF))
         {
             // now read 1 byte length
             ah.Length = (int)br.ReadByte();
             if (ah.Length <= 32)
             {
                 retval = true;
                 ah.Values = new int[ah.Length];
                 for (int i = 0; i < ah.Length; i++)
                 {
                     // read values
                     ah.Values.SetValue((int)br.ReadByte(), i);
                 }
                 ah.CalculateRealValues();
             }
         }
         //DumpAxis(ah);
     }
     fs.Close();
     fs.Dispose();
     return retval;
 }