From b56baae883a7b1593fd5e4c195d476b2ba05182b Mon Sep 17 00:00:00 2001 From: trojanobelix Date: Sun, 31 May 2026 14:49:21 +0200 Subject: [PATCH 1/5] 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/5] [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 - - - + + - - + + + - @@ -228,6 +228,15 @@ 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 From 9920cb648706454fbe7ae5a84c76c44d4858984a Mon Sep 17 00:00:00 2001 From: trojanobelix Date: Sun, 26 Jul 2026 16:02:41 +0200 Subject: [PATCH 3/5] Delete libEDSsharp/docs/libEDSsharp.xml --- libEDSsharp/docs/libEDSsharp.xml | 7061 ------------------------------ 1 file changed, 7061 deletions(-) delete mode 100644 libEDSsharp/docs/libEDSsharp.xml diff --git a/libEDSsharp/docs/libEDSsharp.xml b/libEDSsharp/docs/libEDSsharp.xml deleted file mode 100644 index 8c0a303..0000000 --- a/libEDSsharp/docs/libEDSsharp.xml +++ /dev/null @@ -1,7061 +0,0 @@ - - - - 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 69df138e255af8feaca08b942d4434bfb33a4c19 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 14:02:49 +0000 Subject: [PATCH 4/5] [ROOT][DOCS] contrib-readme-action has updated readme --- README.md | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 07955b6..bad1fd1 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,13 @@ Contributors
+ + reza0310 +
+ reza0310 +
+
heliochronix @@ -183,13 +190,6 @@ Contributors
gotocoffee1
-
- - reza0310 -
- reza0310 -
+ + Sl-Alex +
+ Sl-Alex +
+
rgruening @@ -235,8 +244,6 @@ Contributors rgruening
Barzello @@ -272,6 +279,8 @@ Contributors DaMutz
StormOli @@ -279,8 +288,6 @@ Contributors StormOli
possibly-not From a7d84ca63f5b2f054c5ac1fd22efca1f340073e6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 14:05:36 +0000 Subject: [PATCH 5/5] [ROOT][DOCS] contrib-readme-action has updated readme --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 543fcd8..bad1fd1 100644 --- a/README.md +++ b/README.md @@ -244,8 +244,6 @@ Contributors rgruening
Barzello @@ -281,6 +279,8 @@ Contributors DaMutz
StormOli @@ -288,8 +288,6 @@ Contributors StormOli
possibly-not