public static CanRxMsg CAN_Export(byte[] Buf, UInt32 OffSet) { CanRxMsg Msg = new CanRxMsg(); Msg.StdId = Tools.ByteToU32(Buf, OffSet, 0); OffSet += 4; Msg.ExtId = Tools.ByteToU32(Buf, OffSet, 0); OffSet += 4; Msg.IDE = Buf[OffSet++]; Msg.RTR = Buf[OffSet++]; Msg.DLC = Buf[OffSet++]; Msg.Data = new byte[Msg.DLC]; for (int i = 0; i < Msg.DLC; i++) { Msg.Data[i] = Buf[OffSet++]; } return(Msg); }
private void UpdateList(CanRxMsg Msg) { ListViewItem lvi = new ListViewItem(); lvi.ImageIndex = 0; lvi.Text = DateTime.Now.ToString("HH:MM:ss"); lvi.SubItems.Add("0x" + Msg.StdId.ToString("x8")); lvi.SubItems.Add("0x" + Msg.ExtId.ToString("x8")); lvi.SubItems.Add("0x" + Msg.IDE.ToString("x2")); lvi.SubItems.Add("0x" + Msg.RTR.ToString("x2")); lvi.SubItems.Add("0x" + Msg.DLC.ToString("x2")); lvi.SubItems.Add(Tools.HexToString(Msg.Data, Msg.DLC)); listView1.Items.Insert(0, lvi); listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); listView1.EndUpdate(); }
private void timer1_Tick(object sender, EventArgs e) { if (RxTimeOutCount-- == 0) { if (SB.Length > 5) { this.textBox1.Text = (SB.ToString()); } byte[] RxBuffer = Tools.StringToHex(SB.ToString()); if (ZigBeeBus.ZigBee_CheckCrc(RxBuffer)) { CanRxMsg Msg = CAN.CAN_Export(RxBuffer, 4); bool Ok = true; for (int i = 0; i < comboBox4.Items.Count; i++) { if (comboBox4.Items[i].ToString() == "0x" + Msg.StdId.ToString("x8")) { Ok = false; } } if (Ok) { comboBox4.Items.Add("0x" + Msg.StdId.ToString("x8")); } if (comboBox4.Text == "") { UpdateList(Msg); } if (comboBox4.Text == "0x" + Msg.StdId.ToString("x8")) { UpdateList(Msg); label3.Text = (Msg.Data[0] * 0xff + Msg.Data[1]).ToString(); label4.Text = (Msg.Data[3] * 0xff + Msg.Data[2]).ToString(); label5.Text = (Msg.Data[5] * 0xff + Msg.Data[4]).ToString(); label6.Text = Tools.ByteToFloat(Msg.Data, 0, 0).ToString(); } } SB.Clear(); try { serialPort1.DiscardInBuffer(); } catch { } } }
public static void CAN_Create(ref byte[] Buf, CanRxMsg Msg) { }