// Send ack or nack private void SendResult(System.Net.IPEndPoint sender, BacnetBvlcResults ResultCode) { byte[] b = new byte[6]; First4BytesHeaderEncode(b, BacnetBvlcFunctions.BVLC_RESULT, 6); b[4] = (byte)(((ushort)ResultCode & 0xFF00) >> 8); b[5] = (byte)((ushort)ResultCode & 0xFF); MyBBMDTransport.Send(b, 6, sender); }
// Send ack or nack private void SendResult(IPEndPoint sender, BacnetBvlcResults resultCode) { var b = new byte[6]; First4BytesHeaderEncode(b, BacnetBvlcFunctions.BVLC_RESULT, 6); b[4] = (byte)(((ushort)resultCode & 0xFF00) >> 8); b[5] = (byte)((ushort)resultCode & 0xFF); _myBbmdTransport.Send(b, 6, sender); }
void Bvlc_MessageReceived(System.Net.IPEndPoint sender, BacnetBvlcFunctions function, BacnetBvlcResults result, object data) { if (!sender.Equals(BBMDep)) { return; // don't care } if (InvokeRequired) // GUI call back { BeginInvoke(new Action <System.Net.IPEndPoint, BacnetBvlcFunctions, BacnetBvlcResults, object>(Bvlc_MessageReceived), new object[] { sender, function, result, data }); return; } if (function == BacnetBvlcFunctions.BVLC_READ_BROADCAST_DIST_TABLE_ACK) // an table (could be empty) { List <Tuple <IPEndPoint, IPAddress> > Entries = (List <Tuple <IPEndPoint, IPAddress> >)data; BBMDTable.Rows.Clear(); foreach (Tuple <IPEndPoint, IPAddress> tpl in Entries) { BBMDTable.Rows.Add(new object[] { tpl.Item1.Address.ToString(), tpl.Item1.Port, tpl.Item2.ToString() }); } } if (function == BacnetBvlcFunctions.BVLC_READ_FOREIGN_DEVICE_TABLE_ACK) { List <Tuple <IPEndPoint, ushort, ushort> > Entries = (List <Tuple <IPEndPoint, ushort, ushort> >)data; FDRTable.Rows.Clear(); foreach (Tuple <IPEndPoint, ushort, ushort> tpl in Entries) { FDRTable.Rows.Add(new object[] { tpl.Item1.ToString(), tpl.Item2.ToString(), tpl.Item3.ToString() }); } } if ((function == BacnetBvlcFunctions.BVLC_RESULT) && (result == BacnetBvlcResults.BVLC_RESULT_SUCCESSFUL_COMPLETION) && (WriteInOperation)) { WriteInOperation = false; transport.Bvlc.SendReadBroadCastTable(BBMDep); } if ((function == BacnetBvlcFunctions.BVLC_RESULT) && (result == BacnetBvlcResults.BVLC_RESULT_READ_BROADCAST_DISTRIBUTION_TABLE_NAK)) { lbBBMDlInfo.Visible = true; lbBBMDlInfo.Text = "Read Broadcast Table Rejected"; } if ((function == BacnetBvlcFunctions.BVLC_RESULT) && (result == BacnetBvlcResults.BVLC_RESULT_WRITE_BROADCAST_DISTRIBUTION_TABLE_NAK) && (WriteInOperation)) { lbBBMDlInfo.Visible = true; lbBBMDlInfo.Text = "Write Broadcast Table Rejected"; } if ((function == BacnetBvlcFunctions.BVLC_RESULT) && (result == BacnetBvlcResults.BVLC_RESULT_READ_FOREIGN_DEVICE_TABLE_NAK)) { ldlFDRInfo.Visible = true; ldlFDRInfo.Text = "Read FDR Table Rejected"; } }