Beispiel #1
0
        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));
        }
Beispiel #2
0
        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 }));
        }