RKS+CAN Adapter für CAN-Bus Sniffing
CAN-Interface
Info und Bestellung
CANhack.de - CAN Hardware, CAN Software, CAN Protokolle - Das CAN-Bus Forum.

C# Beispiel


FehlerdatenbankSuchen  LesezeichenLesezeichen  Garage - FahrzeugeFahrzeuge  InfoFAQ und Impressum
RSS-NewsfeedRSS-Newsfeed  RegistrierenRegistrieren  LoginLogin
 
Neues Thema beginnen   Auf Beitrag antworten      Weitergeben, Thema teilen   Lesezeichen setzen   Druckansicht    CANhack.de - Übersicht » CANhack.de CAN-USB System: RKS+CAN Vorheriges Thema anzeigen :: Nächstes Thema anzeigen

Wie wichtig ist euch ein C# API (Programmierschnittstelle) für das CAN-Interface?
Unwichtig, ich programmiere in C oder C++
0%
 0%  [ 0 ]
Ich finde C# super und will so etwas!
100%
 100%  [ 2 ]
Unwichtig, ich nutze nur KCANMonitor.
0%
 0%  [ 0 ]
Stimmen insgesamt : 2

Autor Nachricht
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 343
Karma: +13 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag05-04-2017, 16:55    Titel: C# Beispiel Antworten mit Zitat

Noch nicht ganz fertig, prinzipiell geht die C++ DLL zur Nutzung des RKS+CAN Interface so zu nutzen.
Kann man natürlich noch schöner programmieren und es wird auch nur Seriennummer und Versionsinfo vom Interface dargestellt.

Wenn jemand ein C# Crack ist, bitte bezüglich Verbesserungen bei mir melden. Sinnvoll wäre eine eigene C# Datei zum Einbinden, welche die DLL-API kapselt. Alles kein Hexenwerk.

Viele Grüsse, Rainer



Example-Net.rar
 Beschreibung:
 C# Beispiel
C# Beispiel
Download
 Dateiname:  Example-Net.rar
 Dateigröße:  482,96 KB
 Heruntergeladen:  99 mal
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CAN-Bus Interface kaufen: CAN auf USB, CANhack.de CAN-Interface


Zuletzt bearbeitet am 17-11-2017, 13:15, insgesamt 7-mal bearbeitet.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
dunt
Hacker
Hacker


CAN Hacker seit: 06.11.2015
Beiträge: 12
Karma: +0 / -0   Danke, gefällt mir!


Premium Support

Beitrag11-06-2017, 11:29    Titel: C# Beispiel Antworten mit Zitat

Hat diesbezüglich schon jemand etwas? Habe das Projekt mal um Ub erweitert was auch soweit funktioniert hat.

Hänge jetzt aber beim empfange der CAN Messages.

Code:
if(RKSCANRx(&sRx))
- genau hier wie muss ich diese von der DLL übernehmen.

es wird folgender fehler angezeigt "Zusätzliche Informationen: "parameter #1" kann nicht gemarshallt werden: Zeiger dürfen nicht auf gemarshallte Strukturen verweisen. Verwenden Sie stattdessen ByRef.."


evtl. kann mir jemand helfen icon_wink.gif



2017-06-06_RKS CAN USB.zip
 Beschreibung:
 C# Beispiel
C# Beispiel
Download
 Dateiname:  2017-06-06_RKS CAN USB.zip
 Dateigröße:  842,81 KB
 Heruntergeladen:  43 mal
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden Gehe in Dein Profil um mehr über die Verlinkung Deiner Webseite zu erfahren.  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 343
Karma: +13 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag16-06-2017, 12:37    Titel: C# Beispiel Antworten mit Zitat

Gnarf... zum C# Hacker wider Willen. Das Leben könnte so einfach sein, bin dran und bald wieder urlaubsreif.

Hier ist erklärt wie es geht:
http://andyrushton.co.uk/csharp-calling-c-functions-marshalling-structs/
https://docs.microsoft.com/en-us/dotnet/framework/interop/passing-structures

Anstatt jeden einzelnen Funktionsaufruf der C/C++-DLL kompliziert zu verpacken, wäre es wohl sinnvoll die C# RKS-USB Klasse um Wrapperfunktionen zu erweitern, die man stattdessen aufruft. So hat man den Aufwand nur einmal.

Viele Grüsse, Rainer
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CAN-Bus Interface kaufen: CAN auf USB, CANhack.de CAN-Interface


Zuletzt bearbeitet am 09-12-2017, 12:17, insgesamt 5-mal bearbeitet.
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 343
Karma: +13 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag09-12-2017, 12:19    Titel: C# Beispiel Antworten mit Zitat

Also eigentlich wollte sich jemand um das C# API kümmern, irgendwie zieht sich das inzwischen sehr lange hin und es kommt nix. Fürchte, da muss ich oder jemand anderes ran. icon_confused.gif

Siehe:
https://www.kaufmann-automotive.ch/jobs.html

Viele Grüsse, Rainer
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CAN-Bus Interface kaufen: CAN auf USB, CANhack.de CAN-Interface
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen  
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

CAN Hacker seit: 07.06.2011
Beiträge: 343
Karma: +13 / -0   Danke, gefällt mir!
Wohnort: Ländle



Beitrag10-01-2018, 19:58    Titel: C# Beispiel Antworten mit Zitat

Code:
using System.Runtime.InteropServices;

// CAN frame types

// CAN data structure
public class can_data_t
{
  public uint dwID;
  public byte byDLC;
  public byte[] abyData = new byte[8]; // max 8 data bytes
}

// CAN error information structure
public class can_err_t
{
  public byte byError;
}

// CAN information structure
//C++ TO C# CONVERTER TODO TASK: Unions are not supported in C#, but the following union can be replicated with the StructLayout and FieldOffset attributes:
//ORIGINAL LINE: union can_union_t
[StructLayout(LayoutKind.Explicit)]
public struct can_union_t
{
  [FieldOffset(0)]
  public can_data_t sData;
  [FieldOffset(0)]
  public can_err_t sErr;
}

// The final CAN frame structure used for send/receive
public class can_msg_t
{
  public byte byType;
  public uint dwTimeStamp;
  public can_union_t uFrm = new can_union_t();
}


internal static class DefineConstants
{
   public const int FRAME_TYPE_NORMAL = 0x1;
   public const int FRAME_TYPE_RTR = 0x2;
   public const int FRAME_TYPE_NORMAL_EXT = 0x3;
   public const int FRAME_TYPE_RTR_EXT = 0x4;
   public const int FRAME_TYPE_ERR = 0x5;
}
Dipl.-Ing. (FH) Rainer Kaufmann - Kaufmann Automotive GmbH
CAN-Bus Interface kaufen: CAN auf USB, CANhack.de CAN-Interface
Nach oben
CAN Hacker - Profil anzeigen Private Nachricht senden Website dieses Benutzers besuchen  

Bewertungen - C# Beispiel

Durchschnittsbewertung: 0,00 - schlechteste Bewertung: 0 - beste Bewertung: 0 - Anzahl der Bewertungen: 0 - Bewertungen ansehen

Danke sagen Du bist nicht dazu autorisiert dieses Thema zu bewerten.
Neues Thema beginnen   Auf Beitrag antworten      Weitergeben, Thema teilen   Lesezeichen setzen   Druckansicht    CANhack.de - Übersicht » CANhack.de CAN-USB System: RKS+CAN Seite 1 von 1
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst Deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst Deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum herunterladen.