From b56baae883a7b1593fd5e4c195d476b2ba05182b Mon Sep 17 00:00:00 2001 From: trojanobelix Date: Sun, 31 May 2026 14:49:21 +0200 Subject: [PATCH 1/2] Prevent the mapping of objects with a data length of 0 bytes --- EDSEditorGUI/DevicePDOView2.cs | 6 + libEDSsharp/docs/libEDSsharp.xml | 7061 ++++++++++++++++++++++++++++++ 2 files changed, 7067 insertions(+) create mode 100644 libEDSsharp/docs/libEDSsharp.xml diff --git a/EDSEditorGUI/DevicePDOView2.cs b/EDSEditorGUI/DevicePDOView2.cs index e6aeb4e..1f8c468 100644 --- a/EDSEditorGUI/DevicePDOView2.cs +++ b/EDSEditorGUI/DevicePDOView2.cs @@ -499,6 +499,12 @@ public void UpdatePDOinfo(bool updatechoices = true) MessageBox.Show(string.Format("Invalid TXPDO mapping parameters in 0x{0:X}!\r\nTrying to map more than the maximum lenght of a CAN message (8 bytes).\r\n\r\nMembers are:\r\n{1}", slot.ConfigurationIndex,toDisplay)); break; } + if ((bitoff + mappingentry.width) <= 0) + { + string toDisplay = string.Join(Environment.NewLine, slot.Mapping); + MessageBox.Show(string.Format("Invalid TXPDO mapping parameters in 0x{0:X}!\r\nTrying to map less than the minimum lenght of a CAN message (0 bytes).\r\n\r\nMembers are:\r\n{1}", slot.ConfigurationIndex, toDisplay)); + break; + } string target = slot.getTargetName(mappingentry.entry); grid1[row + 2, bitoff + INFO_COLS_COUNT] = new SourceGrid.Cells.Cell(target, comboStandard); grid1[row + 2, bitoff + INFO_COLS_COUNT].ColumnSpan = mappingentry.width; diff --git a/libEDSsharp/docs/libEDSsharp.xml b/libEDSsharp/docs/libEDSsharp.xml new file mode 100644 index 0000000..8c0a303 --- /dev/null +++ b/libEDSsharp/docs/libEDSsharp.xml @@ -0,0 +1,7061 @@ + + + + libEDSsharp + + + + + Section of info in EDS or DCF file + + + + + Write object to stream + + stream to write the data to + file type + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Write object to stream + + stream to write the data to + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + Write object to stream + + stream to write the data to + + + + Returns a string that represents the current object. + + A string that represents the current object. + + + + FileInfo section as described in CiA 306 + + + FileInfo section as described in CiA 306 + + + + + indicate the file name (according to OS restrictions) + + + + + indicate the actual file version (Unsigned8) + + + + + indicate the actual file revision (Unsigned8) + + + + + indicate the version of the specification (3 characters) in the format x.y + + + + + file description (max 243 characters) + + + + + file creation time (characters in format hh:mm(AM|PM)), + + + + + provide the date of file creation (characters in format mm-dd-yyyy) + + + + + name or a description of the file creator (max. 245 characters) + + + + + time of last modification (characters in format hh:mm(AM|PM)) + + + + + date of the last file modification (characters in format mm-dd-yyyy) + + + + + name or a description of the creator (max. 244 characters) + + + + + DeviceInfo section as described in CiA 306 + + + + + vendor name (max. 244 characters) + + + + + unique vendor ID according to identity object sub-index 01h (Unsigned32) + + + + + product name (max. 243 characters) + + + + + product code according to identity object sub-index 02h (Unsigned32) + + + + + product revision number according to identity object sub-index 03h (Unsigned32) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the supported baud rates (Boolean, 0 = not supported, 1=supported) + + + + + indicate the simple boot-up master functionality (Boolean, 0 = not supported, 1 = supported), + + + + + indicate the simple boot-up slave functionality (Boolean, 0 = not supported, 1 = supported), + + + + + granularity allowed for the mapping on this device - + most of the existing devices support a granularity of 8 (Unsigned8; 0 - mapping not modifiable, 1-64 granularity) + + + + + Indicate the facility of dynamic variable generation. If the value is unequal to 0, the additional section DynamicChannels exists (CiA302 and CiA405) + + + + + indicate the facility of multiplexed PDOs. (Boolean, 0 = not supported, 1 = supported) + + + + + indicate the number of supported receive PDOs. (Unsigned16) + + + + + indicate the number of supported transmit PDOs. (Unsigned16) + + + + + indicate if LSS functionality is supported (Boolean, 0 = not supported, 1 = supported) + + + + + Represent object dictionary index and subindex objects + + + + + Write out this Object dictionary entry to an EDS/DCF file using correct formatting + + Handle to the stream writer to write to + File type being written + OD type to write + module + + + + The index of the object in the Object Dictionary + This cannot be set for child objects, if you read a child object you get the parents index + + + + + object type var,rec, array etc. + + + + + data type bool, integer etc. + + + + + access type + + + + + default value + + + + + low numeric limit + + + + + high numeric limit + + + + + actual value + + + + + true if it is PDO mapping object + + + + + Used when writing out objects to know if we are writing the normal or the module parts out + Two module parts subext and fixed are available. + + + + + Empty object constructor + + + + + ODentry constructor for a simple VAR type + + Name of Object Dictionary Entry + Index of object in object dictionary + Type of this objects data + Default value (always set as a string) + Allowed CANopen access permissions + Allowed PDO mapping options + + + + ODConstructor useful for subobjects + + + NOT USED + + + + + + + + + ODEntry constructor for array subobjects + + + + + + + + Make a deep clone of this ODentry + + + + + + Provide a simple string representation of the object, only parameters index, no subindexes/subindex parameter name and data type are included + Useful for debug and also appears in debugger when you inspect this object + + string summary of object + + + + Provide a simple string representation of the object type. Returns the string of the ENUM ObjectType.VAR if objecttype is not enumed + + string representation of object type + + + + + Duplicate current sub entry and add it to parent + + true on successfull addition + + + + Remove current sub entry + + Renumber subentries + true on successfull removal + + + + If data type is an octet string we must remove all spaces when writing out to a EDS/DCF file + + Value to be processed + value if not octet string or value with spaces removed if octet string + + + + Returns a c compatible string that represents the name of the object, - is replaced with _ + words separated by a space are replaced with _ for a separator eg ONE TWO becomes ONE_TWO + + + + + + Return the size in bits for the given CANopen datatype of this object, eg the size of what ever the datatype field is set to + + no of bits + + + + This is the no of subindexes present in the object, it is NOT the maximum subobject index + + + + + Returns default value for a subindex + + subindex to get the default value for + default value for that subindex or "" if the subindex was not found + + + + Returns true if the object contains a subindex + + the subindex to look for + true if it contains the subindex + + + + Return max indicated subindex, or null if not array or record + + + + + + Subindex of this object if it is a subindex object, 0 if not + + + + + Look for a entry in the subindexs, return the index if found + + the OD entry to look for in the subindex objects + the subindex if found or 0 if not found + + + + Add an existing entry as a subobject of this OD + + + + + + + This function scans the PDO list and compares it to NrOfRXPDO and NrOfTXPDO + if these do not match in count then implicit PDOs are present and they are + filled in with default values from the lowest possible index + + + + + File name, when project is opened in xdd_v1.1 or project is saved + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Verify PDO mapping parameters in Object Dictionary. Every mapped OD entry must exist and mapping must be allowed + + List of error strings, empty if no errors found. + + + + Convert two bytes into Uint16 (big endian) + + bytes to convert to Uint16, only the 2 first will be used + value of the 2 bytes combined (big endian) + + + + Try to convert a string to UInt16 + + string containing a number + the value or 0 if unable to read it + + + + Try to convert a string to UInt32 + + string containing a number + the value or 0 if unable to read it + + + + Return number base of a string (10 for desimal, 16 for hex and 8 for octal) + + a string that will be read to try to find its base number + 16 if hex, 8 if octal else 10 + + + + Split on + , replace $NODEID with concrete value and add together + + input string containing a number maybe prefixed by $NODEID+ + if $NODEID is in the string + + + + + Try to get a OD entry + + the index + null if not found + true if found, false if not + + + + Return the number of enabled objects + + Include subindexes in the counting + + + + + Conversion class to/from EDS to protobuffer + + + + + Converts from protobuffer to EDS + + protobuffer device + new EDS device containing data from protobuffer device + + + + Converts from EDS to protobuffer + + EDS device + protobuffer device containing data from EDS + + + + Helper class to convert EDS date and time into datetime used in the protobuffer timestand (datetime) + + + + + Resolver to convert eds date and time into protobuffer timestamp (datetime) + + source EDS fileinfo object + protobuffer fileinfo object + result object + resolve context + result + + + + Helper class to convert object type enum + + Checkout AutoMapper.Extensions.EnumMapping when .net framework is gone + + + + Resolver to convert object types + + EDS object type object + protobuffer object type + result object + resolve context + result + + + + Resolver to convert object types + + EDS object type object + protobuffer object type + result object + resolve context + result + + + + Helper class to convert Access types + + Checkout AutoMapper.Extensions.EnumMapping when .net framework is gone + + + + Resolver to convert eds access into SDO access type + + EDS accesstype + protobuffer sdo access type + result object + resolve context + result + + + + Resolver to convert eds access into PDO access type + + EDS accesstype + protobuffer pdo access type + result object + resolve context + result + + + + Resolver to convert SDO access type into eds access into + + protobuffer sdo access type + EDS accesstype + result object + resolve context + result + + + + + Export .c and .h files for CanOpenNode v1-3 + + + + + The eds file set when calling export + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Register names of index and subindex that need to have standard names to be able to work with CanOpenNode + + + + + Export eds into CanOpenNode v1-3 source files (.h and .c) + + filepath, .c and .h will be added to this to make the mulitiple files + the eds data to be exported + + + + Fixes TPDO compatibility subindex + + Handle the TPDO communication parameters in a special way, because of + sizeof(OD_TPDOCommunicationParameter_t) != sizeof(CO_TPDOCommPar_t) in CANopen.c + the existing CO_TPDOCommPar_t has a compatibility entry so we must export one regardless of if its in the OD or not + + + + + + + + + + + Returns true of object is not disabled + + index to check + true if index object is not disabled + + + + Return the header part of one object dictionary entry + + the OD entry + part of the C header file that impliments the od entry + + + + Returns the c code related to a single object dictionary entry + + the OD entry + string containing c code for the OD entry + + + + Get the CANopenNode specific flags, these flags are used internally in CANopenNode to determine details about the object variable + + An odentry to access + byte containing the flag value + + + + Generates a valid C language variable name using input + + base name that will be used to make a variable name + the OD entry for the variable + + + + + Export the record type objects in the CO_OD.c file + + string + + + + Exports a sub object line in a record object + + sub ODentry object to export + string forming current array level or empty string for none + string forming one line of CO_OD.c record objects + + + + Exporter for CanOpenNode_V4 + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + export the current data set in the CanOpen Node format V4 + + filepath, .c and .h will be added to this to make the mulitiple files + + + + + Generate ODStorage, ODObjs, ODList, ODDefines and ODCnt entries + + EDS object + + + + Verify "Count Label" of the object and raise warning if uncorrect. + + + + + + + + + + Generate ODStorage and ODObjs entries for VAR + + + + + + + + + + Generate ODStorage and ODObjs entries for ARRAY + + + + + + + + + + Generate ODStorage and ODObjs entries for RECORD + + + + + + + + + + Export the header file + + path to folder that will contain the file + filename + git version that will be added to file comment + data that contain the data that will be exported + + + + Export the c file + + path to folder that will contain the file + filename + git version that will be added to file comment + data that contain the data that will be exported + + + + Take a paramater name from the object dictionary and make it acceptable + for use in c variables/structs etc + + string, name to convert + string + + + + Return from Get_dataProperties + + + + + Get the correct c data type, length and default value, based on CANopen data type + + + + + + Structure filled with data + + + + Get attributes from OD entry or sub-entry + + + + + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Convert to/from EDSsharp and CanOpenXDD v1.1, it uses the generated source file CanOpenXSD_1_1 + + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Read XDD file into EDSsharp object + + Name of the xdd file + EDSsharp object + + + + Read custom multi xdd file (multiple standard xdd files inside one xml container) + + Name of the multi xdd file + List of EDSsharp objects + + + + Write custom multi xdd file (multiple standard xdd files inside one xml container) + + Name of the multi xdd file + List of EDSsharp objects + If true, device commisioning, denotations and actual values will be included + + + + Write XDD file from EDSsharp object + + Name of the xdd file + EDSsharp object + If true, device commisioning, denotations and actual values will be included + If true, then all CANopenNode specific parameters and all disabled objects will be stripped + + + + Read protobuffer file into EDSsharp object + + Name of the protobuffer file + read as JSON string or binary wireformat + EDSsharp object + + + + Write protobuffer file from EDSsharp object + + Name of the protobuffer file + EDSsharp object + write as JSON string or binary wireformat + + + + Documentation generator + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Generate html documentation + + where the documentation should be saved + data to generate the documentation from + + + + Write a object dictionary html entry to file + + Object dictionary entry + + + + Write a html table row with 2 elements to file + + element a + element b + + + + Write a html table header with 2 elements to file + + + + + + + Returns the datatype of a object dictionary + + the object dictionary entry + datatype of the OD entry + + + + Documentation generator + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Generate markup documentation + + where the documentation should be created + data to generate the documentation from + + + + Write a all PDO information in markup + + data containing the information + skip disabled PDOs + + + + Write a object dictionary markup entry to file + + Object dictionary entry + + + + Returns the datatype of a object dictionary + + the object dictionary entry + datatype of the OD entry + + + + Object dictionary data types from CiA 301 + + + + + Object Dictionary object definitions from CiA 301 + + + + + An object with no data fields + + + + + Large variable amount of data e.g. executable program code + + + + + Denotes a type definition such as a BOOLEAN, UNSIGNED16, FLOAT and so on + + + + + Defines a new record type e.g. the PDO mapping structure at 21h + + + + + A single value such as an UNSIGNED8, BOOLEAN, FLOAT, INTEGER16, VISIBLE STRING etc. + + + + + A multiple data field object where each data field is a + simple variable of the SAME basic data type e.g. array of UNSIGNED16 etc. + Sub-index 0 is of UNSIGNED8 and therefore not part of the ARRAY data + + + + + A multiple data field object where the data fields may be any combination of + simple variables. Sub-index 0 is of UNSIGNED8 and sub-index 255 is of UNSIGNED32 and + therefore not part of the RECORD data + + + + + Defines how the object can be changed from SDO + + + + + no access + + + + + read only access + + + + + write only access + + + + + read and write access + + + + + Defines how the object can be changed from PDO + + + + + no access + + + + + TPDO access + + + + + RPDO access + + + + + TPDO and RPDO access + + + + + Custom properties for OD entry or sub-entry, which are saved into xdd file v1.1 + + + + + If true, object is completelly skipped by CANopenNode exporters, etc. + + + + + CanOpenNode storage group + + + + + Minimum length of a string that can be stored + + + + + Deep clone + + a deep clone + + + + Convert from XSD to EDS + + raw custom properties from XSD + + + + Convert custom properties from EDS to XSD + + XSD properties ready to use + + + + List of multiple CO_storageGroup strings available in project + + + + + Indicate that it should be exported in EDS files and may have some data about how + + + + + Max length of the string when exported + + + + + default constructor + + + + + contstructor with max string length + + max length of the string when exported + + + + Indicate that it should be exported in DCF files + + + + + Factory for making different canopennode exporter + + + + + CanOpenNode exporter types + + + + + CanOpenNode exporter v4 (latest) + + + + + CanOpenNode exporter for v1-3 (legacy) + + + + + Returns exporter based on ex parameter + + what exporter version you want. Default is CANOPENNODE_LEGACY + A exporter + + + + Helper functions to convert integral values into hexadecimal string + + + + + returns a string containing the value as hexadecimal + + the value + hexadecimal string representing the value + + + + returns a string containing the value as hexadecimal + + the value + hexadecimal string representing the value + + + + returns a string containing the value as hexadecimal + + the value + hexadecimal string representing the value + + + + String extension methodes + + + + + Performs a case insensitive Contain function + + the string to look in + the string to look for + comparison methode + true if substring is found in str + substring was null + comp methode was not a valid argument + This can be replaced with native .net function in .net core + + + + + Unified interface to all filetypes supported by the library + + + + + Returns description of all the different filetypes that can be exported to + + optional filter to filter out different types of exporters + list of file exporter that matches the filter + + + + Interface for exporting CanOpenNode OD files + + + + + Export file(s) + + filepath, .c and .h will be added to this to make the mulitiple files + The eds that will be exported + + + + Includes all info about a exporter that is needed to show user and call it + + + + + Export eds(s) to file(s) + + path path that should indicate where and what name the outputed file(s) should have + list of eds(s) not all support multiple edss, in that case use the first + + + + True if exporter will expect multiple edss + + + + + Documentation related + + + + + CanOpenNode related + + + + + short human readable description + + + + + What file extension the exported file(s) will have + + + + + Used to indicated different types of exporters + + + + + The function that is exporting to file + + + + + constructor that sets all the values + + short human readable description + What file extension the exported file(s) will have + Used to indicated different types of exporters + The function that is exporting to file + + + + Interface for exporters + + + + + Fetches all the different fileexporter types the class supports + + List of the different exporters the class supports + + + + Generate a PDO network report + + + + + Generate a PDO network report + + where the doc should be saved + Data from the different nodes in the network + + + + Write a html table row with 2 elements to file + + element a + element b + + + + Write a html table header with 2 elements to file + + + + + + + Represents a single PDO mapping entry + Holds a reference to ODentry and a mapped width + + + + + Represent a PDO slot (mapping + communication index) + + + + + Indicate that $NODEID is present and the COB-ID should added to the node id when deployed + + + + + The OD index of the PDO configuration (aka. communication parameter) + + + + + The OD index of the PDO mapping + + + + + PDO Mapping access + + + + + PDO Configuration (aka. communication parameter) access + + + + + PDO mapping CanOpenNode storage group + + + + + PDO config CanOpenNode storage group + + + + + PDO COB-ID + + + + + Returns if true the PDO is a TxPDO (aka TPDO) + + true if TXPDO + + + + Returns if true the PDO is a RxPDO (aka RPDO) + + true if RxPDO + + + + PDO invalid bit value + + + + + PDO mapping + + + + + PDO inhibit time,multiple of 100us + + + + + PDO event time,multiple of 1ms + + + + + PDO sync start value + + + + + PDO transmission type + + + + + Description of PDO communication index (aka configuration) + + + + + Description of PDO mapping index + + + + + default constructor + + + + + Returns name of a OD entry (including dummy) + + object dictionary entry + name of entry with index and subindex prefixed, or blank string if not found + + + + Insert a OD entry into the mapping table + + The zero-based index at which item should be inserted + OD entry to be mapped + + + + PDO helper class, control all TPDO and RPDO in a node + + + + + Constructor + + eds data to interact with + + + + List of all T/R PDO + + + + + Why is this not called from constructor? + + + + + Look through the OD and register PDO + + OD index to to start looking from, it will stop after 0x1ff indexes + list to add found pdo into + + + + Rebuild the communication and mapping paramaters from the + lists the PDOhelper currently has. These live in the list pdoslots + + + + + Add a PDO slot as set by index + + + + + + This finds a gap in the PDO slots + + + + + Remove existing PDO slot as set by index + + + + + + Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + + + + + Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + + + + + Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + + + + + Provides string escape and unescape functions + + + + + Convert litteral special characters like null and tab etc. into there escape sequence '\0' '\t' + + the spesial character to convert into escape sequence + a string containing the escape sequence or c if noe escape sequence was found + + + + Logger class used to report problems with import/export + + + + + type of warnings + + + + + Generic warning + + + + + index/subindex rename warnings + + + + + problem with index/subindexes that are needed to make canopennode functions work + + + + + Problem with strings variable export + + + + + Problem with struct/record export + + + + + List of warnings + + + + + bit mask used to stop messages being added to the list + + + + + Add warning to the list of warnings + + string to report + type of warning (filter usage) + + + + XDD version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Holder for reflection information generated from CanOpen.proto + + + File descriptor for CanOpen.proto + + + + File information related properties. + + + + Field number for the "fileVersion" field. + + + + Actual file version (as string). + + + + Field number for the "description" field. + + + + File description. + + + + Field number for the "creationTime" field. + + + + File creation time. + + + + Field number for the "createdBy" field. + + + + Name or a description of the file creator. + + + + Field number for the "modificationTime" field. + + + + Time of the last modification. + + + + Field number for the "modifiedBy" field. + + + + Name or a description of the creator. + + + + + CANopen device information related properties. + + + + Field number for the "vendorName" field. + + + + Vendor name. + + + + Field number for the "productName" field. + + + + Product name. + + + + Field number for the "baudRate10" field. + + + + Support of the baud rate 10 kbit/s. + + + + Field number for the "baudRate20" field. + + + + Support of the baud rate 20 kbit/s. + + + + Field number for the "baudRate50" field. + + + + Support of the baud rate 50 kbit/s. + + + + Field number for the "baudRate125" field. + + + + Support of the baud rate 125 kbit/s. + + + + Field number for the "baudRate250" field. + + + + Support of the baud rate 250 kbit/s. + + + + Field number for the "baudRate500" field. + + + + Support of the baud rate 500 kbit/s. + + + + Field number for the "baudRate800" field. + + + + Support of the baud rate 800 kbit/s. + + + + Field number for the "baudRate1000" field. + + + + Support of the baud rate 1000 kbit/s. + + + + Field number for the "baudRateAuto" field. + + + + Support of the auto baud rate. + + + + Field number for the "lssSlave" field. + + + + Support of the LSS slave functionality. + + + + Field number for the "lssMaster" field. + + + + Support of the LSS master functionality. + + + + + Actual CANopen device properties. + + + + Field number for the "nodeId" field. + + + + CANopen device’s address. + + + + Field number for the "nodeName" field. + + + + Node name. + + + + Field number for the "baudrate" field. + + + + CANopen device’s baudrate. + + + + + Object Dictionary SubEntry on specific Subindex. Sorted dictionary of them is part of the OdEntry. If OdEntry + ObjectType is "record", then each SubEntry in the dictionary may be unique. If OdEntry ObjectType is "array", + then some properties of all SubEntries must be equal. If OdEntry ObjectType is "var", then one SubEntry exists. + + + + Field number for the "name" field. + + + + Name of the sub entry. If OdEntry is "VAR", this property is not relevant. + + + + Field number for the "alias" field. + + + + Additonal sub parameter name, for the actual device. If OdEntry is "VAR", this property is not relevant. + + + + Field number for the "dataType" field. + + + + CANopen data type + + + + Field number for the "sdo" field. + + + + CANopen SDO access permissions + + + + Field number for the "pdo" field. + + + + CANopen PDO access permissions + + + + Field number for the "srdo" field. + + + + CANopen SRDO access permissions. + + + + Field number for the "defaultValue" field. + + + + Default value of the sub object. + + + + Field number for the "actualValue" field. + + + + Actual value of the sub object, for the actual device. + + + + Field number for the "lowLimit" field. + + + + Low limit for the value. + + + + Field number for the "highLimit" field. + + + + High limit for the value. + + + + Field number for the "stringLengthMin" field. + + + + CanOpenNode OD exporter V4: Minimum length of a string that can be stored. + + + + Container for nested types declared in the OdSubObject message type. + + + + Object dictionary basic data types from CiA 301. + + + + + Unspecified, should not be used. + + + + + Boolean. + + + + + 8-bit signed integer. + + + + + 16-bit signed integer. + + + + + 32-bit signed integer. + + + + + 8-bit unsigned integer. + + + + + 16-bit unsigned integer. + + + + + 32-bit unsigned integer. + + + + + 32-bit floating point number. + + + + + Null terminated string (8-bit chars). It may contain control characters and UTF-8 + characters. StringLengthMin specifies minimum buffer length for the string. + + + + + Fixed length array of bytes. + + + + + Null terminated string (16-bit chars). Not recommended to use. + StringLengthMin specifies minimum buffer length for the string. + + + + + 48 bit long structure. + + + + + 48 bit long structure. + + + + + Data block of any length, don't have default value. + + + + + 24-bit signed integer, should not be used. + + + + + 64-bit floating point number. + + + + + 40-bit signed integer, should not be used. + + + + + 48-bit signed integer, should not be used. + + + + + 56-bit signed integer, should not be used. + + + + + 64-bit signed integer. + + + + + 24-bit unsigned integer, should not be used. + + + + + 40-bit unsigned integer, should not be used. + + + + + 48-bit unsigned integer, should not be used. + + + + + 56-bit unsigned integer, should not be used. + + + + + 64-bit unsigned integer. + + + + + CANopen SDO access permissions. + + + + + No access. + + + + + Read only access. + + + + + Write only access. + + + + + Read and write access. + + + + + CANopen PDO access permissions. + + + + + No access. + + + + + TPDO access. + + + + + RPDO access. + + + + + TPDO and RPDO access. + + + + + CANopen SRDO access permissions. + + + + + no access. + + + + + SRDO TX access. + + + + + SRDO RX access. + + + + + SRDO TX or RX access. + + + + + Object Dictionary Entry on specific Index. Sorted dictionary of them is part of CanOpenDevice - CANopen Object Dictionary. + + + + Field number for the "disabled" field. + + + + If true, object is completelly skipped by CANopenNode exporters, etc. + + + + Field number for the "name" field. + + + + Name of the entry. + + + + Field number for the "alias" field. + + + + Additonal parameter name, for the actual device. + + + + Field number for the "description" field. + + + + Description of the Entry. + + + + Field number for the "objectType" field. + + + + CANopen Object Type. + + + + Field number for the "countLabel" field. + + + + CanOpenNode OD exporter V4: it will generate a macro for each different CO_countLabel. For example, if four + OD objects have "CO_countLabel" set to "TPDO", then macro "#define ODxyz_CNT_TPDO 4" will be generated by the OD exporter. + + + + Field number for the "storageGroup" field. + + + + CanOpenNode OD exporter V4: storage group into which the C variable will belong. If not defined, it will default to "RAM". + + + + Field number for the "flagsPDO" field. + + + + CanOpenNode OD exporter V1.3: Flags for the PDO. + + + + Field number for the "subObjects" field. + + + + Sorted dictionary of sub entries + + + + Container for nested types declared in the OdObject message type. + + + + Type of Object Dictionary entry, similar as Object Code from CiA 301. + + + + + Not defined, default + + + + + A single value such as an UNSIGNED8, BOOLEAN, FLOAT, INTEGER16, VISIBLE STRING etc. + + + + + A multiple data field object where each data field is a simple variable of the SAME basic data type e.g. array + of UNSIGNED16 etc. Sub-index 0 is of UNSIGNED8. + + + + + A multiple data field object where the data fields may be any combination of + simple variables. Sub-index 0 is of UNSIGNED8 and sub-index 255 is of UNSIGNED32. + + + + + CANopen Device description object. + + + + Field number for the "fileInfo" field. + + + + File information related properties. + + + + Field number for the "deviceInfo" field. + + + + CANopen device information related properties. + + + + Field number for the "deviceCommissioning" field. + + + + Parameters of the actual CANopen device. + + + + Field number for the "objects" field. + + + + CANopen Object Dictionary as sorted dictionary. + + + + From 9b2cf864e55318a8d4138a05f8b70a849af8ea40 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 31 May 2026 12:56:59 +0000 Subject: [PATCH 2/2] [ROOT][DOCS] contrib-readme-action has updated readme --- README.md | 56 ++++++++++++++----------------------------------------- 1 file changed, 14 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index e2727ba..07955b6 100644 --- a/README.md +++ b/README.md @@ -87,27 +87,6 @@ Collaborators - - - - + @@ -249,15 +228,6 @@ Contributors Regelink - - - + + - - + +
- - robincornelius -
- robincornelius -
-
- - nimrof -
- nimrof -
-
- - CANopenNode -
- CANopenNode -
-
trojanobelix @@ -170,13 +149,6 @@ Contributors
- - reza0310 -
- reza0310 -
-
heliochronix @@ -192,10 +164,10 @@ Contributors - - cfr-mir + + cfrank-mir
- cfr-mir + cfrank-mir
@@ -211,6 +183,13 @@ Contributors
gotocoffee1 +
+ + reza0310 +
+ reza0310 +
- - DylanRobertBennett -
- DylanRobertBennett -
-
rgruening @@ -265,6 +235,8 @@ Contributors rgruening
Barzello @@ -300,8 +272,6 @@ Contributors DaMutz
StormOli @@ -309,6 +279,8 @@ Contributors StormOli
possibly-not