static void Main(string[] args) { /*Adapter példányosítása*/ CanAdapterDevice adapter = new CanAdapterDevice(); /*Kapcsolódás egy létező adapterhez.*/ adapter.Connect(); /*Kapcsolódott ezzel a SerialNumber-el rendlekező adapterhez.*/ Console.WriteLine("Connected to: " + adapter.Attributes.SerialNumber); /*Busz lezárás engedélyezése. */ adapter.Attributes.Termination = true; /*Megnyitás az átviteli sebesség paraméterrel.*/ adapter.Open(CanBaudRateCollection.Speed500kBaud); /*Üzenet tömb létrehozása.*/ var txMsgArray = new CanMessage[] { new CanMessage(0x01FF, new byte[] { 0x01, 0x02, 0x03, 0x04 }) }; /*Üzenet tömb küldése.*/ adapter.Write(txMsgArray); /*Kapcsolat zárása*/ adapter.Close(); /*Kapcsolat bontása*/ adapter.Disconnect(); Console.Read(); }
public void Setup() { _adapter = new CanAdapterDevice(); _adapter.Connect(); _targetBaudrate = 125000; _msgBuffer = new CanMessage[UInt16.MaxValue]; }
static void Main(string[] args) { /*Elérhető adapterek megjelnítése*/ foreach (CanAdapterItem item in CanAdapterDevice.GetAdapters()) { Console.WriteLine(item); } /*Adapter példányosítása*/ CanAdapterDevice adapter = new CanAdapterDevice(); /*Kapcsolódás egy létező adapterhez.*/ adapter.Connect(); Console.WriteLine("Connected to: " + adapter.Attributes.SerialNumber); /*Kapcsolat bontása*/ adapter.Disconnect(); Console.Read(); /*Konzol kimenete: * CAN Bus Adapter - MCAN120803 3869366E3133 * CAN Bus Adapter - MCAN120803 3873366E3133 * CAN Bus Adapter - MCAN120803 387536633133 * Connected to: 3869366E3133 */ }
static void Main(string[] args) { /*Adapter példányosítása*/ CanAdapterDevice adapter = new CanAdapterDevice(); /*Kapcsolódás egy létező adapterhez.*/ adapter.Connect(); /*Busz lezárás engedélyezése. */ adapter.Attributes.Termination = true; /*Megnyitás az átviteli sebesség paraméterrel.*/ adapter.Open(CanBaudRateCollection.Speed500kBaud); /*10 elemü üzenet tömb létrehozása.*/ var rxMsgArray = new CanMessage[10]; /*Bérkezett üzenet beolvasása a tömbe */ adapter.Read(rxMsgArray, 0, adapter.Attributes.PendingRxMessages); /*Kapcsolat zárása*/ adapter.Close(); /*Kapcsolat bontása*/ adapter.Disconnect(); Console.Read(); }
/********************************************************************************/ public void Connect() { _adapter.Connect(); _adapter.Services.Reset(); }
static void Main(string[] args) { /*Adapter példányosítása*/ CanAdapterDevice adapter = new CanAdapterDevice(); /*Kapcsolódás egy létező adapterhez.*/ adapter.Connect(); /*Busz lezárás engedélyezése. */ adapter.Attributes.Termination = true; /*Loopback moód engedélyezése*/ adapter.Attributes.Loopback = true; /*Megnyitás az átviteli sebesség paraméterrel.*/ adapter.Open(CanBaudRateCollection.Speed125000Baud); /*2 CAN üzenet tartalmazó tömb létrehozása a kimenő üzenetknek.*/ CanMessage[] txMsgArray = new CanMessage[] { /* ArbId Data */ new CanMessage(0x000001, new byte[] { 0x01, 0x02, 0x03 }), new CanMessage(0x000002, new byte[] { 0x04, 0x05, 0x06 }), }; /*Üzenetek küldése*/ adapter.Write(txMsgArray); /*2 elemü üzenet tömb létrehozása a bejövő üzeneteknek.*/ var rxMsgArray = new CanMessage[2]; /*Timeout figyeléshez megjegyezzük az beolvasás indításának időpontját.*/ long timestampTicks = DateTime.Now.Ticks; bool isTimeout = false; do { /*Ha 2db CAN üzenet várakozik a Bufferben, akkor kiolvassuk.*/ if (adapter.Attributes.PendingRxMessages == 2) { /*Bérkezett üzenet beolvasása a tömbe */ adapter.Read(rxMsgArray, 0, adapter.Attributes.PendingRxMessages); /*Kilépés a do-while-ból*/ break; } /*Inditás óta eltelt már 5000ms?*/ isTimeout = (DateTime.Now.Ticks - timestampTicks) > (5000 * 10000); /*Timeout-ig ismétli a ciklust...*/ } while (!isTimeout); if (isTimeout) { Console.WriteLine("Timeout..."); } else { foreach (CanMessage msg in rxMsgArray) { Console.WriteLine("Incoming Msg:" + msg.ToString()); } Console.WriteLine("Complete."); } /*Kapcsolat zárása*/ adapter.Close(); /*Kapcsolat bontása*/ adapter.Disconnect(); Console.Read(); }