Cleanups II.

This commit is contained in:
Christoph Holzheuer
2026-02-10 14:25:06 +01:00
parent afe8588cd3
commit 0ea9ce2e0f
13 changed files with 545 additions and 47 deletions

View File

@@ -22,11 +22,11 @@
/***************************************************************/
#define CAN_FEATURE_LOM 0x0001 // Silent Mode (LOM = Listen only Mode)
#define CAN_FEATURE_ARD 0x0002 // Automatic Retransmission disable
#define CAN_FEATURE_TX_ACK 0x0004 // TX ACK (Gesendete Nachrichten best<EFBFBD>tigen)
#define CAN_FEATURE_TX_ACK 0x0004 // TX ACK (Gesendete Nachrichten bestätigen)
#define CAN_FEATURE_ERROR_MSGS 0x0008 // Error Messages Support
#define CAN_FEATURE_FD_HARDWARE 0x0010 // CAN-FD Hardware
#define CAN_FEATURE_FIFO_OV_MODE 0x0020 // FIFO OV Mode (Auto Clear, OV CAN Messages)
#define CAN_FEATURE_ECU_FLASH 0x0040 // Hardware beschleunigung f<EFBFBD>r ISO-TP ECU-Flash programmierung
#define CAN_FEATURE_ECU_FLASH 0x0040 // Hardware beschleunigung für ISO-TP ECU-Flash programmierung
#define CAN_FEATURE_CAN_TEST 0x4000 // Tiny-CAN Tester Firmware
#define CAN_FEATURE_HW_TIMESTAMP 0x8000 // Hardware Time Stamp
@@ -165,32 +165,32 @@
struct TModulFeatures
{
uint32_t CanClock; // Clock-Frequenz des CAN-Controllers, muss nicht mit
// der Clock-Frequenz des Mikrocontrollers <EFBFBD>bereinstimmen
uint32_t Flags; // Unterst<EFBFBD>tzte Features des Moduls:
// der Clock-Frequenz des Mikrocontrollers übereinstimmen
uint32_t Flags; // Unterstützte Features des Moduls:
// Bit Define-Makro
// 0x0001 CAN_FEATURE_LOM -> Silent Mode (LOM = Listen only Mode)
// 0x0002 CAN_FEATURE_ARD -> Automatic Retransmission disable
// 0x0004 CAN_FEATURE_TX_ACK -> TX ACK (Gesendete Nachrichten best<EFBFBD>tigen)
// 0x0004 CAN_FEATURE_TX_ACK -> TX ACK (Gesendete Nachrichten bestätigen)
// 0x0008 CAN_FEATURE_ERROR_MSGS -> Error Messages Support
// 0x0010 CAN_FEATURE_FD_HARDWARE -> CAN-FD Hardware
// 0x0020 CAN_FEATURE_FIFO_OV_MODE -> FIFO OV Mode (Auto Clear, OV CAN Messages)
// 0x0040 CAN_FEATURE_ECU_FLASH -> Hardware beschleunigung f<EFBFBD>r ISO-TP ECU-Flash programmierung
// 0x0040 CAN_FEATURE_ECU_FLASH -> Hardware beschleunigung für ISO-TP ECU-Flash programmierung
// 0x4000 CAN_FEATURE_CAN_TEST -> Tiny-CAN Tester Firmware
// 0x8000 CAN_FEATURE_HW_TIMESTAMP -> Hardware Time Stamp
uint32_t CanChannelsCount; // Anzahl der CAN Schnittstellen, reserviert f<EFBFBD>r
// zuk<EFBFBD>nftige Module mit mehr als einer Schnittstelle
uint32_t HwRxFilterCount; // Anzahl der zur Verf<EFBFBD>gung stehenden Receive-Filter
uint32_t HwTxPufferCount; // Anzahl der zur Verf<EFBFBD>gung stehenden Transmit Puffer mit Timer
uint32_t CanChannelsCount; // Anzahl der CAN Schnittstellen, reserviert für
// zukünftige Module mit mehr als einer Schnittstelle
uint32_t HwRxFilterCount; // Anzahl der zur Verfügung stehenden Receive-Filter
uint32_t HwTxPufferCount; // Anzahl der zur Verfügung stehenden Transmit Puffer mit Timer
};
#pragma pack(pop)
#pragma pack(push, 1)
struct TCanDevicesList
{
uint32_t TCanIdx; // Ist das Device ge<EFBFBD>ffnet ist der Wert auf dem Device-Index
uint32_t TCanIdx; // Ist das Device geöffnet ist der Wert auf dem Device-Index
// gesetzt, ansonsten ist der Wert auf "INDEX_INVALID" gesetzt.
uint32_t HwId; // Ein 32 Bit Schl<EFBFBD>ssel der die Hardware eindeutig Identifiziert.
// Manche Module m<EFBFBD>ssen erst ge<EFBFBD>ffnet werden damit dieser Wert
uint32_t HwId; // Ein 32 Bit Schlüssel der die Hardware eindeutig Identifiziert.
// Manche Module müssen erst geöffnet werden damit dieser Wert
// gesetzt wird
char DeviceName[255]; // Nur Linux: entspricht den Device Namen des USB-Devices,
// z.B. /dev/ttyUSB0
@@ -199,7 +199,7 @@ struct TCanDevicesList
// muss in den USB-Controller programmiert sein,
// was zur Zeit nur bei den Modulen Tiny-CAN II-XL,
// IV-XL u. M1 der Fall ist.
struct TModulFeatures ModulFeatures; // Unterst<EFBFBD>tzte Features des Moduls, nur g<EFBFBD>ltig
struct TModulFeatures ModulFeatures; // Unterstützte Features des Moduls, nur gültig
// wenn HwId > 0
};
#pragma pack(pop)
@@ -207,28 +207,28 @@ struct TCanDevicesList
#pragma pack(push, 1)
struct TCanDeviceInfo
{
uint32_t HwId; // Ein 32 Bit Schl<EFBFBD>ssel der die Hardware eindeutig Identifiziert.
uint32_t HwId; // Ein 32 Bit Schlüssel der die Hardware eindeutig Identifiziert.
uint32_t FirmwareVersion; // Version der Firmware des Tiny-CAN Moduls
uint32_t FirmwareInfo; // Informationen zum Stand der Firmware Version
// 0 = Unbekannt
// 1 = Firmware veraltet, Device kann nicht ge<EFBFBD>ffnet werden
// 2 = Firmware veraltet, Funktionsumfang eingeschr<EFBFBD>nkt
// 3 = Firmware veraltet, keine Einschr<EFBFBD>nkungen
// 1 = Firmware veraltet, Device kann nicht geöffnet werden
// 2 = Firmware veraltet, Funktionsumfang eingeschränkt
// 3 = Firmware veraltet, keine Einschränkungen
// 4 = Firmware auf Stand
// 5 = Firmware neuer als Erwartet
char SerialNumber[16]; // Seriennummer des Moduls
char Description[64]; // Modul Bezeichnung, z.B. "Tiny-CAN IV-XL"
struct TModulFeatures ModulFeatures; // Unterst<EFBFBD>tzte Features des Moduls
struct TModulFeatures ModulFeatures; // Unterstützte Features des Moduls
};
#pragma pack(pop)
#pragma pack(push, 1)
struct TCanInfoVar // <*> ge<EFBFBD>ndert von TInfoVar in TCanInfoVar
struct TCanInfoVar // <*> geändert von TInfoVar in TCanInfoVar
{
uint32_t Key; // Variablen Schl<EFBFBD>ssel
uint32_t Key; // Variablen Schlüssel
uint32_t Type; // Variablen Type
uint32_t Size; // (Max)Gr<EFBFBD><EFBFBD>e der Variable in Byte
uint32_t Size; // (Max)Größe der Variable in Byte
char Data[255]; // Wert der Variable
};
#pragma pack(pop)

