private void sendPortsData(SendDataType sType) { if (cdInterface != null) { new Thread(sendPortsDataThread).Start(sType); // serPort.commWriteByte(buf, 0, buf.Length); } }
private void SendData(SendDataType Type, int F1, int F2, int F3, int F4) { #if DEBUG UpdateText("SendData"); #endif SendDataData s = new SendDataData(); s.Header1 = 0x46; s.Header2 = 0x52; s.Header3 = 0x53; s.Header4 = 0x1; s.DataType = (int)Type; s.Flag1 = F1; s.Flag2 = F2; s.Flag3 = F3; s.Flag4 = F4; byte[] data = CommonUtilities.Serialize <SendDataData>(s); try { ws.Send(data); } catch (Exception ee) { Debug.WriteLine(ee.ToString()); } }
public void revePortsData(SendDataType sType) { if (sType.isNoDt) { revePortsData(sType.Buf); } }
private void sendDataModel(SendDataType sType) { if (sendDataHandle != null) { sendDataHandle(sType); } }
/// <summary> /// 接收发送给本机ip对应端口号的数据报 /// </summary> private void ReciveMsg() { while (true) { try { if (receivePoint == null) { receivePoint = new IPEndPoint(IPAddress.Any, 0); //用来保存发送方的ip和端口号 } byte[] buffer = new byte[1024 * 10]; int length = client.ReceiveFrom(buffer, ref receivePoint);//接收数据报 string ipClient = receivePoint.ToString(); SendDataType sendType = new SendDataType(subByteArr(buffer, 0, length), ipClient, CommunicationMode.UDP, SendMode.OUT); reDate(sendType); //reDate(buffer); //setIpClient(ipClient, subByteArr(buffer, 0, length)); } catch (Exception e) { string msg = e.Message; } } }
public void sendData(SendDataType sType) { if (sType.isNoDt) { sendData(sType.Buf, 0, sType.Buf.Length, sType.Ip); } }
private ShareClientHeader(uint atomicCode, byte splitCount, byte splitIndex, SendDataType dataType, uint dataSize) { AtomicCode = atomicCode; SplitCount = splitCount; SplitIndex = splitIndex; DataType = dataType; DataPartSize = dataSize; }
public DataPhase(SendDataType type, int itemCount, WriteElementDelegate write, int dataSizeBytes, int tupleSize = 1) { Type = type; ItemCount = (uint)itemCount; DataSizeBytes = dataSizeBytes; TupleSize = tupleSize; WriteElement = write; }
public override void reveData(SendDataType sType) { if (!sType.isNoDt) { return; } receDt(sType.Buf); }
private void sendPortsData(byte[] buf, string ip, CommunicationMode comMode, SendMode sendMode) { SendDataType sType = new SendDataType(buf, ip, comMode, sendMode); if (cdInterface != null) { new Thread(sendPortsDataThread).Start(sType); // serPort.commWriteByte(buf, 0, buf.Length); } }
/// <summary> /// 拼接包头包尾 /// </summary> /// <param name="Type"></param> /// <param name="packSend"></param> private void packDeal(byte Type, byte[] packSend) { packSend[0] = 0xf8; packSend[1] = Type; packSend[packSend.Length - 1] = 0xf7; SendDataType sType = new SendDataType(packSend, "", Utils.CommunicationMode.SERIALPORT, SendMode.ALL); addCSAndsendData(sType); }
//根据命令 获得对应的通讯数据 public byte[] GetSerialSendData(byte comd) //要点1 { SendDataType sendDataType = (SendDataType)(comd); byte[] serialDatas = null; ISendData getSendDatas = null; DataInfoSet dataInfoSet = null; String[] dataBaseValues = null; switch (sendDataType) { case SendDataType.NormalSerialData: //0x20 serialDatas = GetNormalDatas(); // break; case SendDataType.DesignParam: //0x21指令 serialDatas = GetDesignParam(); break; case SendDataType.TestSerialData: //0x23 serialDatas = GetTestDatas(); break; case SendDataType.ClearComdSerailData: //0x24 serialDatas = GetClearWorkNumberDatas(); break; case SendDataType.MachineSerialData: //0x25 getSendDatas = new MachineInfoSendData(); dataInfoSet = MouldDataFactory.CreateDataInfo(DataTypeName.BaseDataTable); dataBaseValues = BaseDateModel.GetDataBaseModel().DataBaseValues; break; case SendDataType.ShouldPadPointsData: //0x27 serialDatas = GetShouldPadPoints(); break; case SendDataType.SingleStepSerialData: //0x28 serialDatas = GetSingleStepDatas(); break; case SendDataType.LockStaSerialData: //0X29 serialDatas = GetLockStaSerialDatas(); break; case SendDataType.UnLockSerialData: //0x2a serialDatas = GetUnLockSerialData(); break; } if (getSendDatas != null) { serialDatas = getSendDatas.GetSendDatas(dataBaseValues, dataInfoSet); } return(serialDatas); }
public void revePortsData(SendDataType sType) { foreach (FromBaseModel fbModel in fbModels) //遍历出主要的设置Model,去除不需要的更新的Model { if (fbModel == null) { continue; } fbModel.revePortsData(sType); } }
/// <summary> /// 计算校验,并且发送数据 /// </summary> /// <param name="buf"></param> public void addCSAndsendData(SendDataType sType) { if (!sType.isNoDt) { return; } if (sType.Buf == null || sType.Buf.Length < 2) { return; } sType.Buf[sType.Buf.Length - 2] = XWUtils.getCheckBit(sType.Buf, 0, sType.Buf.Length - 2); sendDataModel(sType); }
private void sendPortsDataThread(object obj) { if (!(obj is SendDataType)) { return; } SendDataType sType = (SendDataType)obj; if (cdInterface != null) { cdInterface.sendData(sType); } }
private void reDate(SendDataType sType) { if (!sType.isNoDt) { return; } if (reveData != null && isOpenUDP) { reveData(sType); } if (crdInter != null) { crdInter.revePortsData(sType); } }
/// <summary> /// 定义委托,输送详细的数据 /// </summary> /// <param name="buf"></param> public void issue(SendDataType sType) { if (!sType.isNoDt) { return; } if (onDataReceived != null) { onDataReceived(sType); } if (crdInter != null) { crdInter.revePortsData(sType); } }
/// <summary> /// 接收数据的地方 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void comm_DataReceived(object sender, SerialDataReceivedEventArgs e) { if (pointClosing) { return; //如果正在关闭,忽略操作,直接返回,尽快的完成串口监听线程的一次循环 } try{ Listening = true; //设置标记,说明我已经开始处理数据,一会儿要使用系统UI的。 //Thread.Sleep(intS); byte[] buf = commDataRead(); //声明一个临时数组存储当前来的串口数据 SendDataType sendType = new SendDataType(buf, comm.PortName, CommunicationMode.SERIALPORT, SendMode.OUT); issue(sendType); } finally{ Listening = false; } }
/// <summary> /// A utility function for reading the payload of a <see cref="DataMessage"/> for a <c>MeshShape</c>. /// </summary> /// <param name="reader"></param> /// <param name="vertices"></param> /// <param name="indices"></param> /// <param name="normals"></param> /// <param name="colours"></param> /// <returns>Returns the updated component <see cref="SendDataType"/>. The <see cref="SendDataType.End"/> /// flag is also set, or alone when done. Returns -1 on failure.</returns> /// <remarks> /// This may be called immediately after reading the <see cref="DataMessage"/> for a /// <c>MeshShape</c> to decode the payload content. The method uses a set of /// <see cref="ComponentAdaptor{T}"/> interfaces to resolve data adaption to the required type or /// container. Each call will only interface with the adaptor relevant to the message payload /// calling <see cref="ComponentAdaptor{T}.Set(int, T)"/> for the incoming data. Vertices and /// indices must be correctly pre-sized, while other components may have the /// <see cref="ComponentAdaptor{T}.Count"/> property set to ensure the correct size (matching /// the vertex count, or 1 for uniform normals). /// </remarks> public static int ReadDataComponentDeferred(BinaryReader reader, uint vertexCount, uint indexCount, ComponentBlockReader vertexReader, ComponentBlockReader indexReader, ComponentBlockReader normalsReader, ComponentBlockReader coloursReader) { UInt32 offset; UInt32 itemCount; SendDataType dataType; dataType = (SendDataType)reader.ReadUInt16(); offset = reader.ReadUInt32(); itemCount = reader.ReadUInt32(); // Record and mask out end flags. SendDataType endFlags = dataType & (SendDataType.ExpectEnd | SendDataType.End); dataType = dataType & ~endFlags; bool ok = true; bool complete = false; uint endReadCount = 0; switch (dataType) { case SendDataType.Vertices: endReadCount = vertexReader(dataType, reader, offset, itemCount); ok = ok && endReadCount != ~0u; // Expect end marker. if ((endFlags & SendDataType.End) != 0) { // Done. complete = true; } // Check for completion. if ((endFlags & SendDataType.ExpectEnd) == 0) { complete = endReadCount == vertexCount; } break; case SendDataType.Indices: endReadCount = indexReader(dataType, reader, offset, itemCount); ok = ok && endReadCount != ~0u; break; // Normals handled together. case SendDataType.Normals: case SendDataType.UniformNormal: if (normalsReader == null) { return(-1); } endReadCount = normalsReader(dataType, reader, offset, itemCount); ok = ok && endReadCount != ~0u; break; case SendDataType.Colours: if (coloursReader == null) { return(-1); } endReadCount = coloursReader(dataType, reader, offset, itemCount); ok = ok && endReadCount != ~0u; break; default: // Unknown data type. ok = false; break; } int returnValue = -1; if (ok) { returnValue = (int)dataType; if (complete) { returnValue |= (int)SendDataType.End; } } return(returnValue); }
public void sendData(SendDataType sType) { }
public override void reveData(SendDataType sType) { }
public virtual void reveData(SendDataType sType) { }