override protected void ProcessBuffer(byte[] buffer) { if (!CompareFirstN(buffer, Header, Header.Length)) { throw new GH615MCommunicationError("Wrong Header in GetDeviceInfoCommand"); } var zero = new String(new[] { '\0' }); var deviceName = Encoding.UTF8.GetString(buffer, 3, 9).Replace(zero, ""); var version = String.Format("{0}.{1}", Convert.ToString(buffer[26], 16).PadLeft(2, '0'), Convert.ToString(buffer[27], 16).PadLeft(2, '0')); var firmware = Encoding.UTF8.GetString(buffer, 28, 16); var name = Encoding.UTF8.GetString(buffer, 45, 9).Replace(zero, ""); int waypointsCount = buffer[66]; int tracksCount = buffer[67]; int routesCount = buffer[68]; _info = new GH615MDeviceInfo(deviceName, version, firmware, name, waypointsCount, tracksCount, routesCount); }
protected override void ProcessBuffer(byte[] buffer) { if (!CompareFirstN(buffer, Header, Header.Length)) { throw new GH615MCommunicationError("Wrong Header in GetDeviceInfoCommand"); } var zero = new String(new[] { '\0' }); var deviceName = Encoding.UTF8.GetString(buffer, 3, 9).Replace(zero, ""); var version = String.Format("{0}.{1}", Convert.ToString(buffer[26], 16).PadLeft(2, '0'), Convert.ToString(buffer[27], 16).PadLeft(2, '0')); var firmware = Encoding.UTF8.GetString(buffer, 28, 16); var name = Encoding.UTF8.GetString(buffer, 45, 9).Replace(zero, ""); int waypointsCount = buffer[66]; int tracksCount = buffer[67]; int routesCount = buffer[68]; _info = new GH615MDeviceInfo(deviceName, version, firmware, name, waypointsCount, tracksCount, routesCount); }