View File

@@ -126,14 +126,14 @@ Byte 0
struct TCanFlagsBits
{
unsigned Len:4; // Len -> Datenl<EFBFBD>nge 0 - 8 Byte
unsigned Len:4; // Len -> Datenlänge 0 - 8 Byte
unsigned TxD:1; // TxD -> 1 = Tx CAN Nachricht, 0 = Rx CAN Nachricht
// Eine Erfolgreich versendete Nachricht wird als Best<EFBFBD>tigung
// ins Empfangsfifo zur<EFBFBD>ckgeschrieben
// Nicht alle Module unterst<EFBFBD>tzen diese Funktion u. das
// Eine Erfolgreich versendete Nachricht wird als Bestätigung
// ins Empfangsfifo zurückgeschrieben
// Nicht alle Module unterstützen diese Funktion u. das
// Feature muss aktiveirt sein
unsigned Error:1; // Error -> 1 = CAN Bus Fehler Nachricht
// Nicht alle Module unterst<EFBFBD>tzen diese Funktion u. das
// Nicht alle Module unterstützen diese Funktion u. das
// Feature muss aktiveirt sein
unsigned RTR:1; // Remote Transmition Request bit -> Kennzeichnet eine RTR Nachricht
unsigned EFF:1; // Extended Frame Format bit -> 1 = 29 Bit Id's, 0 = 11 Bit Id's
@@ -193,15 +193,15 @@ struct TCanMsg
struct TCanFdFlagsBits
{
unsigned Source:8; // Quelle der Nachricht (Device)
unsigned Len:8; // Len -> Datenl<EFBFBD>nge 0 - 64 Byte
unsigned Len:8; // Len -> Datenlänge 0 - 64 Byte
unsigned TxD:1; // TxD -> 1 = Tx CAN Nachricht, 0 = Rx CAN Nachricht
// Eine Erfolgreich versendete Nachricht wird als Best<EFBFBD>tigung
// ins Empfangsfifo zur<EFBFBD>ckgeschrieben
// Nicht alle Module unterst<EFBFBD>tzen diese Funktion u. das
// Eine Erfolgreich versendete Nachricht wird als Bestätigung
// ins Empfangsfifo zurückgeschrieben
// Nicht alle Module unterstützen diese Funktion u. das
// Feature muss aktiveirt sein
unsigned Error:1; // Error -> 1 = CAN Bus Fehler Nachricht
// Nicht alle Module unterst<EFBFBD>tzen diese Funktion u. das
// Nicht alle Module unterstützen diese Funktion u. das
// Feature muss aktiveirt sein
unsigned RTR:1; // Remote Transmition Request bit -> Kennzeichnet eine RTR Nachricht
unsigned EFF:1; // Extended Frame Format bit -> 1 = 29 Bit Id's, 0 = 11 Bit Id's