private void button5_Click(object sender, EventArgs e) { textBox5.AppendText("enum = " + ((t1)0x83).ToString() + Environment.NewLine); textBox5.AppendText("enum = " + ((t2)0x83).ToString() + Environment.NewLine); textBox5.AppendText("enum = " + Enum.IsDefined(typeof(t1), 0x83) + Environment.NewLine); textBox5.AppendText("enum = " + Enum.IsDefined(typeof(t2), 0x83) + Environment.NewLine); if (!textBox4.Text.Equals(string.Empty)) { string temp = LEVUtilityLibrary.MassUtilities.StringTrim_Replace_EnterAndTab_CombineMultiSpaceToOne(textBox4.Text); textBox5.AppendText("temp = " + temp + Environment.NewLine); byte[] array = LEVUtilityLibrary.MassUtilities.HexStringToByteArray(temp); byte[] unpacking; int st, ed, dst, ded; LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.OneWireDataGroup group = LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.UnPacking(array, out unpacking, out st, out ed, out dst, out ded); string data = LEVUtilityLibrary.MassUtilities.ByteArrayToHexString(unpacking, true); textBox5.AppendText("group = " + group + Environment.NewLine); textBox5.AppendText("start idx = " + st + Environment.NewLine); textBox5.AppendText("end idx = " + ed + Environment.NewLine); textBox5.AppendText("data start idx = " + dst + Environment.NewLine); textBox5.AppendText("data end idx = " + ded + Environment.NewLine); textBox5.AppendText("data = " + data + Environment.NewLine); } }
public List <ReceivedPacket> DataDetector(byte[] appendRawData) { List <ReceivedPacket> detectorData = new List <ReceivedPacket>(); //BatteryReceived_DataGroup group; byte respondCmd; byte[] receivedData; bool detectFlag = false; bool uartFound = false; int segStartIdxOfRawData = 0; int segEndIdxOfRawData = 0; int dataStartIdxOfRawData = 0; int dataEndIdxOfRawData = 0; ReceivedPacket packet; rawData.AddRange(appendRawData); do { detectFlag = false; uartFound = LEVUtilityLibrary.BatteryPack_UARTPacketFormat.Unpacking( rawData.ToArray <byte>(), out respondCmd, out receivedData, out segStartIdxOfRawData, out segEndIdxOfRawData); if (uartFound) { packet.Type = RespondedDataType.Uart_Cmd_Respond; packet.Cmd = respondCmd; packet.Data = receivedData; detectorData.Add(packet); rawData.RemoveRange(segStartIdxOfRawData, segEndIdxOfRawData - segStartIdxOfRawData + 1); detectFlag = true; } LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.OneWireDataGroup oneWireGroup = LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.UnPacking( rawData.ToArray <byte>(), out receivedData, out segStartIdxOfRawData, out segEndIdxOfRawData, out dataStartIdxOfRawData, out dataEndIdxOfRawData); if (oneWireGroup != LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.OneWireDataGroup.None) { detectFlag = true; if (oneWireGroup == LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.OneWireDataGroup.LEV_ST_G2_OneWire_EEPROM_Group) { packet.Type = RespondedDataType.LEV_ST_G2_OneWire_EEPROM; } else if (oneWireGroup == LEVUtilityLibrary.BatteryPack_OneWirePacketFormat.OneWireDataGroup.LEV_ST_G2_OneWire_SystemData_Group) { packet.Type = RespondedDataType.LEV_ST_G2_OneWire_SystemData; } else { throw new Exception("OneWire Data Group Detect Failure"); } packet.Cmd = 0; packet.Data = receivedData; detectorData.Add(packet); rawData.RemoveRange(0, segEndIdxOfRawData + 1); } } while (detectFlag); return(detectorData); }