public void DataPack_FullCrcField() { DataPack_t myDataPack = new DataPack_t(testPack); myDataPack.CRC16 = 0; myDataPack.FullCrcAndPrefixField(); Assert.IsTrue(myDataPack.CRC16 == 0x1718); }
public void AddNewByte(byte b) { // если первый байт совпадает с началом префикса, то активирум пакет if (bCounter == 0) { if (b != Constants.POCKET_HI_PREFIX) return; bStatus = SmartDataBufState.ACTIVE; } buf[bCounter] = b; // проверяем вторую часть префикса if (bCounter == 1) { // если перфикс не совпадает - метим пакет как пустой if (b != Constants.POCKET_LO_PREFIX) { ClearPocket(); return; } } //пакет готов когда все байты получены bCounter++; if (bCounter == Constants.POCKET_LENGTH) { DataPack = new DataPack_t(buf); if (DataPack.CRC16 == DataPack.CalcCRC()) { bStatus = SmartDataBufState.READY; //DataPack.RxTime = DateTime.Now; } else ClearPocket(); } }
public void DataPack_CheckCRCMetod() { DataPack_t myDataPack = new DataPack_t(testPack); Assert.IsTrue(myDataPack.CalcCRC()==0x1718); myDataPack.Data = 0; Assert.IsTrue(myDataPack.CalcCRC() != 0x1718); }
public void SendDataPack(DataPack_t p) { byte[] bArray = p.ConverToBytes(); foreach (byte b in bArray) { if (NewByteReceived != null) NewByteReceived(b); } }
public void FakeDev_callSendDataPack_BytesMastFlow() { FakeDevForm testForm = new FakeDevForm(); ISerialByteReciver testReciever = Substitute.For<ISerialByteReciver>(); DataPack_t testDataPack=new DataPack_t(testPack); testForm.AddReceiver(testReciever); testForm.SendDataPack(testDataPack); testReciever.Received(Constants.POCKET_LENGTH).NewByteReceivedEventHandler(Arg.Any<byte>()); }
public void SendPacket(byte bCommand = 0, byte bAddr = Constants.COMM_RX_DEF, UInt32 uiData = 0, UInt16 uiReserv = 0) { DataPack_t myNewPack = new DataPack_t(); myNewPack.Command = bCommand; myNewPack.Addr = bAddr; myNewPack.Data = uiData; myNewPack.Reserv = uiReserv; myNewPack.FullCrcAndPrefixField(); tTxQueue.Add(myNewPack); }
public void DataPack_ByteToDataPack_constractor() { DataPack_t myDataPack = new DataPack_t(testPack); Assert.IsTrue(myDataPack.Pref == Constants.POCKET_PREFIX); Assert.IsTrue(myDataPack.CRC16 == 0x1718); Assert.IsTrue(myDataPack.Command == 0xff); Assert.IsTrue(myDataPack.Addr == 0x11); Assert.IsTrue(myDataPack.Reserv == 0x00); Assert.IsTrue(myDataPack.Data == 0x33445566); }
public void DataPack_ConvertToBytes_correct() { DataPack_t dp=new DataPack_t(); dp.Pref = Constants.POCKET_PREFIX;; dp.CRC16 = 0x1718; dp.Command = 0xff; dp.Addr = 0x11; dp.Reserv = 0x00; dp.Data = 0x33445566; byte[] bArray = dp.ConverToBytes(); Assert.IsTrue(bArray.SequenceEqual(testPack)); }
public void PointGen_GetCorrectDataCollection_PointGenerate() { DataPack_t tPack = new DataPack_t(); IPointRecever<stPoint3D> fakeChart3D = Substitute.For<IPointRecever<stPoint3D>>(); Pointsource3D myPointGen = new Pointsource3D(fakeChart3D); tPack.Addr = Constants.COMM_RX_PREASURE; tPack.Data = 500; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_TENZO; tPack.Data = 700; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_LENGTH; tPack.Data = 123; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); // в этот момент на выходе должна появиться следующая точка: stPoint3D tTestPoint; tTestPoint.uiX=500; tTestPoint.uiY=700; tTestPoint.uiZ=123; tPack.Addr = Constants.COMM_RX_TENZO; tPack.Data = 500; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); tPack.Addr = Constants.COMM_RX_PREASURE; tPack.Data = 700; tPack.FullCrcAndPrefixField(); myPointGen.OnNext(tPack); // должна быть только одна правильная точка fakeChart3D.Received(1).AddPoint(tTestPoint); }
public void SmartDataBuf_AddNewBytes_CompareToEtalon() { // прием образцового пакета p.ClearPocket(); AddManyBytes(testPack); Assert.IsTrue(p.GetStatus() == SmartDataBufState.READY); DataPack_t myDataPack = new DataPack_t(testPack); Assert.IsTrue(myDataPack.Pref == p.DataPack.Pref); Assert.IsTrue(myDataPack.CRC16 == p.DataPack.CRC16); Assert.IsTrue(myDataPack.Command == p.DataPack.Command); Assert.IsTrue(myDataPack.Addr == p.DataPack.Addr); Assert.IsTrue(myDataPack.Reserv == p.DataPack.Reserv); Assert.IsTrue(myDataPack.Data == p.DataPack.Data); byte[] array;// = new byte[Constants.POCKET_LENGTH]; array = myDataPack.ConverToBytes(); Assert.IsTrue(array.SequenceEqual(testPack)); }