public static string ParseDevInfoStr(string src) { // 0-REDWAVE-512-TANTRA [IRIDIUM]-512-17002F001451353232333438 // deviceType // sysmoniker // sysversion // coremoniker // coreversion // serial number var splits = src.Split("-".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); DEV_TYPE dType = (DEV_TYPE)Enum.Parse(typeof(DEV_TYPE), splits[0]); string sysMoniker = splits[1]; string sysVersion = BCDVersionToStr(int.Parse(splits[2])); string coreMoniker = splits[3]; string coreVersion = BCDVersionToStr(int.Parse(splits[4])); string serialNumber = splits[5]; return(string.Format("Device Type: {0}\r\nSystem: {1} v.{2}\r\nCore: {3} v.{4}\r\nS/N: {5}\r\n", dType, sysMoniker, sysVersion, coreMoniker, coreVersion, serialNumber)); }
private void DEVICE_INFO_Parse(object[] parameters) { //sys_moniker,sys_ver,core_moniker,core_ver,dev_type,dev_serial_num string sys_moniker = (string)parameters[0]; int sys_ver = (int)parameters[1]; string core_moniker = (string)parameters[2]; int core_ver = (int)parameters[3]; DEV_TYPE devType = (DEV_TYPE)(int)parameters[4]; string dev_serial_num = (string)parameters[5]; serialTxb.Invoke((MethodInvoker) delegate { serialTxb.Text = dev_serial_num; }); deviceInfoTxb.Invoke((MethodInvoker) delegate { deviceInfoTxb.Text = string.Format("System: {0} v.{1}, Core: {2} v.{3}, Device: {4}", sys_moniker, BCDVersionToStr(sys_ver), core_moniker, BCDVersionToStr(core_ver), devType); }); if (devType != DEV_TYPE.DEV_REDBASE) { State = AppState.WRONG_DEVICE; } else { State = AppState.DEV_INFO_RECEIVED; } }