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; }
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; }