diff --git a/.gitignore b/.gitignore index 87c1aaa..f07d620 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ source/usb/tinyusb/tinyusb-stack source/dsplib_c66x_3_4_0_0/ docs/industrial_protocol_docs mcusdk_tagfile +mcsdk_tagfile __pycache__/ source/position_sense/hdsl/firmware/*.lst source/position_sense/hdsl/firmware/*.obj @@ -66,4 +67,6 @@ source/position_sense/endat/firmware/*.b00 source/position_sense/endat/firmware/*.xml !*boardcfg_*.bin mcu_plus_sdk -ind_comms_sdk \ No newline at end of file +ind_comms_sdk +.repo/* +mcupsdk_setup \ No newline at end of file diff --git a/.metadata/.tirex/am243x.content.tirex.json b/.metadata/.tirex/am243x.content.tirex.json index 1abf736..9afa8fc 100644 --- a/.metadata/.tirex/am243x.content.tirex.json +++ b/.metadata/.tirex/am243x.content.tirex.json @@ -1,4 +1,260 @@ [ + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_GP_EVM" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am243x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_GP_EVM" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am243x-lp/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_LAUNCHPAD" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am243x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_LAUNCHPAD" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_GP_EVM" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am243x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_GP_EVM" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am243x-lp/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_LAUNCHPAD" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am243x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_LAUNCHPAD" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, { "resourceType": "project.ccs", "resourceClass": [ @@ -230,38 +486,6 @@ ] ] }, - { - "resourceType": "project.ccs", - "resourceClass": [ - "example" - ], - "resourceSubClass": [ - "example.general" - ], - "description": "A Hdsl Diagnostic Ddr Example. CPU is R5FSS0-0 running FREERTOS.", - "name": "hdsl_diagnostic_ddr", - "location": "../../examples/position_sense/hdsl_diagnostic_with_traces/am243x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec", - "devtools": [ - "AM243x_GP_EVM" - ], - "kernel": [ - "freertos" - ], - "compiler": [ - "ticlang" - ], - "subCategories": [ - "position_sense", - "hdsl_diagnostic_with_traces", - "r5fss0-0_freertos" - ], - "mainCategories": [ - [ - "Examples", - "Development Tools" - ] - ] - }, { "resourceType": "project.ccs", "resourceClass": [ @@ -393,6 +617,38 @@ ] ] }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.general" + ], + "description": "A Icss Sdfm Example. CPU is R5FSS0-0 running FREERTOS.", + "name": "icss_sdfm", + "location": "../../examples/current_sense/icss_sdfm/am243x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "AM243x_LAUNCHPAD" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "current_sense", + "icss_sdfm", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, { "resourceType": "web.page", "resourceClass": [ diff --git a/.metadata/.tirex/am263x.content.tirex.json b/.metadata/.tirex/am263x.content.tirex.json index bc8b3c1..d8a821a 100644 --- a/.metadata/.tirex/am263x.content.tirex.json +++ b/.metadata/.tirex/am263x.content.tirex.json @@ -1,4 +1,260 @@ [ + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am263x-cc/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "TMDSCNCD263" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "TMDSCNCD263" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am263x-lp/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "LP-AM263" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A Direct Form 2 2nd order example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_df22", + "location": "../../examples/dcl/dcl_df22/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "LP-AM263" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_df22", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am263x-cc/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "TMDSCNCD263" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am263x-cc/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "TMDSCNCD263" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running NORTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am263x-lp/r5fss0-0_nortos/ti-arm-clang/example.projectspec", + "devtools": [ + "LP-AM263" + ], + "kernel": [ + "nortos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_nortos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, + { + "resourceType": "project.ccs", + "resourceClass": [ + "example" + ], + "resourceSubClass": [ + "example.gettingstarted" + ], + "description": "A PI controller example demonstrating the digital control library (DCL). CPU is R5FSS0-0 running FREERTOS.", + "name": "dcl_pi", + "location": "../../examples/dcl/dcl_pi/am263x-lp/r5fss0-0_freertos/ti-arm-clang/example.projectspec", + "devtools": [ + "LP-AM263" + ], + "kernel": [ + "freertos" + ], + "compiler": [ + "ticlang" + ], + "subCategories": [ + "dcl", + "dcl_pi", + "r5fss0-0_freertos" + ], + "mainCategories": [ + [ + "Examples", + "Development Tools" + ] + ] + }, { "resourceType": "project.ccs", "resourceClass": [ @@ -39,6 +295,7 @@ "name": "User Guide", "location": "../../docs/api_guide_am263x/index.html", "devtools": [ + "TMDSCNCD263", "LP-AM263" ], "mainCategories": [ diff --git a/.metadata/.tirex/am64x.content.tirex.json b/.metadata/.tirex/am64x.content.tirex.json index dba7d00..5a0cfbd 100644 --- a/.metadata/.tirex/am64x.content.tirex.json +++ b/.metadata/.tirex/am64x.content.tirex.json @@ -164,38 +164,6 @@ ] ] }, - { - "resourceType": "project.ccs", - "resourceClass": [ - "example" - ], - "resourceSubClass": [ - "example.general" - ], - "description": "A Hdsl Diagnostic Ddr Example. CPU is R5FSS0-0 running FREERTOS.", - "name": "hdsl_diagnostic_ddr", - "location": "../../examples/position_sense/hdsl_diagnostic_with_traces/am64x-evm/r5fss0-0_freertos/ti-arm-clang/example.projectspec", - "devtools": [ - "AM64x_GP_EVM" - ], - "kernel": [ - "freertos" - ], - "compiler": [ - "ticlang" - ], - "subCategories": [ - "position_sense", - "hdsl_diagnostic_with_traces", - "r5fss0-0_freertos" - ], - "mainCategories": [ - [ - "Examples", - "Development Tools" - ] - ] - }, { "resourceType": "project.ccs", "resourceClass": [ diff --git a/.metadata/.tirex/package.tirex.json b/.metadata/.tirex/package.tirex.json index 1fbbb5c..e96b9c1 100644 --- a/.metadata/.tirex/package.tirex.json +++ b/.metadata/.tirex/package.tirex.json @@ -6,7 +6,7 @@ "rootCategory": [ "MOTOR CONTROL SDK", "MOTOR CONTROL SDK for AMXXX" ], "version": "09.00.00.01", "type": "software", - "image": "./mcu_plus_sdk.png", + "image": "./motor_control_sdk.png", "license": "../../license.txt", "devices": ["AMXXX"], "tags": ["SDK", "Baremetal", "FreeRTOS"], diff --git a/.metadata/product.json b/.metadata/product.json index e06cf67..bd98a9e 100644 --- a/.metadata/product.json +++ b/.metadata/product.json @@ -12,11 +12,9 @@ "/kernel/dpl", "/drivers/drivers", "/board/board", - "/fs/fs", "/networking/networking", "/security/security", - "/usb/usb", - "/pru_io/pru_io", + "/xbar/xbar", ], "devices": [ "AM64x", diff --git a/.project/device/project_am243x.js b/.project/device/project_am243x.js index b8046be..acf00e9 100644 --- a/.project/device/project_am243x.js +++ b/.project/device/project_am243x.js @@ -14,12 +14,13 @@ const device_defines = { }; const example_file_list = [ + "examples/dcl/dcl_df22/.project/mcsdk_project.js", + "examples/dcl/dcl_pi/.project/mcsdk_project.js", "examples/position_sense/endat_diagnostic/single_channel/.project/project.js", "examples/position_sense/endat_diagnostic/multi_channel_load_share/.project/project.js", "examples/position_sense/endat_diagnostic/multi_channel_single_pru/.project/project.js", "examples/position_sense/hdsl_diagnostic/multi_channel/.project/project.js", "examples/position_sense/hdsl_diagnostic/single_channel/.project/project.js", - "examples/position_sense/hdsl_diagnostic_with_traces/.project/project.js", "examples/position_sense/tamagawa_diagnostic/multi_channel/.project/project.js", "examples/position_sense/tamagawa_diagnostic/single_channel/.project/project.js", "examples/current_sense/icss_sdfm/.project/project.js", @@ -28,9 +29,10 @@ const example_file_list = [ "source/position_sense/endat/firmware/single_channel/.project/project.js", "source/position_sense/endat/firmware/multi_channel_single_pru/.project/project.js", "source/position_sense/hdsl/firmware/freerun_225_mhz/.project/project.js", - "source/position_sense/hdsl/firmware/freerun_300_mhz/.project/project.js", "source/position_sense/hdsl/firmware/multichannel_ch0/.project/project.js", "source/position_sense/hdsl/firmware/multichannel_ch1/.project/project.js", + "source/position_sense/hdsl/firmware/multichannel_ch0_sync_mode/.project/project.js", + "source/position_sense/hdsl/firmware/multichannel_ch1_sync_mode/.project/project.js", "source/position_sense/hdsl/firmware/sync_225_mhz/.project/project.js", "source/position_sense/tamagawa/firmware/multi_channel/.project/project.js", "source/position_sense/tamagawa/firmware/single_channel/.project/project.js", diff --git a/.project/device/project_am263x.js b/.project/device/project_am263x.js index c04e672..0d39e30 100644 --- a/.project/device/project_am263x.js +++ b/.project/device/project_am263x.js @@ -11,6 +11,8 @@ const device_defines = { }; const example_file_list = [ + "examples/dcl/dcl_df22/.project/mcsdk_project.js", + "examples/dcl/dcl_pi/.project/mcsdk_project.js", "examples/position_sense/tamagawa_diagnostic_over_soc_uart/.project/project.js", ]; @@ -135,5 +137,6 @@ module.exports = { getDevToolTirex, getProperty, getLinuxFwName, + getProductNameProjectSpec, getFlashAddr, }; diff --git a/.project/device/project_am64x.js b/.project/device/project_am64x.js index a656523..e4d17ca 100644 --- a/.project/device/project_am64x.js +++ b/.project/device/project_am64x.js @@ -19,7 +19,6 @@ const example_file_list = [ "examples/position_sense/endat_diagnostic/multi_channel_single_pru/.project/project.js", "examples/position_sense/hdsl_diagnostic/multi_channel/.project/project.js", "examples/position_sense/hdsl_diagnostic/single_channel/.project/project.js", - "examples/position_sense/hdsl_diagnostic_with_traces/.project/project.js", "examples/position_sense/tamagawa_diagnostic/multi_channel/.project/project.js", "examples/position_sense/tamagawa_diagnostic/single_channel/.project/project.js", "examples/current_sense/icss_sdfm/.project/project.js", @@ -28,9 +27,10 @@ const example_file_list = [ "source/position_sense/endat/firmware/single_channel/.project/project.js", "source/position_sense/endat/firmware/multi_channel_single_pru/.project/project.js", "source/position_sense/hdsl/firmware/freerun_225_mhz/.project/project.js", - "source/position_sense/hdsl/firmware/freerun_300_mhz/.project/project.js", "source/position_sense/hdsl/firmware/multichannel_ch0/.project/project.js", "source/position_sense/hdsl/firmware/multichannel_ch1/.project/project.js", + "source/position_sense/hdsl/firmware/multichannel_ch0_sync_mode/.project/project.js", + "source/position_sense/hdsl/firmware/multichannel_ch1_sync_mode/.project/project.js", "source/position_sense/hdsl/firmware/sync_225_mhz/.project/project.js", "source/position_sense/tamagawa/firmware/multi_channel/.project/project.js", "source/position_sense/tamagawa/firmware/single_channel/.project/project.js", diff --git a/.project/templates/product.json.xdt b/.project/templates/product.json.xdt index dce432a..2c4795f 100644 --- a/.project/templates/product.json.xdt +++ b/.project/templates/product.json.xdt @@ -20,7 +20,7 @@ "../mcu_plus_sdk/source", ], "components": [ -% if((args.device == "am64x") || (args.device == "am243x") || (args.device == "am263x")) { +% if((args.device == "am64x") || (args.device == "am243x")) { "/motor_control", "/kernel/dpl", "/drivers/drivers", @@ -30,6 +30,15 @@ "/security/security", "/usb/usb", "/pru_io/pru_io", +% } +% if(args.device == "am263x") { + "/motor_control", + "/kernel/dpl", + "/drivers/drivers", + "/board/board", + "/networking/networking", + "/security/security", + "/xbar/xbar", % } ], "devices": [ diff --git a/.project/templates/projectspec_executable.xdt b/.project/templates/projectspec_executable.xdt index 798fbc0..36b150d 100644 --- a/.project/templates/projectspec_executable.xdt +++ b/.project/templates/projectspec_executable.xdt @@ -1,5 +1,5 @@ %%{ - let profile_list = ["debug", "release"]; + let profile_list = ["release", "debug"]; products = ""; if("syscfgfile" in args.project) { diff --git a/.project/templates/projectspec_system.xdt b/.project/templates/projectspec_system.xdt index 48171e2..0d0b1bc 100644 --- a/.project/templates/projectspec_system.xdt +++ b/.project/templates/projectspec_system.xdt @@ -12,8 +12,8 @@ name="`args.project.name`_`args.project.board`_system_`args.project.tag`" products="`products`" configurations=" - Debug, Release, + Debug, " connection="TIXDS110_Connection.xml" device="Cortex R.`args.device.getProjectSpecDevice(args.project.board)`" diff --git a/docs/HDSL_AM64xE1_Schematics.pdf b/docs/HDSL_AM64xE1_Schematics.pdf new file mode 100644 index 0000000..76bfc27 Binary files /dev/null and b/docs/HDSL_AM64xE1_Schematics.pdf differ diff --git a/docs/motor_control_sdk_am243x_manifest.html b/docs/motor_control_sdk_am243x_manifest.html new file mode 100644 index 0000000..f32982b --- /dev/null +++ b/docs/motor_control_sdk_am243x_manifest.html @@ -0,0 +1,1645 @@ + + + +
+ + + + + + +(explanation of the fields in the Manifest Table below)
+| +Software Name + | ++The name of the application or file + | +
| +Version + | ++Version of the application or file + | +
| +License Type + | ++Type of license(s) under which TI will be providing + +software to the licensee (e.g. BSD-3-Clause, GPL-2.0, TI TSPA License, TI + +Commercial License). The license could be under Commercial terms or Open Source. See Open Source Reference License Disclaimer in + +the Disclaimers Section. Whenever possible, TI will use an SPDX Short Identifier for an Open Source + +License. TI Commercial license terms are not usually included in the manifest and are conveyed through a variety + +of means such as a clickwrap license upon install, + +a signed license agreement and so forth. + | +
| +Location + | ++The directory name and path on the media or a specific file where the Software is located. Typically fully qualified path names + +are not used and instead the relevant top level directory of the application is given. + +A notation often used in the manifests is [as installed]/directory/*. Note that the asterisk implies that all + +files under that directory are licensed as the License Type field denotes. Any exceptions to this will + +generally be denoted as [as installed]/directory/* except as noted below which means as shown in subsequent rows of + +the manifest. + | +
| +Delivered As + | ++This field will either be “Source”, “Binary” or “Source + +and Binary” and is the primary form the content of the Software is delivered + +in. If the Software is delivered in an archive format, this field + +applies to the contents of the archive. If the word Limited is used + +with Source, as in “Limited Source” or “Limited Source and Binary” then + +only portions of the Source for the application are provided. + | +
| +Modified by TI + | ++This field will either be “Yes” or “No”. A “Yes” means + +TI has made changes to the Software. A “No” means TI has not made any + +changes. Note: This field is not applicable for Software “Obtained + +from” TI. + | +
| +Obtained from + | ++This field specifies from where or from whom TI obtained + +the Software. It may be a URL to an Open Source site, a 3rd + +party licensor, or TI. See Links Disclaimer in the Disclaimers + +Section. + | +
Any use of ECCNs listed in the Manifest is at the user’s risk + +and without recourse to TI. Your + +company, as the exporter of record, is responsible for determining the + +correct classification of any item at + +the time of export. Any export classification by TI of Software is for + +TI’s internal use only and shall not be construed as a representation + +or warranty + +regarding the proper export classification for such Software or whether + +an export + +license or other documentation is required for exporting such Software
+ +Any + +links appearing on this Manifest + +(for example in the “Obtained from” field) were verified at the time + +the Manifest was created. TI makes no guarantee that any listed links + +will + +remain active in the future.
+ +Your company is responsible for confirming the + +applicable license terms for any open source Software + +listed in this Manifest that was not “Obtained from” TI. Any open + +source license + +specified in this Manifest for Software that was + +not “Obtained from” TI is for TI’s internal use only and shall not be + +construed as a representation or warranty regarding the proper open + +source license terms + +for such Software.
+ + +ECCN for Software included in this release:
+Publicly Available + +| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + Motor Control SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for HDSL + | ++ 01.00.00 + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/position_sense/hdsl/firmware/hdsl_master_icssg*_bin.h + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for EnDat + | ++ 02.01.00 + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/position_sense/endat/firmware/endat_master*_bin.h + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for Tamagawa + | ++ 01.00.00 + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/position_sense/endat/firmware/tamagawa_master*_bin.h + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for SDFM + | ++ 01.00.00 + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/current_sense/sdfm/firmware/sdfm*_bin.h + | +
| Obtained from | ++ Texas Instruments + | +
+ + + +
| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + FreeRTOS FAT + | ++ 2.3.3 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/fs/freertos_fat/FreeRTOS-FAT/* + | +
| Obtained from | ++ https://github.com/FreeRTOS/Lab-Project-FreeRTOS-FAT.git + | +|||||
| + LWIP + | ++ 2.1.2 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/lwip/lwip-stack/* + | +
| Obtained from | ++ git://git.savannah.gnu.org/lwip.git + | +|||||
| + LWIP Contrib + | ++ 2.1.0 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/lwip/lwip-contrib/* + | +
| Obtained from | ++ git://git.savannah.gnu.org/lwip/lwip-contrib.git + | +|||||
| + TinyUSB + | ++ 0.10.0 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/usb/tinyusb/tinyusb-stack/* + | +
| Obtained from | ++ https://github.com/hathach/tinyusb.git + | +|||||
| + DDR Core driver + | ++ 2.0.x + | ++ BSD-3-Clause + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/source/drivers/ddr/v0/cdn_drv/* + | +
| Obtained from | ++ Cadence Design Systems, Inc + | +|||||
| + Tiny printf + | ++ 4.0.0 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/kernel/nortos/dpl/common/printf.* + | +
| Obtained from | ++ https://github.com/mpaland/printf + | +|||||
| + Xmodem + | ++ 1.0.0 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/drivers/bootloader/xmodem.c + | +
| Obtained from | ++ https://www.menie.org/georges/embedded + | +|||||
| + FreeRTOS Posix Demo + | ++ 1.0.0 + | ++ MIT License + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/examples/kernel/freertos/posix_demo/posix_demo.c + | +
| Obtained from | ++ https://github.com/FreeRTOS/FreeRTOS-Labs/blob/master/FreeRTOS-Labs/Demo/FreeRTOS_Plus_POSIX_with_actor_Windows_Simulator/posix_demo.c + | +|||||
| + CRC16 CCITT + | ++ 1.0.0 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/drivers/bootloader/crc16.* + | +
| Obtained from | ++ https://www.menie.org/georges/embedded + | +|||||
| + CMSIS ARM and DSP + | ++ 5.1.0 + | ++ Apache-2.0 + | ++ Source and Binary + | ++ No + | +Location | ++ [as_installed]/source/cmsis + | +
| Obtained from | ++ https://github.com/ARM-software/CMSIS_5 + | +|||||
| + Security PKA Firmware + | ++ 1.1 + | ++ TI Text File + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/security/crypto/pka/* + | +
| Obtained from | ++ Inside Secure B.V. + | +|||||
| + mbedtls + | ++ 2.13.1 + | ++ Apache-2.0 + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/mbedtls_library/mbedtls/* + | +
| Obtained from | ++ https://github.com/Mbed-TLS/mbedtls/tree/mbedtls-2.13.1 + | +|||||
| + ENET TSN Stack + | ++ v09.00 + | ++ TI Text File + | ++ Binary + | ++ N/A + | +Location | ++ [as_installed]/source/networking/tsn/tsn-stack/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + USB Core driver + | ++ 2.0.8 + | ++ BSD-3-Clause + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/source/usb/cdn/* + | +
| Obtained from | ++ Cadence Design Systems, Inc + | +|||||
| + FreeRTOS Kernel + | ++ 10.4.3 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/kernel/freertos/FreeRTOS-Kernel/* + | +
| Obtained from | ++ https://github.com/FreeRTOS/FreeRTOS-Kernel.git + | +|||||
| + FreeRTOS Heap + | ++ 10.4.3 + | ++ MIT License + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/source/kernel/nortos/dpl/common/HeapP_internal.* + | +
| Obtained from | ++ https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/portable/MemMang/heap_4.c + | +|||||
| + FreeRTOS POSIX + | ++ 1.1.0 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/kernel/freertos/FreeRTOS-POSIX/* + | +
| Obtained from | ++ https://github.com/FreeRTOS/Lab-Project-FreeRTOS-POSIX.git + | +|||||
| + MCU+ SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + TIFS, RM, PM for DMSC + | ++ v09.00.07 + | ++ TI Text File + | ++ Binary + | ++ N/A + | +Location | ++ [as_installed]/source/drivers/sciclient/soc/am64x_am243x/* + | +
| Obtained from | ++ Texas Instruments + | +
+ + + +
| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + ICSS Firmware for Profinet Device + | ++ 0.15.x + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/industrial_comms/profinet_device/icss_fwhal/firmware/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for EtherCAT Slave + | ++ 6.5.x + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_slave/icss_fwhal/firmware/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for EthernetIP Adapter + | ++ 5.3.x + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/industrial_comms/ethernetip_adapter/icss_fwhal/firmware/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for HSR-PRP + | ++ 2.20.x + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/industrial_comms/hsr_prp/icss_fwhal/firmware/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + EtherCAT Slave Examples + | ++ 1.13.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/examples/industrial_comms/ethercat_slave_demo/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherNet/IP Adapter Examples + | ++ 3.4.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/examples/industrial_comms/ethernetip_adapter_demo/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + IO-Link Master Examples + | ++ 1.9.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/examples/industrial_comms/iolink_master_demo/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherCAT-IOLink Gateway Examples + | ++ 3.0.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/examples/industrial_comms/ethercat_iolink_gateway_demo/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + Networking LwIP (enet) Examples + | ++ 3.0.x + | ++ BSD + | ++ Source + | ++ No + | +Location | ++ [as_installed]/examples/networking/lwip/* + | +
| Obtained from | ++ Florian Schulze, Swedish Institute of Computer Science + | +|||||
| + Industrial Communications SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + EtherCAT Slave Stack Headers + | ++ 1.13.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_slave/stack/*.h + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherNet/IP Adapter Stack Headers + | ++ 3.4.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethernetip_adapter/stack/*.h + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + IO-Link Stack Headers + | ++ 1.9.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/iolink/*.h + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherCAT-IOLink Gateway Stack Headers + | ++ 3.0.x + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_iolink_gateway/*.h + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + Beckhoff EtherCAT SSC Library + | ++ 5.13 + | ++ TI Commercial + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_slave/stack/lib/ethercat_slave_bkhfSsc.* + | +
| Obtained from | ++ Beckhoff Automation Gmbh + | +|||||
| + EtherCAT Slave Stack Library + | ++ 1.13.x + | ++ TI Commercial + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_slave/stack/lib/ethercat_slave.* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherNet/IP Adapter Stack Library + | ++ 3.4.x + | ++ TI Commercial + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethernetip_adapter/stack/lib/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + IO-Link Stack + | ++ 1.9.x + | ++ TI Commercial + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/iolink/stack/lib/* + | +
| Obtained from | ++ KUNBUS GmbH + | +|||||
| + EtherCAT IO-Link Gateway Stack + | ++ 2.2.x + | ++ TI Commercial + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_iolink_gateway/stack/lib/* + | +
| Obtained from | ++ KUNBUS GmbH + | +
+ + +
(explanation of the fields in the Manifest Table below)
+| +Software Name + | ++The name of the application or file + | +
| +Version + | ++Version of the application or file + | +
| +License Type + | ++Type of license(s) under which TI will be providing + +software to the licensee (e.g. BSD-3-Clause, GPL-2.0, TI TSPA License, TI + +Commercial License). The license could be under Commercial terms or Open Source. See Open Source Reference License Disclaimer in + +the Disclaimers Section. Whenever possible, TI will use an SPDX Short Identifier for an Open Source + +License. TI Commercial license terms are not usually included in the manifest and are conveyed through a variety + +of means such as a clickwrap license upon install, + +a signed license agreement and so forth. + | +
| +Location + | ++The directory name and path on the media or a specific file where the Software is located. Typically fully qualified path names + +are not used and instead the relevant top level directory of the application is given. + +A notation often used in the manifests is [as installed]/directory/*. Note that the asterisk implies that all + +files under that directory are licensed as the License Type field denotes. Any exceptions to this will + +generally be denoted as [as installed]/directory/* except as noted below which means as shown in subsequent rows of + +the manifest. + | +
| +Delivered As + | ++This field will either be “Source”, “Binary” or “Source + +and Binary” and is the primary form the content of the Software is delivered + +in. If the Software is delivered in an archive format, this field + +applies to the contents of the archive. If the word Limited is used + +with Source, as in “Limited Source” or “Limited Source and Binary” then + +only portions of the Source for the application are provided. + | +
| +Modified by TI + | ++This field will either be “Yes” or “No”. A “Yes” means + +TI has made changes to the Software. A “No” means TI has not made any + +changes. Note: This field is not applicable for Software “Obtained + +from” TI. + | +
| +Obtained from + | ++This field specifies from where or from whom TI obtained + +the Software. It may be a URL to an Open Source site, a 3rd + +party licensor, or TI. See Links Disclaimer in the Disclaimers + +Section. + | +
Any use of ECCNs listed in the Manifest is at the user’s risk + +and without recourse to TI. Your + +company, as the exporter of record, is responsible for determining the + +correct classification of any item at + +the time of export. Any export classification by TI of Software is for + +TI’s internal use only and shall not be construed as a representation + +or warranty + +regarding the proper export classification for such Software or whether + +an export + +license or other documentation is required for exporting such Software
+ +Any + +links appearing on this Manifest + +(for example in the “Obtained from” field) were verified at the time + +the Manifest was created. TI makes no guarantee that any listed links + +will + +remain active in the future.
+ +Your company is responsible for confirming the + +applicable license terms for any open source Software + +listed in this Manifest that was not “Obtained from” TI. Any open + +source license + +specified in this Manifest for Software that was + +not “Obtained from” TI is for TI’s internal use only and shall not be + +construed as a representation or warranty regarding the proper open + +source license terms + +for such Software.
+ + +ECCN for Software included in this release:
+Publicly Available + +| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + Motor Control SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +
+ + + +
| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + MCU+ SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + FreeRTOS Heap + | ++ 10.4.3 + | ++ MIT License + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/source/kernel/nortos/dpl/common/HeapP_internal.* + | +
| Obtained from | ++ https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/portable/MemMang/heap_4.c + | +|||||
| + FreeRTOS POSIX + | ++ 1.1.0 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/kernel/freertos/FreeRTOS-POSIX/* + | +
| Obtained from | ++ https://github.com/FreeRTOS/Lab-Project-FreeRTOS-POSIX.git + | +|||||
| + FreeRTOS Posix Demo + | ++ 1.0.0 + | ++ MIT License + | ++ Source + | ++ Yes + | +Location | ++ [as_installed]/examples/kernel/freertos/posix_demo/posix_demo.c + | +
| Obtained from | ++ https://github.com/FreeRTOS/FreeRTOS-Labs/blob/master/FreeRTOS-Labs/Demo/FreeRTOS_Plus_POSIX_with_actor_Windows_Simulator/posix_demo.c + | +|||||
| + LWIP + | ++ 2.1.2 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/lwip/lwip-stack/* + | +
| Obtained from | ++ git://git.savannah.gnu.org/lwip.git + | +|||||
| + LWIP Contrib + | ++ 2.1.0 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/lwip/lwip-contrib/* + | +
| Obtained from | ++ git://git.savannah.gnu.org/lwip/lwip-contrib.git + | +|||||
| + Tiny printf + | ++ 4.0.0 + | ++ MIT License + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/kernel/nortos/dpl/common/printf.* + | +
| Obtained from | ++ https://github.com/mpaland/printf + | +|||||
| + Xmodem + | ++ 1.0.0 + | ++ BSD-3-Clause + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/drivers/bootloader/xmodem.c + | +
| Obtained from | ++ https://www.menie.org/georges/embedded + | +|||||
| + Security PKA Firmware + | ++ 1.1 + | ++ TI Text File + | ++ Binary + | ++ No + | +Location | ++ [as_installed]/source/security/crypto/pka/* + | +
| Obtained from | ++ Inside Secure B.V. + | +|||||
| + TIFS Firmware + | ++ 9.0.0 + | ++ TI Text File + | ++ Binary + | ++ N/A + | +Location | ++ [as_installed]/source/drivers/hsmclient/soc/am263x/hsmRtImg.h + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + mbedtls + | ++ 2.13.1 + | ++ Apache-2.0 + | ++ Source + | ++ No + | +Location | ++ [as_installed]/source/networking/mbedtls_library/mbedtls/* + | +
| Obtained from | ++ https://github.com/Mbed-TLS/mbedtls/tree/mbedtls-2.13.1 + | +
+ + + +
| Software Name | +Version | +License Type | +Delivered As | +Modified by TI | ++ | + |
| + Industrial Communications SDK + | ++ 09.00.00 + | ++ BSD-3-Clause + | ++ Source and Binary + | ++ N/A + | +Location | ++ [as installed]/* + | +
| Obtained from | ++ Texas Instruments + | +|||||
| + ICSS Firmware for EtherCAT Slave + | ++ 6.5.x + | ++ TI Text File + | ++ Binary as a C array in header file + | ++ N/A + | +Location | ++ [as_installed]/source/industrial_comms/ethercat_slave/icss_fwhal/firmware/* + | +
| Obtained from | ++ Texas Instruments + | +
+ + +
| Parameter + | Default Value + | Details + |
|---|---|---|
| Normal current OSR + | 64 + | Tested with 16, 32, 64, 128 and 256 + |
| Over current OSR + | 16 + | Tested with 16, 32, 64, 128 and 256 + |
| Sigma Delta Modulator Clock + | 20 MHz + | Tested with 5MHz, 10MHz and 20MHz from clock from PRU-ICSSG ECAP and 5MHz clock from SoC EPWM1 + |
| Simulated EPWM frequency + | 8 KHz + | Tested up to 20KHz + |
| IEP frequency + | 300 MHz + | Tested with 200MHz, 225MHz and 300MHz + |
| Pin name + | Signal name + | Function + |
|---|---|---|
| GPIO_HIGH_TH_CH0 + | MCU_SPI0_D1/B6 + | Ch0 High threshold output + |
| GPIO_LOW_TH_CH0 + | MCU_SPI1_D0/C7 + | Ch0 low threshold output + |
| GPIO_HIGH_TH_CH1 + | MCU_SPI1_CS0/A7 + | Ch1 High threshold output + |
| GPIO_LOW_TH_CH1 + | MCU_SPI1_CLK/D7 + | Ch1 low threshold output + |
| GPIO_HIGH_TH_CH2 + | MCU_SPI1_D1/C8 + | Ch2 High threshold output + |
| GPIO_LOW_TH_CH2 + | MCU_SPI0_CLK/E6 + | Ch2 Low threshold output + |
| SD0_D + | PIN_PRG0_PRU0_GPO1 + | Channel0 data input + |
| SD1_D + | PIN_PRG0_PRU0_GPO3 + | Channel1 data input + |
| SD2_D + | PIN_PRG0_PRU0_GPO5 + | Channel2 data input + |
| PRG0_ECAP0_IN_APWM_OUT + | PIN_PRG0_PRU1_GPO15 + | ECAP output frequency + |
| GPIO_MTR_1_PWM_EN + | GPMC0_AD15/Y20 + | Enable EPWM0 on 3-axis board + |
| SD8_CLK + | PIN_PRG0_PRU0_GPO16 + | Comman %SDFM clock input pin + |
| Pin name + | Signal name + | Function + |
|---|---|---|
| GPIO_HIGH_TH_CH0 + | PRG1_PRU0_GPO18 + | (J7.64)Ch0 High threshold output + |
| GPIO_LOW_TH_CH0 + | PRG0_PRU1_GPO11 + | (J7.70)Ch0 low threshold output + |
| GPIO_HIGH_TH_CH1 + | PRG1_PRU0_GPO17 + | (J7.65)Ch1 High threshold output + |
| GPIO_LOW_TH_CH1 + | PRG1_PRU0_GPO7 + | (J7.66)Ch1 low threshold output + |
| GPIO_HIGH_TH_CH2 + | PRG0_PRU1_GPO1 + | (J7.67)Ch2 High threshold output + |
| GPIO_LOW_TH_CH2 + | PRG0_PRU1_GPO2 + | (J7.68)Ch2 Low threshold output + |
| SD0_D + | PIN_PRG0_PRU0_GPO1 + | (J4.32)Channel0 data input + |
| SD1_D + | PIN_PRG0_PRU0_GPO3 + | (J2.19)Channel1 data input + |
| SD2_D + | PIN_PRG0_PRU0_GPO5 + | (J2.13)Channel2 data input + |
| PRG0_ECAP0_IN_APWM_OUT + | PIN_PRG0_PRU1_GPO15 + | (J6.59)ECAP output frequency + |
| SD8_CLK + | PIN_PRG0_PRU0_GPO16 + | (J1.7)Comman %SDFM clock input pin + |
| Controller Function + | Cpu Cycles + |
|---|---|
| PI Controller | |
| DCL_runPISeries | +49 | +
| DCL_runPIParallel | +50 | +
| DCL_runPISeriesTustin | +56 | +
| DCL_runPIParallelEnhanced | +62 | +
| PI2 Controller | |
| DCL_runPI2Series | +74 | +
| PID Controller | |
| DCL_runPIDSeries | +65 | +
| DCL_runPIDParallel | +65 | +
| DF11 Controller | |
| DCL_runDF11 | +24 | +
| DF13 Controller | |
| DCL_runDF13 | +43 | +
| DCL_runDF13Clamp | +53 | +
| DF22 Controller | |
| DCL_runDF22 | +27 | +
| DCL_runDF22Clamp | +41 | +
| DF23 Controller | |
| DCL_runDF23 | +29 | +
| DCL_runDF23Clamp | +45 | +
| PID 64bit Controller | |
| DCL_runPIDF64Series | +185 | +
| DCL_runPIDF64Parallel | +174 | +
| Parameter + | Value + | Details + |
|---|---|---|
| Maximum Cable Length + | 100m + | Supports up-to 8MHz with delay compensation + |
| Maximum Frequency + | 16 MHz + | Supports up-to 20m cable + |
| Startup/Initialization Frequency + | 200 KHz + | After power on or reset + |
| Frequencies supported + | Upto 8 MHz + | Changeable at run-time + |
| CRC + | 6 bits + | Position/data verification + |
| Receive oversample ratio + | 8 + | + |
| Pin name + | Signal name + | Function + |
|---|---|---|
| PRG0_PRU1_GPO0 + | pru1_endat0_clk + | Channel 0 clock + |
| PRG0_PRU1_GPO1 + | pru1_endat0_out + | Channel 0 transmit + |
| PRG0_PRU1_GPO2 + | pru1_endat0_outen + | Channel 0 transmit enable + |
| PRG0_PRU1_GPI13 + | pru1_endat0_in + | Channel 0 receive + |
| PRG0_PRU1_GPO3 + | pru1_endat1_clk + | Channel 1 clock + |
| PRG0_PRU1_GPO4 + | pru1_endat1_out + | Channel 1 transmit + |
| PRG0_PRU1_GPO5 + | pru1_endat1_outen + | Channel 1 transmit enable + |
| PRG0_PRU1_GPI14 + | pru1_endat1_in + | Channel 1 receive + |
| PRG0_PRU1_GPO6 + | pru1_endat2_clk + | Channel 2 clock + |
| PRG0_PRU1_GPO12 + | pru1_endat2_out + | Channel 2 transmit + |
| PRG0_PRU1_GPO8 + | pru1_endat2_outen + | Channel 2 transmit enable + |
| PRG0_PRU1_GPI11 + | pru1_endat2_in + | Channel 2 receive + |
| GPIO42 + | endat_en + | Onboard RS485 receive enable + |
| Pin name + | Signal name + | Function + |
|---|---|---|
| PRG0_PRU1_GPO0 + | pru1_endat0_clk + | Channel 0 clock + |
| PRG0_PRU1_GPO1 + | pru1_endat0_out + | Channel 0 transmit + |
| PRG0_PRU1_GPO2 + | pru1_endat0_outen + | Channel 0 transmit enable + |
| PRG0_PRU1_GPI13 + | pru1_endat0_in + | Channel 0 receive + |
| GPIO Pin(GPIO1_78) + | ENC1_EN + | Enbale endat mode in Axis 1 of BP (C16 GPIO pin) + |
| Register(s) + | Remarks + |
|---|---|
| SYS_CTRL Bits 5:0 (FRST, LOOP, PRDY, SPPE, SPOL, OEN) + | **Not available in TI HDSL Solution** + |
| EVENT_H Bit 7 (INT) + | **Not available in TI HDSL Solution** + |
| EVENT_H Bit 1 (DTE) + MASK_H Bit 1 (MDTE) + ONLINE_STATUS_D_H Bit 1 (DTE) + | **Not available in TI HDSL Solution** + |
| EDGES + | **Not available in TI HDSL Solution in this release** + This will be available in future releases. + |
| VERSION + VERSION2 + | **Different implementation from SICK HDSL MASTER IP Core** + "Major Release Number" field is 4 bits wide instead of 2 bits. "Coding" field is not available. + |
| RELEASE + | **Not available in TI HDSL Solution** + |
| MIR_SUM + | **Not available in TI HDSL Solution** + Please see SAFE_SUM (0x36) for getting summary information. + |
| PIPE_S + PIPE_D + | **Not available in TI HDSL Solution** + |
| PC_DATA + | **Not available in TI HDSL Solution** + Please see S_PC_DATA (0x37) for “short message” transactions. + |
| ACC_ERR_CNT + | **Different implementation from SICK HDSL MASTER IP Core** + - This register gives the count of transmitted fast position values with consecutive transmission errors. + - Writing to this register does not set any threshold for setting an error signal. ACC_ERR_CNT_TRESH (0x41) register allows triggering protocol reset if ACC_ERR_CNT crosses a threshold. + - This count is a 8 bit value. + |
| MAXACC + MAXDEV + | **Not available in TI HDSL Solution** + |
| ENC2_ID + | **Not available in TI HDSL Solution** + |
| EVENT_S Bit 7 (SINT) + | **Not available in TI HDSL Solution** + |
| POSTX + ONLINE_STATUS_D_L Bits 7:6 (POSTX) + ONLINE_STATUS_1_L Bits 7:6 (POSTX) + ONLINE_STATUS_2_L Bits 7:6 (POSTX) + | **Different implementation from SICK HDSL MASTER IP Core** + POSTX bits are available in a separate register POSTX register (0x4F) instead of ONLINE_STATUS_D_L, ONLINE_STATUS_1_L and ONLINE_STATUS_2_L registers. + |
| ONLINE_STATUS_D_H Bit 7 (INT) + ONLINE_STATUS_1_H Bit 7 (SINT) + | **Not available in TI HDSL Solution** + |
| ONLINE_STATUS_D_H Bit 6 (SUM) + | **Different implementation from SICK HDSL MASTER IP Core** + SAFE_SUM is used instead of MIR_SUM. + |
| VERSION2 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x44 instead of 0x0B + |
|
+ ENC2_ID + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x45 instead of 0x0F + |
|
+ STATUS2 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x46 instead of 0x18 + |
|
+ VPOS24 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x47 instead of 0x19 + |
|
+ VPOS23 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x48 instead of 0x1A + |
|
+ VPOS22 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x49 instead of 0x1B + |
|
+ VPOS21 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x4A instead of 0x1C + |
|
+ VPOS20 + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x4B instead of 0x1D + |
|
+ VPOSCRC2_H + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x4C instead of 0x1E + |
|
+ VPOSCRC2_L + | **Register address is different from SICK HDSL MASTER IP Core** + TI implementation uses 0x4D instead of 0x1F + |
| Register name + | Register offset + | Bit/s + | Description + | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SYS_CTRL + | 0x00 + | + | System Control + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | PRST: Protocol reset + - 0 = Normal protocol action + - 1 = A forced reset of the protocol status will be initiated. If the bit is deleted, a restart of the connection is triggered. + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | MRST: Messages reset + - 0 = Normal Parameters Channel action + - 1 = The Parameters Channel is reset. Current short and long messages are discarded. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | FRST: Pipeline FIFO, reset **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | LOOP: Test drive interface **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | PRDY: POS_READY mode **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | SPPE: SPI-PIPE activation **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | SPOL: Polarity of the synchronization pulse **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | OEN: Activation of the output **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| SYNC_CTRL + | 0x01 + | + | Synchronization Control + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | ES: External synchronization + - 0 = Position sampling during free running at the shortest cycle time. + - All other values = Position sampling with the sync signal synchronized. The value from ES determines the number of position samplings carried out in one sync cycle. + | |||||||||||||||||||||||||||||||||
| MASTER_QM + | 0x03 + | + | Quality Monitoring + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | LINK: DSL protocol connection status + - 0 = No connection present or connection error due to a communications error. + - 1 = Protocol connection between DSL Master and Slave was established. + | |||||||||||||||||||||||||||||||||
| + | + | 6:4 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 3:0 + | Quality monitoring value + - Quality monitoring is initiated with the value "8". + - The maximum quality monitoring value is "15". This is the standard value during operation. + - Higher values indicate a better connection. + | |||||||||||||||||||||||||||||||||
| EVENT_H + | 0x04 + | + | Events (High Byte) + - It contains the messaging bits for warning and error modes of the DSL system. + - All messaging bits are set by the DSL Master if a corresponding status is determined. + - An event bit that has been set is not reset by the DSL Master. + - It should be noted that all event register bits are also transferred to ONLINE_STATUS_D register. The event bits are not static there and contain the actual status of each individual event. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | INT: Interrupt status **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | SUM: Remote event monitoring + - 0 = All DSL Slave events are deleted. + - 1 = The DSL Slave has signaled an event and the summary mask is set accordingly (see registers MASK_SUM and SUMMARY). + + When the SUM bit is set, an error or a warning has been transmitted from the DSL Slave. The application must check the SUMMARY register to obtain a detailed description. + | |||||||||||||||||||||||||||||||||
| + | + | 5:4 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | POS: Estimator turned on + - 0 = The data for the fast position was correctly transmitted. + - 1 = Fast position data consistency error. The fast position read through drive interface is supplied by the estimator. + This error usually indicates a transmission error on the DSL connection. If this error occurs frequently, the wiring of the DSL connection should be checked. If this error occurs continuously, there is probably an error in the motor feedback system. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | DTE: Estimator Deviation Threshold Error
+ - 0 = Current value of deviation smaller than the specified maximum.
+ - 1 = Current value of deviation greater than the specified maximum.
+ **NOTE : Not available in TI HDSL Solution.** + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | PRST: Protocol reset warning + - 0 = Normal protocol action + - 1 = The forced protocol reset was triggered. + | |||||||||||||||||||||||||||||||||
| EVENT_L + | 0x05 + | + | Events (Low Byte) + - It contains the messaging bits for warning and error modes of the DSL system. + - All messaging bits are set by the DSL Master if a corresponding status is determined. + - An event bit that has been set is not reset by the DSL Master. + - It should be noted that all event register bits are also transferred to ONLINE_STATUS_D register. The event bits are not static there and contain the actual status of each individual event. + | |||||||||||||||||||||||||||||||||
| + | + | 7:6 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | MIN: Message initialization + - 0 = No acknowledgment for the initialization received. + - 1 = An acknowledgment was received from the Slave for the initialization of a message. + + When this warning is displayed, the Parameters Channel is still in the initialization status and no "short message" or "long message" can be triggered. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | ANS: Erroneous answer to "long message" + - 0 = The last answers to "long messages" were error free. + - 1 = An error occurred during the answer to a long message. The effectiveness of the previous transaction is not known. + + This error indicates that the transmission of an answer from the DSL Slave to the last "long message" failed. The application must send the "long message" again. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | QMLW: Quality monitoring low value warning + - 0 = Quality monitoring value greater than or equal to "14" + - 1 = Quality monitoring value (see register 03h) below "14" + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | FREL: Channel free for "long message" + - 1 = A "long message" can be sent on the Parameters Channel. + - 0 = No "long message" can be sent. + + If the bit is set, the application can trigger a "long message". Provided no answer has been received from the DSL Slave, this bit remains deleted. As the processing duration of a "long message" in the motor feedback system is not specified, a user time limit condition should be installed via the application. When a time limit is exceeded, the MRST bit in the SYS_CTRL register is set, which causes the Parameters Channel to be reset. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| MASK_H + | 0x06 + | + | Event mask (High Byte) + - In the event mask registers MASK_H/MASK_L, the events are set with which the event interrupt is set. + - Several events can be masked to trigger an event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | MSUM: Mask for remote event monitoring + - 0 = DSL Slave events that are masked in the SUMMARY register do not set the event interrupt. + - 1 = DSL Slave events that are masked in the SUMMARY register set the event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 5:4 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | MPOS: Mask for fast position error + - 0 = An error in the fast position does not set the event interrupt. + - 1 = An error in the fast position sets the event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | MDTE: Mask for estimator deviation threshold error warning
+ - 0 = A high deviation threshold error value does not set the event interrupt.
+ - 1 = A high estimator deviation threshold error sets the event interrupt.
+ **NOTE : Not available in TI HDSL Solution.** + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | MPRST: Mask for protocol reset warning + - 0 = A protocol reset does not set the event interrupt. + - 1 = A protocol reset sets the event interrupt. + | |||||||||||||||||||||||||||||||||
| MASK_L + | 0x07 + | + | Event mask (Low Byte) + - In the event mask registers MASK_H/MASK_L, the events are set with which the event interrupt is set. + - Several events can be masked to trigger an event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 7:6 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | MMIN: Mask for message initialization confirmation + - 0 = The acknowledgment for the initialization of a DSL Slave message does not set the event interrupt. + - 1 = The acknowledgment for the initialization of a DSL Slave message sets the event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | MANS: Mask for erroneous answer to long message + - 0 = A transmission error during the answer to a long message does not set the event interrupt. + - 1 = A transmission error during the answer to a long message sets the event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | MQMLW: Mask for low quality monitoring value warning + - 0 = A low quality monitoring value does not set the event interrupt. + - 1 = A low quality monitoring value (see registers MASTER_QM and EVENT_L) sets the event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | MFREL: Mask for "channel free for "long message" + - 0 = If a "long message" can be sent on the Parameters Channel, the event interrupt is not set. + - 1 = If a "long message" can be sent on the Parameters Channel, the event interrupt is set. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| MASK_SUM + | 0x08 + | + | Summary mask + - In this register, the DSL Slave collective events are determined with which the SUM event monitoring in the event register as well as the signal to the interrupt pin are set (interrupt). + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | MSUM7:MSUM0: Mask for status summary bits + - 0 = In the set status, the corresponding status summary bit does not set the SUM event monitoring and the signal at the interrupt pin. + - 1 = In the set status, the corresponding status summary bit sets the SUM event monitoring and the signal at the interrupt pin. + | |||||||||||||||||||||||||||||||||
| EDGES + | 0x09 + | + | Edges
+ - This register contains the time control for the DSL cable bit sampling and can be used to monitor the connection quality.
+ - Each individual edge register bit is set if, at system start-up, an edge of the test signal is detected during the time period of the corresponding bit. An edge is defined as a change in cable value between successive detections.
+ - The sampling is carried out eight times as fast as the cable bit rate.
+ - Clean cable signals mean that only a few bits are set in the edge register, whilst noisy cable signals set a large number of bits.
+ **NOTE : Not available in TI HDSL Solution in this release** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Bit sampling pattern: Identification of edges in the cable signal + - 0 = No edge was detected in the time period of the corresponding bit. + - 1 = An edge was detected in the time period of the corresponding bit. + | |||||||||||||||||||||||||||||||||
| DELAY + | 0x0A + | + | Run time delay / RSSI + | |||||||||||||||||||||||||||||||||
| + | + | 7:4 + | Cable delay
+ - 4 bit value for cable delay, which gives the cable signal round trip delay of cable and transceivers in bits.
+ - This value enables a rough estimate of cable length to be made.
+ - The value for Line Delay does not change after the start-up phase. A fresh value for Line Delay is only measured after a forced reset of the protocol.
+
| |||||||||||||||||||||||||||||||||
| + | + | 3:0 + | RSSI: Indication of the received signal strength + - 4 bit value for the cable signal strength, from "0" to "12". + - Higher values indicate better connection quality. + - RSSI is continuously updated during operation and used for signal monitoring during run time. + | |||||||||||||||||||||||||||||||||
| VERSION + | 0x0B + | + | Version
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 7:4 + | Major Release Number + | |||||||||||||||||||||||||||||||||
| + | + | 3:0 + | Minor Release Number + | |||||||||||||||||||||||||||||||||
| RELEASE + | 0x0C + | + | Release Date
+ **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| ENC_ID2 + | 0x0D + | + | Encoder ID (Byte 2) + The ENC_ID registers (ENC_ID2, ENC_ID1 and ENC_ID0) contain the designation code of the motor feedback system connected to the DSL Master. In the current protocol specification, the designation code is 20 bits long. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 6:4 + | SCI: Indication of special characters + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | Continue + - 1 = ENC_ID is longer than 20 bits (for future use). + | |||||||||||||||||||||||||||||||||
| + | + | 2:0 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| ENC_ID1 + | 0x0E + | + | Encoder ID (Byte 1) + | |||||||||||||||||||||||||||||||||
| + | + | 7:4 + | User defined encoder index + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | Sign + - 0 = Position value is signed. + - 1 = Position value is not signed. + | |||||||||||||||||||||||||||||||||
| + | + | 1:0 + | Higher 2 bits of length of position information minus length of the acceleration value transmitted. + | |||||||||||||||||||||||||||||||||
| ENC_ID0 + | 0x0F + | + | Encoder ID (Byte 0) + | |||||||||||||||||||||||||||||||||
| + | + | 7:4 + | Lower 4 bits of length of position information minus length of the acceleration value transmitted. + | |||||||||||||||||||||||||||||||||
| + | + | 3:0 + | Length of the acceleration value transmitted minus 8. + | |||||||||||||||||||||||||||||||||
| POS4 + | 0x10 + | + | Fast Position (Byte 4) + - The POS registers for the fast position contain the value of the motor feedback system connected. + - This position is generated incrementally from the safe position at start-up and is updated with every protocol frame. + - After every eight protocol frames, the fast position is checked against the safe position (see registers 0x18 to 0x1C). + - The position sampling point is determined by the ES value of the synchronization control register. + - Only those POS bits are activated that lie within the range that the motor feedback system has actually measured. All other higher value bits are read as "0". + - The number of measurable bits can be taken from ENC_ID bits 9 to 0 in the ENC_ID0 and ENC_ID1 registers. + - If Sign is set in the ENC_ID1 register, the value of the fast position is given signed in the two's complement. + - The units of the position value are (steps). + + **NOTE** : The fast position must not be used for safety functions. + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 4 of fast position value of the motor feedback system (length: 40 bits), incrementally generated + | |||||||||||||||||||||||||||||||||
| POS3 + | 0x11 + | + | Fast Position (Byte 3) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 3 of fast position value of the motor feedback system (length: 40 bits), incrementally generated + | |||||||||||||||||||||||||||||||||
| POS2 + | 0x12 + | + | Fast Position (Byte 2) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 2 of fast position value of the motor feedback system (length: 40 bits), incrementally generated + | |||||||||||||||||||||||||||||||||
| POS1 + | 0x13 + | + | Fast Position (Byte 1) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of fast position value of the motor feedback system (length: 40 bits), incrementally generated + | |||||||||||||||||||||||||||||||||
| POS0 + | 0x14 + | + | Fast Position (Byte 0) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of fast position value of the motor feedback system (length: 40 bits), incrementally generated + | |||||||||||||||||||||||||||||||||
| VEL2 + | 0x15 + | + | Speed (Byte 2) + - The VEL speed registers contain the speed values of the connected motor feedback system. + - This value is calculated as a delta position from the acceleration value (delta-delta position) transmitted on the process data channel and the currently updated protocol frame. + - The speed sampling point is determined by the ES value of the SYNC_CTRL register. + - The units of the speed value are (steps/frame cycle time). + + **NOTE** : The speed value must not be used for safety functions. + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 2 of speed of the motor feedback system (length: 24 bits) + | |||||||||||||||||||||||||||||||||
| VEL1 + | 0x16 + | + | Speed (Byte 1) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of speed of the motor feedback system (length: 24 bits) + | |||||||||||||||||||||||||||||||||
| VEL0 + | 0x17 + | + | Speed (Byte 0) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of speed of the motor feedback system (length: 24 bits) + | |||||||||||||||||||||||||||||||||
| MIR_SUM + | 0x18 + | + | Mirror Summary
+ **NOTE : Not available in TI HDSL Solution. Please see SAFE_SUM (0x36) for getting summary information** + | |||||||||||||||||||||||||||||||||
| VPOS4 + | 0x19 + | + | Safe Position, Channel 1 (Byte 4) + - The VPOS registers for the safe position contain the position value from the primary channel of the motor feedback system connected. + - This safe position is transmitted in every eighth protocol frame. + - Only those VPOS bits are activated that lie within the range that the motor feedback system has actually measured. All other higher value bits are read as "0". + - The number of measurable bits can be taken from ENC_ID bits 9 to 0 in the ENC_ID0 and ENC_ID1 registers. + - If Sign is set in the ENC_ID1 register, the value of the fast position is given signed in the two's complement. + - The units of the position value are (steps). + - The safe position will have the same data format as the fast position. + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 4 of position value transmitted through Safe Channel 1 (length: 40 bits), absolute value. + | |||||||||||||||||||||||||||||||||
| VPOS3 + | 0x1A + | + | Safe Position, Channel 1 (Byte 3) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 3 of position value transmitted through Safe Channel 1 (length: 40 bits), absolute value. + | |||||||||||||||||||||||||||||||||
| VPOS2 + | 0x1B + | + | Safe Position, Channel 1 (Byte 2) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 2 of position value transmitted through Safe Channel 1 (length: 40 bits), absolute value. + | |||||||||||||||||||||||||||||||||
| VPOS1 + | 0x1C + | + | Safe Position, Channel 1 (Byte 1) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of position value transmitted through Safe Channel 1 (length: 40 bits), absolute value. + | |||||||||||||||||||||||||||||||||
| VPOS0 + | 0x1D + | + | Safe Position, Channel 1 (Byte 0) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of position value transmitted through Safe Channel 1 (length: 40 bits), absolute value. + | |||||||||||||||||||||||||||||||||
| VPOSCRC_H + | 0x1E + | + | Position checksum, Channel 1 (High Byte) + - The VPOSCRC registers for the position checksum contain the CRC checksum of the safe position VPOS and the SUMMARY status. + - The CRC is checked in the DSL Master IP Core. + - In order to guarantee, in a safety related application, that the CRC machine in the IP Core is functioning, these registers can be checked with an external cross check in the diagnostics test interval. + - The CRC is generated with the following CRC parameters: + - CRC Sequence : 16 Bit + - CRC Polynomial : 0xC86C (x16 + x15 + x12 + x7 + x6 + x4 + x3 + 1), Normal representation: 0x90D9 + - Starting Value : 0x0000 + - Closing XOR Value : 0x00FF + - Reverse Data Bytes : No + - Reverse CRC before closing XOR : No + - Sequence of the bytes for calculation : SAFE_SUM, VPOS4, VPOS3, VPOS2, VPOS1, VPOS0 + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of 16 bit CRC checksum (CRC 16) of the safe position and status summary in Safe Channel 1. + | |||||||||||||||||||||||||||||||||
| VPOSCRC_L + | 0x1F + | + | Position checksum, Channel 1 (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of 16 bit CRC checksum (CRC 16) of the safe position and status summary in Safe Channel 1. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER0 + | 0x20 + | + | Parameters Channel Buffer (Byte 0)
+ - The eight PC_BUFFER registers of the Parameters Channel buffer contain the answer to the last "long message" request or the data for a "long message" write operation.
+ - Depending on the length of the "long message" answer, the registers are used as follows:
+
| |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation; or + Byte 0 of 2 bytes for reports about errors in encoder resources arising from the previous "long message" operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER1 + | 0x21 + | + | Parameters Channel Buffer (Byte 1) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation; or + Byte 1 of 2 bytes for reports about errors in encoder resources arising from the previous "long message" operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER2 + | 0x22 + | + | Parameters Channel Buffer (Byte 2) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 2 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER3 + | 0x23 + | + | Parameters Channel Buffer (Byte 3) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 3 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER4 + | 0x24 + | + | Parameters Channel Buffer (Byte 4) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 4 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER5 + | 0x25 + | + | Parameters Channel Buffer (Byte 5) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 5 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER6 + | 0x26 + | + | Parameters Channel Buffer (Byte 6) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 6 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_BUFFER7 + | 0x27 + | + | Parameters Channel Buffer (Byte 7) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 7 of 8 bytes for the answer to a long message (read operation) or for a "long message" write operation. + | |||||||||||||||||||||||||||||||||
| PC_ADD_H + | 0x28 + | + | Long message address (High Byte) + - The addresses and the addressing mode for "long messages" sent over the Parameters Channel are determined in the PC_ADD_H/PC_ADD_L long message address registers. + - In addition, the long message address register 0x28 (PC_ADD_H) contains indications of errors arising from "long message" operations. For this sort of error, the Parameters Channel buffer contains the error code in bytes 0 and 1 associated with this status. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | LRW: Long message, read/write mode + - 0 = "Long message" write operation + - 1 = "Long message" read operation + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | LOFF: Long message addressing mode/long message error + - Write Access + - 0 = Addressing of "long messages" without offset. The offset value from the PC_OFF_H/PC_OFF_Lregisters is not used. + - 1 = Offset addressing of "long messages". The offset value from the PC_OFF_H/PC_OFF_L registers is used in the resource of the selected database entry as a sub-address. + - Read Access + - 0 = The last "long message" was correctly processed. + - 1 = The last "long message" caused an error. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | LIND: Indirect addressing of long messages + - 0 = Direct addressing of "long messages". The operation affects the database entry given in the current address. + - 1 = Indirect addressing of "long messages". During this operation, the stored address content in the given database entry is evaluated. + | |||||||||||||||||||||||||||||||||
| + | + | 3:2 + | LLEN: Data length of the "long message" + - 00 = No data bytes + - 01 = 2 data bytes + - 10 = 4 data bytes + - 11 = 8 data bytes + | |||||||||||||||||||||||||||||||||
| + | + | 1:0 + | Bits 9:8 of 10 bit address for a "long message" operation + | |||||||||||||||||||||||||||||||||
| PC_ADD_H + | 0x29 + | + | Long message address (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Bits 7:0 of 10 bit address for a "long message" operation + | |||||||||||||||||||||||||||||||||
| PC_OFF_H + | 0x2A + | + | Long message address offset (High Byte) + - The PC_OFF_H/PC_OFF_L address offset registers for long messages are used in "long message" operations, if LOFF is set in the register 0x28. + - In this case the LOFFADD value from these registers is used to communicate with the sub-address of a multiple byte encoder resource. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | LID: Long message identification. + The value must be "1". + | |||||||||||||||||||||||||||||||||
| + | + | 6:0 + | LOFFADD (14:8) : Long message offset value + Bits 14:8 of the 15 bit offset value of the "long message" address offset is stored in these bits. + | |||||||||||||||||||||||||||||||||
| PC_OFF_L + | 0x2B + | + | Long message address offset (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | LOFFADD (7:0) : Long message offset value + Bits 7:0 of the 15 bit offset value of the "long message" address offset is stored in these bits. + | |||||||||||||||||||||||||||||||||
| PC_CTRL + | 0x2C + | + | Parameters Channel Control + - This register for the Parameters Channel handles the start of "long message" transactions. After setting all "long message" registers (registers PC_BUFFER0 to 7, PC_ADD_H/PC_ADD_L and PC_OFF_H/L), the "long message" is transmitted to the DSL Slave by setting the LSTA bit. + | |||||||||||||||||||||||||||||||||
| + | + | 7:1 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | LSTA: Control of the long message start + - 0 = No effect. + - 1 = A "long message" transaction is started with the values currently stored in the "long message" registers. + | |||||||||||||||||||||||||||||||||
| PIPE_S + | 0x2D + | + | SensorHub Channel Status
+ **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| PIPE_D + | 0x2E + | + | SensorHub Channel Data
+ **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| PC_DATA + | 0x2F + | + | "Short message" Mirror Register
+ **NOTE : Not available in TI HDSL Solution. Please see S_PC_DATA (0x37) for “short message” transactions.** + | |||||||||||||||||||||||||||||||||
| RESERVED + | 0x34, 0x33, 0x32, 0x31, 0x30 + | + | **NOTE** : Reserved for future use + | |||||||||||||||||||||||||||||||||
| SAFE_CTRL + | 0x35 + | + | Safe System Control + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | PRST: Protocol reset + - 0 = Normal protocol action. + - 1 = A forced reset of the protocol status will be initiated. If the bit is deleted, a restart of the connection is triggered. + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | MRST: Messages reset + - 0 = Normal Parameters Channel action. + - 1 = The Parameters Channel is reset. Current short and long messages are discarded. + | |||||||||||||||||||||||||||||||||
| + | + | 5:0 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| SAFE_SUM + | 0x36 + | + | Safe Summary + - This register contains the summarized DSL Slave status information for the safety related application. + - It is based on the encoder status ENC_ST7:0. + - Each status summary bit contains the summarized information from 8 error, warning and event modes of the DSL Slave. + | |||||||||||||||||||||||||||||||||
| + | + | 7:1 + | SSUM7:SSUM1: Status Summary bit (external resource) + - 0 = The corresponding error, warning or event is not active. + - 1 = An error, a warning or an event associated with DSL Slave external resources was triggered. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | SSUM0: Status summary bit (interface) + - 0 = The DSL Slave protocol has not triggered an error, a warning or event. + - 1 = An error, a warning or an event associated with the DSL Slave protocol interface was triggered. + | |||||||||||||||||||||||||||||||||
| S_PC_DATA + | 0x37 + | + | "Short message" Parameters Channel Data + - This register for the Parameters Channel short message contains the results of “short message” transactions. + - “Short message” transactions are generated if operations are carried out with remote registers (DSL Slave). + - Generally, FRES (in the EVENT_S register) must be set after a transaction is started. Only then will S_PC_DATA contain valid information. + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | 8 bit value of the requested remote register. + | |||||||||||||||||||||||||||||||||
| ACC_ERR_CNT + | 0x38 + | + | Fast Position Error Counter
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + - This register gives the count of transmitted fast position values with consecutive transmission errors. + - Writing to this register does not set any threshold for setting an error signal. + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | 8 bit value of count of transmitted fast position values with consecutive transmission errors. + | |||||||||||||||||||||||||||||||||
| MAXACC + | 0x39 + | + | Fast Position Acceleration Boundary
+ **NOTE : Not available in TI HDSL Solution.** + | |||||||||||||||||||||||||||||||||
| MAXDEV + | 0x3A, 0x3B + | + | Fast Position Estimator Deviation
+ **NOTE : Not available in TI HDSL Solution.** + | |||||||||||||||||||||||||||||||||
| RESERVED + | 0x3C + | + | **NOTE** : Reserved for future use + | |||||||||||||||||||||||||||||||||
| EVENT_S + | 0x3D + | + | Safe Events + - It contains the messaging bits for warning and error modes of the DSL system. + - All messaging bits are set by the DSL Master if a corresponding status is determined. + - An event bit that has been set is not reset by the DSL Master. + - The safety related application must delete bits that have been set. + - It should be noted that all event register bits are also transferred to Online Status 1. The event bits are not static there and contain the actual status of each individual event. + - The following bit description lists the effects of warning and error conditions as well as the reactions to errors that must be installed in the safety related application. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | SINT: Safe Interrupt status
+ **NOTE** : Not available in TI HDSL Solution. + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | SSUM: Remote event monitoring + - 0 = All DSL Slave events are deleted. + - 1 = The DSL Slave has signaled an event. + + When the bit is set, an error or a warning has been transmitted from the DSL Slave. The safety related application must check the SAFE_SUM register to obtain a detailed description. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | SCE: Error on the Safe Channel + - 0 = Safe Channel data was correctly transmitted. + - 1 = Data consistency error on the Safe Channel. + + This error usually indicates a transmission error on the DSL connection. If this error occurs frequently, the wiring of the DSL connection should be checked. If this error occurs continuously, there is probably an error in the motor feedback system. This error affects quality monitoring and produces the QMLW warning or a protocol reset. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | VPOS: Safe position error + - 0 = The safe position is correct. + - 1 = Sensor error. + + This error usually indicates an encoder sensor error. If this error occurs continuously, there is probably an error in the motor feedback system. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | QMLW: Quality monitoring low value warning + - 0 = Quality monitoring value greater than or equal to “14” + - 1 = Quality monitoring value (see register 0x03) below “14” + + This warning indicates that a transmission error occurred. If this error occurs frequently, the wiring of the DSL connection should be checked. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | PRST: Protocol reset warning + - 0 = Normal protocol action. + - 1 = The forced protocol reset was triggered. + + This error message indicates that the protocol connection to the DSL Slave has been re-initialized. This error message can be caused by a frequency inverter application request (PRST bit in SYS_CTRL), a safety related application request (PRST bit in SAFE_CTRL), or generated by the DSL Master itself. The DSL Master causes a protocol reset if too many transmission errors indicate a connection problem. A protocol reset causes a re-synchronization with the DSL Slave that can improve the connection quality. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | MIN: Message init + - 0 = No acknowledgment for the initialization received. + - 1 = An acknowledgment was received from the Slave for the initialization of a message. + + When this warning is displayed, the Parameters Channel is still in the initialization status and no “short message” or “long message” can be triggered. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | FRES: Channel free for “short message” + - 0 = No “short message” can be sent. + - 1 = A “short message” can be sent on the Parameters Channel. + + If the bit is set, the frequency inverter application can trigger a “short message”. Provided no answer has been received from the DSL Slave, this bit remains deleted. As the processing duration of a “short message” in the motor feedback system is not specified, a time limit condition is installed in the DSL Master. If the time limit is exceeded, attempts are made again automatically. + | |||||||||||||||||||||||||||||||||
| MASK_S + | 0x3E + | + | Safe Event Mask + - In the safe event mask register, the events are set with which the safe event interrupt is set. + - Several events can be masked to trigger an safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | MSSUM: Mask for remote event monitoring + - 0 = DSL Slave events that are set in the SAFE_SUM register do not set the safe event interrupt. + - 1 = DSL Slave events that are set in the SAFE_SUM register set the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | MSCE: Mask for transmission errors on the Safe Channel + - 0 = A transmission error on the Safe Channel does not set the safe event interrupt. + - 1 = A transmission error on the Safe Channel sets the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | MVPOS: Mask for safe position error + - 0 = An error in the safe position does not set the safe event interrupt. + - 1 = An error in the safe position sets the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | MQMLW: Mask for low quality monitoring value warning + - 0 = A low quality monitoring value does not set the safe event interrupt. + - 1 = A low quality monitoring value (see registers 03h and 05h) sets the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | MPRST: Mask for protocol reset warning + - 0 = A protocol reset does not set the safe event interrupt. + - 1 = A protocol reset sets the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | MMIN: Mask for message initialization confirmation + - 0 = The acknowledgment for the initialization of a DSL Slave message does not set the safe event interrupt. + - 1 = The acknowledgment for the initialization of a DSL Slave message sets the safe event interrupt. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | MFRES: Mask for channel free for “short message” + - 0 = If a “short message” can be sent on the Parameters Channel, the safe event interrupt is not set. + - 1 = If a “short message” can be sent on the Parameters Channel, the safe event interrupt is set. + | |||||||||||||||||||||||||||||||||
| RESERVED + | 0x3F + | + | **NOTE** : Reserved for future use + | |||||||||||||||||||||||||||||||||
| SLAVE_REG_CTRL + | 0x40 + | + | Short Message Control + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | Short message, read/write mode + - 0 = "Short message" write operation + - 1 = "Short message" read operation + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 5:0 + | 6 bit address for a “short message” operation + | |||||||||||||||||||||||||||||||||
| ACC_ERR_CNT_TRESH + | 0x41 + | + | Fast Position Error Counter Threshold
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | 8 bit threshold value for triggering a protocol reset when ACC_ERR_CNT crosses this threshold. + | |||||||||||||||||||||||||||||||||
| RESERVED + | 0x43, 0x42 + | + | **NOTE** : Reserved for future use + | |||||||||||||||||||||||||||||||||
| VERSION2 + | 0x44 + | + | Version in Safe Channel 2 (Identical to VERSION register)
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x44 instead of 0x0B)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:4 + | Major Release Number + | |||||||||||||||||||||||||||||||||
| + | + | 3:0 + | Minor Release Number + | |||||||||||||||||||||||||||||||||
| ENC2_ID + | 0x45 + | + | Encoder ID in Safe Channel 2
+ **NOTE : Not available in TI HDSL Solution** + **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x45 instead of 0x0F)** + | |||||||||||||||||||||||||||||||||
| STATUS2 + | 0x46 + | + | Safe Channel 2 Status
+ - This register contains the status information for Safe Channel 2 of the HDSL motor feedback system.
+ - A summary of the contents is also available in the SUM2 bit of Online Status 2.
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x46 instead of 0x18)** + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | TOG2: Safe Channel 2 toggle bit + For successive position transmissions on Safe Channel 2, TOG2 must always toggle between “0” and “1”. The starting value for TOG2 is “0”. If the toggle bit does not change its value, it is probable that a transmission error occurred and the transmitted absolute value for Safe Channel 2 is invalid. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | TEST2: Safe Channel 2 has just been tested + TEST2 is set if a test is carried out during the currently available Safe Channel 2 status and position values.TEST2 can only be valid if the user application has previously requested a test. Corresponding error indications for TEST2 are either the ERR2 bit or a discrepancy between the position and the CRC of Safe Channel 2. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | ERR2: Safe Channel 2, position error + - 0 = The last safe position received in Safe Channel 2 is correct. + - 1 = The last safe position received in Safe Channel 2 is invalid. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 4:0 + | FIX2: Safe Channel 2, fixed bit pattern + The standard value of the fixed bit pattern is “11100”. All other values indicate an error on Safe Channel 2 of the DSL system. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| VPOS24 + | 0x47 + | + | Safe Position, Channel 2 (Byte 4)
+ - The VPOS2 registers for the safe position contain the position value from the secondary channel of the motor feedback system connected.
+ - This safe position is transmitted in every eighth protocol frame if the validity of the data transfer has been checked.
+ - Only those VPOS2 bits are relevant that lie within the range that the motor feedback system has actually measured.
+ - Also, typically channel 2 has a lower resolution than channel 1.
+ - The units of the position value are (steps).
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x47 instead of 0x19)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 4 of position value at motor feedback system Safe Channel 2 (length: 40 bits), as an absolute value complement. + | |||||||||||||||||||||||||||||||||
| VPOS23 + | 0x48 + | + | Safe Position, Channel 2 (Byte 3)
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x48 instead of 0x1A)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 3 of position value at motor feedback system Safe Channel 2 (length: 40 bits), as an absolute value complement. + | |||||||||||||||||||||||||||||||||
| VPOS22 + | 0x49 + | + | Safe Position, Channel 2 (Byte 2)
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x49 instead of 0x1B)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 2 of position value at motor feedback system Safe Channel 2 (length: 40 bits), as an absolute value complement. + | |||||||||||||||||||||||||||||||||
| VPOS21 + | 0x4A + | + | Safe Position, Channel 2 (Byte 1)
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x4A instead of 0x1C)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of position value at motor feedback system Safe Channel 2 (length: 40 bits), as an absolute value complement. + | |||||||||||||||||||||||||||||||||
| VPOS20 + | 0x4B + | + | Safe Position, Channel 2 (Byte 0)
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x4B instead of 0x1D)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of position value at motor feedback system Safe Channel 2 (length: 40 bits), as an absolute value complement. + | |||||||||||||||||||||||||||||||||
| VPOSCRC2_H + | 0x4C + | + | Position checksum, Channel 2 (High Byte)
+ - The VPOSCRC2 registers for the position checksum contain the CRC checksum of the safe position VPOS2 and STATUS2.
+ - The CRC is checked in the DSL Master IP Core.
+ - In order to guarantee, in a safety related application, that the CRC machine in the IP Core is functioning, these registers can be checked with an external cross check in the diagnostics test interval.
+ - The CRC is generated with the following CRC parameters:
+ - CRC Sequence : 16 Bit
+ - CRC Polynomial : 0xC86C (x16 + x15 + x12 + x7 + x6 + x4 + x3 + 1), Normal representation: 0x90D9
+ - Starting Value : 0x0000
+ - Closing XOR Value : 0x00FF
+ - Reverse Data Bytes : No
+ - Reverse CRC before closing XOR : No
+ - Sequence of the bytes for calculation : STATUS2, VPOS24, VPOS23, VPOS22, VPOS21, VPOS20
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x4C instead of 0x1E)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 1 of 16 bit CRC checksum (CRC 16)of the safe position and status summary in Safe Channel 2. + | |||||||||||||||||||||||||||||||||
| VPOSCRC2_L + | 0x4D + | + | Position checksum, Channel 2 (Low Byte)
+ **NOTE : Register address is different from SICK HDSL MASTER IP Core (TI implementation uses 0x4D instead of 0x1F)** + | |||||||||||||||||||||||||||||||||
| + | + | 7:0 + | Byte 0 of 16 bit CRC checksum (CRC 16) of the safe position and status summary in Safe Channel 2. + | |||||||||||||||||||||||||||||||||
| POSTX + | 0x4E + | + | Position Transmission Status
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 7:2 + | **NOTE** : Reserved (Read as \"0\") + | |||||||||||||||||||||||||||||||||
| + | + | 1:0 + | - 0: Position request is transmitted to the DSL encoder + - 1: Reserved + - 2: Fast position was received or position newly updated by estimator + - 3: Safe position 1 and 2 were received + | |||||||||||||||||||||||||||||||||
| RESERVED + | 0x4F + | + | **NOTE** : Reserved for future use + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_D_H + | 0x50 + | + | Online Status D (High Byte) + - The Online Status D is a non-storing copy of registers EVENT_H and EVENT_L. The static information in these event registers must be deleted by the user after the read process, by writing the value "0" to the corresponding bit in the register, whilst the Online Status D only shows the current status without storing previous indications. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | INT: Status of the Interrupt output
+ **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | SUM: Summary byte
+ - 0 = The last valid value from SAFE_SUM was zero.
+ - 1 = The last valid value from SAFE_SUM was not zero. The importance of this flag depends on the particular error source that leads to a set SAFE_SUM.
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + SAFE_SUM is used instead of MIR_SUM. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | FIX1: This bit always gives a “1”. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | POS: Estimator turned on + - 0 = No fast position error. + - 1 = A source of an error in the fast position was identified or an alignment procedure is currently being carried out. It is probable that the last fast position is invalid. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | DTE: Estimator Deviation Threshold Error
+ - 0 = Current value of deviation smaller than the specified maximum.
+ - 1 = Current value of deviation greater than the specified maximum.
+ **NOTE : Not available in TI HDSL Solution.** + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | PRST: Protocol reset + - 0 = Normal protocol action + - 1 = The forced protocol reset was triggered + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_D_L + | 0x51 + | + | Online Status D (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:6 + | FIX0: This bit always gives a “0”.
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | MIN: Acknowledgment of message initialization + - 0 = Parameter Channel not functioning. + - 1 = The DSL encoder sends a figure by which the initialization of the Parameter Channel is acknowledged. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | ANS: Incorrect answer detected. + - 0 = No error detected in the last answer to a long message. + - 1 = The last answer to a long message was damaged. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | QMLW: Quality monitoring at Low level + - 0 = Current value of quality monitoring greater than or equal to 14. + - 1 = Current value of quality monitoring less than 14. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | FREL: Channel status for “long message”. + - 0 = The channel for the “long message” is in use. + - 1 = The channel for the “long message” is free. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_1_H + | 0x52 + | + | Online Status 1 (High Byte) + - The Online Status D is a non-storing copy of registers EVENT_S. The static information in the event register must be deleted by the user after the read process, by writing the value "0" to the corresponding bit in the register, whilst the Online Status 1 only shows the current status without storing previous indications. + - All fault indications in Online Status 1 are potentially critical and safety-related. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | SINT: Status of the Interrupt output
+ **NOTE : Not available in TI HDSL Solution** + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | SSUM: Safe Summary bit + - 0 = The last valid value from SAFE_SUM was zero. + - 1 = The last valid value from SAFE_SUM was not zero. The importance of this flag depends on the particular error source that leads to a set SAFE_SUM. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | SCE: CRC error on the Safe Channel + - 0 = The last Safe Channel 1 CRC received was correct. + - 1 = The last Safe Channel 1 CRC received was wrong. It is expected that the last safe position 1 transmitted is invalid. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | FIX1: This bit always gives a “1”. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | VPOS: Safe position invalid + - 0 = The last safe position received was correct. + - 1 = An error in the safe position was identified. It is expected that the safe position transmitted from the encoder is invalid. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | PRST: Protocol reset + - 0 = Normal protocol action + - 1 = The forced protocol reset was triggered + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_1_L + | 0x53 + | + | Online Status 1 (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:6 + | FIX0: This bit always gives a “0”.
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | MIN: Acknowledgment of message initialization + - 0 = Parameter Channel not functioning. + - 1 = The DSL encoder sends a figure by which the initialization of the Parameter Channel is acknowledged. + | |||||||||||||||||||||||||||||||||
| + | + | 4:3 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | QMLW: Quality monitoring at Low level + - 0 = Current value of quality monitoring greater than or equal to 14. + - 1 = Current value of quality monitoring less than 14. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | FRES: Channel status for the “short message”. + - 0 = The channel for the “short message” is in use. + - 1 = The channel for the “short message” is free. + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_2_H + | 0x54 + | + | Online Status 2 (High Byte) + - Online Status 2 provides information about Safe Channel 2 of the DSL encoder. + - The data always indicate the current status, with previous indications not being stored. + - All fault indications in Online Status 2 are potentially critical and safety-related. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 7 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 6 + | SUM2: Summary byte Channel 2 + - 0 = Neither TEST2 nor ERR2 is set. + - 1 = One of the indications TEST2 or ERR2 is set. The error reaction to this flag depends on the meaning of the bit they are based on. + | |||||||||||||||||||||||||||||||||
| + | + | 5 + | SCE2: Transmission error Channel 2 + - 0 = The last data received in Channel 2 was correct. + - 1 = The last Safe Channel 2 CRC received was wrong. It is expected that the last safe position 2 transmitted is invalid. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 4 + | FIX1: This bit always gives a “1”. + | |||||||||||||||||||||||||||||||||
| + | + | 3 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | VPOS2: Safe position Channel 2 invalid + - 0 = The last safe position received in Channel 2 was correct. + - 1 = A source of an error in the safe position in Channel 2 was identified. It is probable that the safe position transmitted from Channel 2 is invalid. Suitable measures must be installed in the user application. + | |||||||||||||||||||||||||||||||||
| + | + | 1 + | FIX0: This bit always gives a “0”. + | |||||||||||||||||||||||||||||||||
| + | + | 0 + | PRST: Protocol reset + - 0 = Normal protocol action + - 1 = The forced protocol reset was triggered + | |||||||||||||||||||||||||||||||||
| ONLINE_STATUS_2_L + | 0x55 + | + | Online Status 2 (Low Byte) + | |||||||||||||||||||||||||||||||||
| + | + | 7:3 + | FIX0: These bits always gives a “0”.
+ **NOTE : Different implementation from SICK HDSL MASTER IP Core** + | |||||||||||||||||||||||||||||||||
| + | + | 2 + | QMLW: Quality monitoring at Low level + - 0 = Current value of quality monitoring greater than or equal to 14. + - 1 = Current value of quality monitoring less than 14. + | |||||||||||||||||||||||||||||||||
| + | + | 1:0 + | FIX0: These bits always gives a “0”. + |
| ID + | Head Line + | Module + | Applicable Releases + | Resolution/Comments + |
|---|---|---|---|---|
| PINDSW-5538 + | HDSL: Long message not working with multi-channel application + | Position Sense HDSL + | - + | - + |
| PINDSW-5651 + | HDSL: Multi-turn bits of fast position do not contain correct data + | Position Sense HDSL + | - + | - + |
| PINDSW-5681 + | EnDat: Recovery Time not correct for 2.1 commands + | Position Sense EnDat + | - + | - + |
| PINDSW-5689 + | HDSL: High deviation in fast position when encoder shaft is fixed + | Position Sense HDSL + | - + | - + |
| PINDSW-6487 + | HDSL: FIX bits in ONLINE STATUS 1 register are losing the expected fix value + | Position Sense HDSL + | - + | - + |
| PINDSW-6488 + | HDSL: SUM/SSUM bit not working in ONLINE STATUS registers + | Position Sense HDSL + | - + | - + |
| PINDSW-6489 + | HDSL: Offsets for ONLINE STATUS registers in C structure are not correct + | Position Sense HDSL + | - + | - + |
| PINDSW-6492 + | HDSL: Protocol reset is not working + | Position Sense HDSL + | - + | - + |
| PINDSW-6526 + | HDSL: FREL/FRES bits in EVENT/EVENT_S registers are not sticky + | Position Sense HDSL + | - + | - + |
| PINDSW-6530 + | HDSL: QMLW bit not working in ONLINE STATUS registers + | Position Sense HDSL + | - + | - + |
| PINDSW-6607 + | %SDFM: NULL pointer dereferenced in \ref SDFM_getFilterData + | Current Sense %SDFM + | - + | - + |
| ID + | Head Line + | Module + | Applicable Releases + | Workaround + |
|---|---|---|---|---|
| PINDSW-5537 + | HDSL not working with 225 MHz PRU-ICSSG Core Clock Frequency + | Position Sense HDSL + | 9.0 onwards + | Use 300 MHz frequency for PRU-ICSSG Core Clock + |
| PINDSW-5690 + | HDSL: EDGE register is not updated + | Position Sense HDSL + | 9.0 onwards + | - + |
| PINDSW-6486 + | HDSL: RSSI register shows higher values than expected for a non-noisy setup + | Position Sense HDSL + | 9.0 onwards + | - + |
| PINDSW-6544 + | %SDFM: Incorrect samples seen intermittently with EPWM as %SDFM clock + | Current Sense %SDFM + | 9.0 onwards + | Use 5MHz %SDFM clock from EPWM1 (tested with 5MHz clock from EPWM) or use PRU-ICSSG ECAP as %SDFM clock source + |
| PINDSW-6628 + | HDSL: Reset value of PRST bit is not correct + | Position Sense HDSL + | 9.0 onwards + | - + |
| PINDSW-6629 + | HDSL: SSUM bit in EVENT_S is not set when SUMMARY is non-zero + | Position Sense HDSL + | 9.0 onwards + | - + |
| PINDSW-6630 + | HDSL: POS bit is not set during initial fast position alignment + | Position Sense HDSL + | 9.0 onwards + | - + |
| PINDSW-6931 + | Tamagawa: Firmware build failing + | Position Sense Tamagawa + | 9.0 onwards + | 1. Update include path of icss_regs.inc and icss_cfg_regs.inc files to `../../../../mcu_plus_sdk/source/pru_io/firmware/common/ ` path in `tamagawa_main.asm` and `tamagawa_icss_reg_defs.h` files. 2. Replace ED with ENDAT in symbol definitions in tamagawa_main.asm file's lines 101 to 122. (For example, update `ICSS_CFG_PRU0_ED_CH0_CFG1` to `ICSS_CFG_PRU0_ENDAT_CH0_CFG1` ) |
+
| ID + | Head Line + | Module + | Reported in Release + | Applicable Devices + | Workaround + |
|---|---|---|---|---|---|
| MCUSDK-208 + | gmake with -j can sometimes lock up Windows command prompt + | Build + | 7.3.0 + | AM64x, AM243x + | Use bash for windows as part of git for windows or don't use -j option + |
| Module + | Affected API + | Change + | Additional Remarks + |
|---|---|---|---|
| Current Sense %SDFM + | Structure `SdfmPrms_s` + | Added variables `iep_clock`, `sd_clock`, `en_second_update`, `firstSampTrigTime` and `secondSampTrigTime` + | + |
| Module + | Affected API + | Change + | Additional Remarks + |
|---|---|---|---|
| Position Sense EnDat + | \ref endat_init + | Added API parameter `pruss_iep` + | Needed for periodic mode + |
| Position Sense EnDat + | Structure \ref endat_priv + | Added variables `pruss_iep`, `cmp3`, `cmp5` and `cmp6` + | Needed for periodic mode + |
| Position Sense EnDat + | Structure \ref cmd_supplement + | Added variables `cmp3`, `cmp5` and `cmp6` + | Needed for periodic mode + |
| Current Sense %SDFM + | `SDFM_setSampleReadingTime` + | Changed name of API \ref SDFM_setSampleTriggerTime and updated a parameter name `samp_trig_time` + | - + |
| Current Sense %SDFM + | \ref SDFM_setFilterOverSamplingRatio + | Removed `oc_osr` parameter + | - + |
| Current Sense %SDFM + | \ref SDFM_setCompFilterOverSamplingRatio + | Changed type of osr parameter + | uint8_t to uint16_t + |
| Current Sense %SDFM + | `SDFM_setAccOverSamplingRatio` + | Removed this API + | - + |
| Current Sense %SDFM + | Structure \ref SDFM_Ctrl + | Removed variables: `ctrl` and `stat`, and added variables `sdfm_en`, `sdfm_en_ack` and `sdfm_pru_id` + | - + |
| Current Sense %SDFM + | Structure \ref SDFM_CfgTrigger + | Removed variables `trig_samp_time`, `oc_prd_iep_cnt` and `sample_count`, and added variables `en_double_nc_sampling`, `first_samp_trig_time` and `second_samp_trig_time` + | - + |
| ID + | Head Line + | Module + | Reported in Release + | Applicable Devices + | Workaround + |
|---|---|---|---|---|---|
| MCUSDK-208 + | gmake with -j can sometimes lock up Windows command prompt + | Build + | 7.3.0 + | AM64x, AM243x + | Use bash for windows as part of git for windows or don't use -j option + |
\2
\endhtmlonly" +ALIASES+=VAR_MY_NAME="my_value" +ALIASES+=VAR_TI_HOME_PAGE="\htmllink{https://www.ti.com,TI}" +ALIASES+=VAR_SDK_NAME="Motor Control SDK" +ALIASES+=VAR_CCS_VERSION="12.4.0" +ALIASES+=VAR_CCS_FOLDER_VERSION="1240" +ALIASES+=VAR_CCS_VERSION_AM263X="12.4.0" +ALIASES+=VAR_CCS_FOLDER_VERSION_AM263X="1240" +ALIASES+=VAR_SYSCFG_VERSION="1.17.0" +ALIASES+=VAR_SYSCFG_BUILD="3128" +ALIASES+=VAR_SYSCFG_VERSION_FULL="1.17.0_3128" +ALIASES+=VAR_SYSCFG_VERSION_AM273X="1.17.0" +ALIASES+=VAR_SYSCFG_BUILD_AM273X="3128" +ALIASES+=VAR_SYSCFG_VERSION_FULL_AM273X="1.17.0_3128" +ALIASES+=VAR_SYSCFG_VERSION_AM263X="1.17.0" +ALIASES+=VAR_SYSCFG_BUILD_AM263X="3128" +ALIASES+=VAR_SYSCFG_VERSION_FULL_AM263X="1.17.0_3128" +ALIASES+=VAR_TI_ARM_CLANG_VERSION="2.1.3.LTS" +ALIASES+=VAR_TI_C6000_CGT_VERSION="8.3.12" +ALIASES+=VAR_GCC_AARCH64_VERSION="9.2-2019.12" +ALIASES+=VAR_GCC_ARM_VERSION="7-2017-q4-major" +ALIASES+=VAR_FREERTOS_KERNEL_VERSION="10.4.3" +ALIASES+=VAR_FREERTOS_SMP_KERNEL_VERSION="202110.00-SMP" +ALIASES+=VAR_DSPLIB_VERSION="3.4.0.0" +ALIASES+=VAR_TINYUSB_VERSION="0.14.0" +ALIASES+=VAR_LWIP_VERSION="STABLE-2_1_2_RELEASE" +ALIASES+=VAR_SECURITY_MBEDTLS_VERSION="mbedtls-3.0.0" +ALIASES+=VAR_MBEDTLS_VERSION="mbedtls-2.13.1" +ALIASES+=VAR_SYSCFG_USAGE_NOTE="\note It is strongly recommend to use SysConfig where it is available instead of using direct SW API calls. This will help simplify the SW application and also catch common mistakes early in the development cycle." + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. +# +# Note For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = YES + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = YES + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO these classes will be included in the various overviews. This option has +# no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = YES + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the +# todo list. This list is created by putting \todo commands in the +# documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the +# test list. This list is created by putting \test commands in the +# documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if