public void Write(byte[] data) { var niTx = new NiCan.NCTYPE_CAN_FRAME(); if (ExtendedId) { niTx.ArbitrationId = TransmittId | 0x20000000; } else { niTx.ArbitrationId = TransmittId; } niTx.DataLength = 8; niTx.IsRemote = NiCan.NC_FALSE; niTx.Data0 = data[0]; niTx.Data1 = data[1]; niTx.Data2 = data[2]; niTx.Data3 = data[3]; niTx.Data4 = data[4]; niTx.Data5 = data[5]; niTx.Data6 = data[6]; niTx.Data7 = data[7]; NiCan.ncWrite(_handle, NiCan.CanFrameSize, ref niTx); IoLog.Instance.WirteLine("Tx: 0x" + niTx.ArbitrationId.ToString("X4") + " " + Tools.ByteArrayToCStyleString(data)); }
public void RestartCard(byte moduleAddress) { IoLog.Instance.WirteLine("Restart Module:" + moduleAddress); var niTx = new NiCan.NCTYPE_CAN_FRAME(); niTx.ArbitrationId = 0x1558FFFF | 0x20000000; niTx.DataLength = 2; niTx.IsRemote = NiCan.NC_FALSE; niTx.Data0 = 0xAA; niTx.Data1 = moduleAddress; NiCan.ncWrite(_handle, NiCan.CanFrameSize, ref niTx); IoLog.Instance.WirteLine("Tx: 0x" + niTx.ArbitrationId.ToString("X4") + " " + Tools.ByteArrayToCStyleString(new byte[] { niTx.Data0, niTx.Data1 })); }