# HG changeset patch # User Mongo # Date 1337613717 -7200 # Node ID 438a979fda5deb56271a4f3555b35332236b8c14 # Parent 0b33d9cdbdeb5b8e5cc2cc930d8a3f9c869ba38c# Parent ab83333fee786fa0aa92551e883effadd389ed02 merge with main Canfestival repository diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc10.sln --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CanFestival-3.vc10.sln Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,112 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C++ Express 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CanFestival-3", "CanFestival-3.vc10.vcxproj", "{50EF2507-9B87-4525-8B19-80EB42E67079}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_ixxat_win32", "drivers\can_ixxat_win32\can_ixxat_win32.vc10.vcxproj", "{8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestMasterMicroMod", "examples\DS401_Master\TestMasterMicroMod.vc10.vcxproj", "{B51A176D-5320-4534-913B-3025CED5B27E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CANOpenShell", "examples\CANOpenShell\CANOpenShell.vc10.vcxproj", "{06B3C378-9EE4-4C56-A519-775FF499DAB5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win32test", "examples\win32test\win32test.vc10.vcxproj", "{BD8B1FE1-89CD-4F89-8275-0F553FA71059}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_anagate_win32", "drivers\can_anagate_win32\can_anagate_win32.vc10.vcxproj", "{2F3E1E68-1518-4829-B543-8DF2987E664B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_uvccm_win32", "drivers\can_uvccm_win32\can_uvccm_win32.vc10.vcxproj", "{39E3300A-29B4-4AA7-AF62-3B181FC26155}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_peak_win32", "drivers\can_peak_win32\can_peak_win32.vc10.vcxproj", "{732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_copcican_win32", "drivers\can_copcican_win32\can_copcican_win32.vc10.vcxproj", "{A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug UNICODE|Win32 = Debug UNICODE|Win32 + Debug|Win32 = Debug|Win32 + Release UNICODE|Win32 = Release UNICODE|Win32 + Release|Win32 = Release|Win32 + Template|Win32 = Template|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.ActiveCfg = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.Build.0 = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.Build.0 = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.ActiveCfg = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.Build.0 = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Template|Win32.ActiveCfg = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Template|Win32.Build.0 = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.ActiveCfg = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.Build.0 = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.Build.0 = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.ActiveCfg = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.Build.0 = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Template|Win32.ActiveCfg = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Template|Win32.Build.0 = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.ActiveCfg = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.Build.0 = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.Build.0 = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.ActiveCfg = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.Build.0 = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Template|Win32.ActiveCfg = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Template|Win32.Build.0 = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.ActiveCfg = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.Build.0 = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release UNICODE|Win32.Build.0 = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.ActiveCfg = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.Build.0 = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Template|Win32.ActiveCfg = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Template|Win32.Build.0 = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug|Win32.ActiveCfg = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug|Win32.Build.0 = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release UNICODE|Win32.Build.0 = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release|Win32.ActiveCfg = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release|Win32.Build.0 = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Template|Win32.ActiveCfg = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Template|Win32.Build.0 = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Debug|Win32.ActiveCfg = Debug|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Release|Win32.ActiveCfg = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Template|Win32.ActiveCfg = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Template|Win32.Build.0 = Release|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug UNICODE|Win32.Build.0 = Debug UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug|Win32.ActiveCfg = Debug|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug|Win32.Build.0 = Debug|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release UNICODE|Win32.Build.0 = Release UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release|Win32.ActiveCfg = Release|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release|Win32.Build.0 = Release|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Template|Win32.ActiveCfg = Release UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Template|Win32.Build.0 = Release UNICODE|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Debug|Win32.ActiveCfg = Debug|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Release|Win32.ActiveCfg = Release|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Template|Win32.ActiveCfg = Release|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Template|Win32.Build.0 = Release|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug|Win32.ActiveCfg = Debug|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release|Win32.ActiveCfg = Release|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Template|Win32.ActiveCfg = Release|Win32 + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Template|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CanFestival-3.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,131 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + CanFestival-3 + {50EF2507-9B87-4525-8B19-80EB42E67079} + CanFestival-3 + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + Debug\ + Debug\ + Release\ + Release\ + + + + Disabled + ./include;./include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_DEBUG;DEBUG_WAR_CONSOLE_ON;DEBUG_ERR_CONSOLE_ON;_CRT_SECURE_NO_DEPRECATE;_WIN32_WINNT=0x0400;EMCY_MAX_ERRORS=8;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + $(IntDir)CanFestival-3.pdb + Level3 + EditAndContinue + + + ./src/win32/CanFestival-3.def + true + false + false + + + + + + + ./include;./include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + ./src/win32/CanFestival-3.def + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CanFestival-3.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,134 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {33ba2315-b35a-4da2-96b9-d19cbf9f5be8} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {90752f71-956a-4bea-b160-f31310d6051f} + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\win32 + + + Source Files\win32 + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\win32 + + + Header Files\win32 + + + Header Files\win32 + + + + + Source Files + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc8.sln --- a/CanFestival-3.vc8.sln Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CanFestival-3", "CanFestival-3.vc8.vcxproj", "{50EF2507-9B87-4525-8B19-80EB42E67079}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_uvccm_win32", "drivers\can_uvccm_win32\can_uvccm_win32.vcxproj", "{782632D2-B467-DF90-C86E-D767972BAA59}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_peak_win32", "drivers\can_peak_win32\can_peak_win32.vcxproj", "{C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestMasterSlave", "examples\TestMasterSlave\TestMasterSlave.vcxproj", "{B51A176D-5320-4534-913B-3025CED5B27E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_ixxat_win32", "drivers\can_ixxat_win32\can_ixxat_win32.vc8.vcxproj", "{8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_copcican_win32", "drivers\can_copcican_win32\can_copcican_win32.vcxproj", "{A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug UNICODE|Win32 = Debug UNICODE|Win32 - Debug|Win32 = Debug|Win32 - Release UNICODE|Win32 = Release UNICODE|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.Build.0 = Debug|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.ActiveCfg = Debug|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.Build.0 = Debug|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.ActiveCfg = Release|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.Build.0 = Release|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.ActiveCfg = Release|Win32 - {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.Build.0 = Release|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Debug UNICODE|Win32.Build.0 = Debug UNICODE|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Debug|Win32.ActiveCfg = Debug|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Debug|Win32.Build.0 = Debug|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Release UNICODE|Win32.Build.0 = Release UNICODE|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Release|Win32.ActiveCfg = Release|Win32 - {782632D2-B467-DF90-C86E-D767972BAA59}.Release|Win32.Build.0 = Release|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Debug UNICODE|Win32.Build.0 = Debug UNICODE|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Debug|Win32.ActiveCfg = Debug|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Debug|Win32.Build.0 = Debug|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Release UNICODE|Win32.Build.0 = Release UNICODE|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Release|Win32.ActiveCfg = Release|Win32 - {C943EB26-ADEA-0DCD-E581-8BF52F0F20F5}.Release|Win32.Build.0 = Release|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.Build.0 = Debug|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.ActiveCfg = Debug|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.Build.0 = Debug|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.ActiveCfg = Release|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.Build.0 = Release|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.ActiveCfg = Release|Win32 - {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.Build.0 = Release|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.Build.0 = Debug|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.ActiveCfg = Debug|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.Build.0 = Debug|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.ActiveCfg = Release|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.Build.0 = Release|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.ActiveCfg = Release|Win32 - {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.Build.0 = Release|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug UNICODE|Win32.Build.0 = Debug|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug|Win32.ActiveCfg = Debug|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Debug|Win32.Build.0 = Debug|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release UNICODE|Win32.ActiveCfg = Release|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release UNICODE|Win32.Build.0 = Release|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release|Win32.ActiveCfg = Release|Win32 - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc8.vcproj --- a/CanFestival-3.vc8.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,339 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc9.sln --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CanFestival-3.vc9.sln Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,96 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C++ Express 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CanFestival-3", "CanFestival-3.vc9.vcproj", "{50EF2507-9B87-4525-8B19-80EB42E67079}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_ixxat_win32", "drivers\can_ixxat_win32\can_ixxat_win32.vc9.vcproj", "{8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestMasterMicroMod", "examples\DS401_Master\TestMasterMicroMod.vc9.vcproj", "{B51A176D-5320-4534-913B-3025CED5B27E}" + ProjectSection(ProjectDependencies) = postProject + {50EF2507-9B87-4525-8B19-80EB42E67079} = {50EF2507-9B87-4525-8B19-80EB42E67079} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CANOpenShell", "examples\CANOpenShell\CANOpenShell.vc9.vcproj", "{06B3C378-9EE4-4C56-A519-775FF499DAB5}" + ProjectSection(ProjectDependencies) = postProject + {50EF2507-9B87-4525-8B19-80EB42E67079} = {50EF2507-9B87-4525-8B19-80EB42E67079} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "win32test", "examples\win32test\win32test.vc9.vcproj", "{BD8B1FE1-89CD-4F89-8275-0F553FA71059}" + ProjectSection(ProjectDependencies) = postProject + {50EF2507-9B87-4525-8B19-80EB42E67079} = {50EF2507-9B87-4525-8B19-80EB42E67079} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_anagate_win32", "drivers\can_anagate_win32\can_anagate_win32.vc9.vcproj", "{2F3E1E68-1518-4829-B543-8DF2987E664B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_peak_win32", "drivers\can_peak_win32\can_peak_win32.vc9.vcproj", "{732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "can_uvccm_win32", "drivers\can_uvccm_win32\can_uvccm_win32.vc9.vcproj", "{39E3300A-29B4-4AA7-AF62-3B181FC26155}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug UNICODE|Win32 = Debug UNICODE|Win32 + Debug|Win32 = Debug|Win32 + Release UNICODE|Win32 = Release UNICODE|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.ActiveCfg = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Debug|Win32.Build.0 = Debug|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release UNICODE|Win32.Build.0 = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.ActiveCfg = Release|Win32 + {50EF2507-9B87-4525-8B19-80EB42E67079}.Release|Win32.Build.0 = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.ActiveCfg = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Debug|Win32.Build.0 = Debug|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release UNICODE|Win32.Build.0 = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.ActiveCfg = Release|Win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB}.Release|Win32.Build.0 = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.ActiveCfg = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Debug|Win32.Build.0 = Debug|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release UNICODE|Win32.Build.0 = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.ActiveCfg = Release|Win32 + {B51A176D-5320-4534-913B-3025CED5B27E}.Release|Win32.Build.0 = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.ActiveCfg = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.Build.0 = Debug|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release UNICODE|Win32.Build.0 = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.ActiveCfg = Release|Win32 + {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.Build.0 = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug UNICODE|Win32.Build.0 = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug|Win32.ActiveCfg = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Debug|Win32.Build.0 = Debug|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release UNICODE|Win32.Build.0 = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release|Win32.ActiveCfg = Release|Win32 + {BD8B1FE1-89CD-4F89-8275-0F553FA71059}.Release|Win32.Build.0 = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Debug UNICODE|Win32.ActiveCfg = Debug|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Debug|Win32.ActiveCfg = Debug|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Release UNICODE|Win32.ActiveCfg = Release|Win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B}.Release|Win32.ActiveCfg = Release|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Debug|Win32.ActiveCfg = Debug|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A}.Release|Win32.ActiveCfg = Release|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug UNICODE|Win32.ActiveCfg = Debug UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug UNICODE|Win32.Build.0 = Debug UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug|Win32.ActiveCfg = Debug|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Debug|Win32.Build.0 = Debug|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release UNICODE|Win32.ActiveCfg = Release UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release UNICODE|Win32.Build.0 = Release UNICODE|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release|Win32.ActiveCfg = Release|Win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff -r 0b33d9cdbdeb -r 438a979fda5d CanFestival-3.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CanFestival-3.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d configure --- a/configure Tue Mar 27 15:29:57 2012 +0200 +++ b/configure Mon May 21 17:21:57 2012 +0200 @@ -28,17 +28,17 @@ # Number of can bus to use MAX_CAN_BUS_ID=1 -# max bytes to transmit by SDO Put 4 if you only support expedited transfert. -#For a normal transfert, (usually for a string), put the maximum string size to transfer. -SDO_MAX_LENGTH_TRANSFERT=32 - -# For block transfert, number of segments transmitted at once. +# max bytes to transmit by SDO Put 4 if you only support expedited transfer. +#For a normal transfer, (usually for a string), put the maximum string size to transfer. +SDO_MAX_LENGTH_TRANSFER=32 + +# For block transfer, number of segments transmitted at once. # SDO_BLOCK_SIZE CAN frames must fit into the CAN Tx buffer SDO_BLOCK_SIZE=16 # Number of SDO from differents nodes that the node can manage concurrently. #for a slave node, usually put 1. -SDO_MAX_SIMULTANEOUS_TRANSFERTS=4 +SDO_MAX_SIMULTANEOUS_TRANSFERS=4 # Used for NMTable[bus][nodeId] # You can put less of 128 if on the netwo @@ -125,9 +125,9 @@ echo "On user request: LSS FastScan service enabled";; --debug=*) DEBUG=$optarg;; --MAX_CAN_BUS_ID=*) MAX_CAN_BUS_ID=$optarg;; - --SDO_MAX_LENGTH_TRANSFERT=*) SDO_MAX_LENGTH_TRANSFERT=$optarg;; + --SDO_MAX_LENGTH_TRANSFER=*) SDO_MAX_LENGTH_TRANSFER=$optarg;; --SDO_BLOCK_SIZE=*) SDO_BLOCK_SIZE=$optarg;; - --SDO_MAX_SIMULTANEOUS_TRANSFERTS=*) SDO_MAX_SIMULTANEOUS_TRANSFERTS=$optarg;; + --SDO_MAX_SIMULTANEOUS_TRANSFERS=*) SDO_MAX_SIMULTANEOUS_TRANSFERS=$optarg;; --NMT_MAX_NODE_ID=*) NMT_MAX_NODE_ID=$optarg;; --SDO_TIMEOUT_MS=*) SDO_TIMEOUT_MS=$optarg;; --CANOPEN_BIG_ENDIAN=*) CANOPEN_BIG_ENDIAN=$optarg;; @@ -183,9 +183,9 @@ echo echo "Stack compilation constants" echo " --MAX_CAN_BUS_ID [=1] Number of can bus to use" - echo " --SDO_MAX_LENGTH_TRANSFERT [=32] max bytes to transmit by SDO" - echo " --SDO_BLOCK_SIZE [=16] max CAN frames transmitted at once for block transfert" - echo " --SDO_MAX_SIMULTANEOUS_TRANSFERTS [=4] Number of SDO that the node can manage concurrently" + echo " --SDO_MAX_LENGTH_TRANSFER [=32] max bytes to transmit by SDO" + echo " --SDO_BLOCK_SIZE [=16] max CAN frames transmitted at once for block transfer" + echo " --SDO_MAX_SIMULTANEOUS_TRANSFERS [=4] Number of SDO that the node can manage concurrently" echo " --NMT_MAX_NODE_ID [=128] can be reduced to gain memory on small network" echo " --SDO_TIMEOUT_MS [=3000] Timeout in milliseconds for SDO (None to disable the feature)" echo " --EMCY_MAX_ERRORS [=8] Max number of active errors managed in error_data structure" @@ -415,7 +415,17 @@ if [ "$SUB_CAN_DRIVER" = "vscom" ]; then - SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -lvs_can_api + if [ "$SUB_OS_NAME" = "Linux" ]; then + if [ "$SUB_ARCH_NAME" = "x86" ]; then + SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -LLinux\ -lvs_can_api + elif [ "$SUB_ARCH_NAME" = "x86_64" ]; then + SUB_CAN_DLL_CFLAGS=$SUB_CAN_DLL_CFLAGS\ -L\'Linux\ x86-64\'\ -lvs_can_api_x86-64 + else + echo "!!! ERROR !!! Please adapt the configure script for your SUB_ARCH_NAME" $SUB_ARCH_NAME + fi + else + echo "!!! ERROR !!! Please adapt the configure script for your SUB_OS_NAME" $SUB_OS_NAME + fi fi if [ "$SUB_CAN_DRIVER" = "anagate_win32" ]; then @@ -553,7 +563,7 @@ if [ "$SUB_ARCH_NAME" = "x86_64" -a "$CC" = "gcc" ]; then # Only if we are on x86_64 and using gcc # For shared library generation, it needs this - SUB_PROG_CFLAGS=-fPIC + SUB_PROG_CFLAGS+=\ -fPIC fi if [ "$BINUTILS_PREFIX" = "" ]; then @@ -580,7 +590,7 @@ if [ "$SUB_TARGET" = "unix" ]; then if [ "$LD" = "" ]; then - LD=$CC + LD=$CXX fi fi @@ -662,9 +672,9 @@ echo "" >> include/config.h for i in \ MAX_CAN_BUS_ID\ - SDO_MAX_LENGTH_TRANSFERT\ + SDO_MAX_LENGTH_TRANSFER\ SDO_BLOCK_SIZE\ - SDO_MAX_SIMULTANEOUS_TRANSFERTS\ + SDO_MAX_SIMULTANEOUS_TRANSFERS\ NMT_MAX_NODE_ID\ SDO_TIMEOUT_MS\ MAX_NB_TIMER\ @@ -685,7 +695,7 @@ echo "" >> include/config.h for i in \ - SDO_MAX_SIMULTANEOUS_TRANSFERTS\ + SDO_MAX_SIMULTANEOUS_TRANSFERS\ NMT_MAX_NODE_ID\ EMCY_MAX_ERRORS; do echo "#define REPEAT_"$i"_TIMES(repeat)\\">> include/config.h diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_anagate_win32/can_anagate_win32.c --- a/drivers/can_anagate_win32/can_anagate_win32.c Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_anagate_win32/can_anagate_win32.c Mon May 21 17:21:57 2012 +0200 @@ -84,7 +84,7 @@ /*********functions which permit to communicate with the board****************/ -UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m) +UNS8 __stdcall canReceive_driver(CAN_HANDLE fd0, Message *m) { SAnaGatePort* pAnaGatePort = (SAnaGatePort*)fd0; int i; @@ -108,7 +108,7 @@ } /***************************************************************************/ -UNS8 canSend_driver(CAN_HANDLE fd0, Message const *m) +UNS8 __stdcall canSend_driver(CAN_HANDLE fd0, Message const *m) { SAnaGatePort* pAnaCanPort = (SAnaGatePort*)fd0; char cErrorMsg[100]; @@ -152,13 +152,13 @@ } /****************************************************************************/ -UNS8 canChangeBaudRate_driver( CAN_HANDLE fd0, char* baud) +UNS8 __stdcall canChangeBaudRate_driver( CAN_HANDLE fd0, char* baud) { int nRetCode; char cErrorMsg[100]; struct SAnaGatePort* pAnaGatePort = (struct SAnaGatePort*)fd0; - if (nRetCode = CANSetGlobals (pAnaGatePort->hHandle, TranslateBaudeRate(baud), 0, 0, 1) ) + if (nRetCode = CANSetGlobals (pAnaGatePort->hHandle, TranslateBaudeRate(baud), 0, 0, 1, 0) ) { CANErrorMessage( nRetCode, cErrorMsg ,100 ); // Convert returncode to error messge fprintf(stderr, "canChangeBaudRate_drive (AnaGate_Win32): %s\n", cErrorMsg); @@ -174,7 +174,7 @@ For example "192.168.1.254:A" */ -CAN_HANDLE canOpen_driver(s_BOARD *board) +CAN_HANDLE __stdcall canOpen_driver(s_BOARD *board) { int PortNr; char cErrorMsg[100]; @@ -248,7 +248,8 @@ TranslateBaudeRate(board->baudrate), 0,/*OperatingMode = normal*/ 0,/*CAN-Termination = off*/ - 1 /*HighSpeedMode = on*/) ) + 1, /*HighSpeedMode = on*/ + 0 /*Timestamps = off*/) ) { CANErrorMessage( nRetCode, cErrorMsg ,100 ); // Convert returncode to error messge fprintf(stderr, "canOpen_driver (AnaGate_Win32): %s @ %s\n", cErrorMsg,sIPAddress); @@ -285,7 +286,7 @@ } /***************************************************************************/ -int canClose_driver(CAN_HANDLE fd0) +int __stdcall canClose_driver(CAN_HANDLE fd0) { SAnaGatePort* pAnaCanPort = (SAnaGatePort*)fd0; char cErrorMsg[100]; diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_anagate_win32/can_anagate_win32.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_anagate_win32/can_anagate_win32.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,107 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + can_anagate_win32 + {2F3E1E68-1518-4829-B543-8DF2987E664B} + can_anagate_win32 + Win32Proj + + + + DynamicLibrary + Unicode + true + + + DynamicLibrary + Unicode + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + Disabled + AnaGateCAN_API;../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CAN_ANAGATE_WIN32_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + NotUsing + Level3 + EditAndContinue + + + AnaGateCanDll.lib;%(AdditionalDependencies) + AnaGateCAN_API;%(AdditionalLibraryDirectories) + can_anagate_win32.def + true + Windows + false + + + MachineX86 + + + + + WIN32;NDEBUG;_WINDOWS;_USRDLL;CAN_ANAGATE_WIN32_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + NotUsing + Level3 + ProgramDatabase + AnaGateCAN_API;../../include;../../include/win32;%(AdditionalIncludeDirectories) + + + true + Windows + true + true + false + + + MachineX86 + AnaGateCAN_API;%(AdditionalLibraryDirectories) + AnaGateCanDll.lib;%(AdditionalDependencies) + can_anagate_win32.def + + + + + + + + + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_anagate_win32/can_anagate_win32.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_anagate_win32/can_anagate_win32.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,28 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + + + Quelldateien + + + + + Quelldateien + + + + + Headerdateien + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_anagate_win32/can_anagate_win32.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_anagate_win32/can_anagate_win32.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_anagate_win32/can_anagate_win32.vcproj --- a/drivers/can_anagate_win32/can_anagate_win32.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_copcican_win32/can_copcican_win32.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_copcican_win32/can_copcican_win32.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,105 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D} + Win32Proj + can_copcican_win32 + can_copcican_win32 + + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + false + true + Unicode + + + + + + + + + + + + + true + + + false + + + + Use + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;CAN_COPCICAN_WIN32_EXPORTS;%(PreprocessorDefinitions) + $(SolutionDir)\include;$(SolutionDir)\include\win32;$(SolutionDir)\..\driver_windows\Cosateq_4Port_CAN_SDK\include;%(AdditionalIncludeDirectories) + + + Windows + true + $(SolutionDir)\..\driver_windows\Cosateq_4Port_CAN_SDK\lib\co_can_lib.lib;%(AdditionalDependencies) + can_copcican_win32.def + + + + + Level3 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;CAN_COPCICAN_WIN32_EXPORTS;%(PreprocessorDefinitions) + + + Windows + true + true + true + can_copcican_win32.def + + + + + + + + + + + + + + false + + + false + + + + + Create + Create + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_copcican_win32/can_copcican_win32.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_copcican_win32/can_copcican_win32.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + + Source Files + + + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_copcican_win32/can_copcican_win32.vcxproj --- a/drivers/can_copcican_win32/can_copcican_win32.vcxproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A18C416F-3CBB-4744-BA24-FA5C5F3CBE0D} - Win32Proj - can_copcican_win32 - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - true - Unicode - - - - - - - - - - - - - true - - - false - - - - Use - Level3 - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;CAN_COPCICAN_WIN32_EXPORTS;%(PreprocessorDefinitions) - $(SolutionDir)\include;$(SolutionDir)\include\win32;$(SolutionDir)\..\driver_windows\Cosateq_4Port_CAN_SDK\include;%(AdditionalIncludeDirectories) - - - Windows - true - $(SolutionDir)\..\driver_windows\Cosateq_4Port_CAN_SDK\lib\co_can_lib.lib;%(AdditionalDependencies) - can_copcican_win32.def - - - - - Level3 - Use - MaxSpeed - true - true - WIN32;NDEBUG;_WINDOWS;_USRDLL;CAN_COPCICAN_WIN32_EXPORTS;%(PreprocessorDefinitions) - - - Windows - true - true - true - can_copcican_win32.def - - - - - - - - - - - - - - false - - - false - - - - - Create - Create - - - - - - \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_copcican_win32/can_copcican_win32.vcxproj.filters --- a/drivers/can_copcican_win32/can_copcican_win32.vcxproj.filters Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - - Source Files - - - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_ixxat_win32/can_ixxat_win32.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_ixxat_win32/can_ixxat_win32.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,117 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + can_ixxat_win32 + {8F57E7FF-1B73-4134-A2B2-9C0EADB2AEFB} + can_ixxat_win32 + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + Debug\ + true + ../../Release\ + Release\ + false + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + vci11un6.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).dll + IXXAT.def + true + $(OutDir)$(ProjectName).pdb + Windows + false + + + $(OutDir)$(ProjectName).lib + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + vci11un6.lib;%(AdditionalDependencies) + $(OutDir)$(ProjectName).dll + IXXAT.def + true + Windows + true + true + false + + + $(OutDir)$(ProjectName).lib + MachineX86 + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_ixxat_win32/can_ixxat_win32.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_ixxat_win32/can_ixxat_win32.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,41 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_ixxat_win32/can_ixxat_win32.vc8.vcproj --- a/drivers/can_ixxat_win32/can_ixxat_win32.vc8.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_ixxat_win32/can_ixxat_win32.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_ixxat_win32/can_ixxat_win32.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_ixxat_win32/ixxat.cpp --- a/drivers/can_ixxat_win32/ixxat.cpp Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_ixxat_win32/ixxat.cpp Mon May 21 17:21:57 2012 +0200 @@ -70,8 +70,8 @@ bool send(const Message *m); bool receive(Message *m); private: - bool open(const char* board_name, int board_number, const char* baud_rate); - bool close(); + bool open(int board_number, const char* baud_rate); + bool close(); void receive_queuedata(UINT16 que_hdl, UINT16 count, VCI_CAN_OBJ* p_obj); // VCI2 handler static void VCI_CALLBACKATTR message_handler(char *msg_str); @@ -108,19 +108,20 @@ m_RxQueHdl(0xFFFF) { - char busname[100]; - ::strcpy(busname,board->busname); - char board_name[100]; - long board_number = 0; - char *ptr = ::strrchr(busname,':'); - if (ptr != 0) - { - *ptr = 0; - ::strcpy(board_name,busname); - if (++ptr - busname < (int)::strlen(board->busname)) - board_number = ::atoi(ptr); - } - if (!open(board_name,board_number,board->baudrate)) + if (!board) + { + close(); + throw error(); + } + + long board_number = 0; + + if (board->busname) + { + board_number = atol(board->busname); + } + + if (!open(board_number, board->baudrate)) { close(); throw error(); @@ -165,7 +166,7 @@ return false; } -bool IXXAT::open(const char* board_name, int board_number, const char* baud_rate) +bool IXXAT::open(int board_number, const char* baud_rate) { // check, if baudrate is supported struct IXXAT_baud_rate_param @@ -196,21 +197,26 @@ if (::strcmp(br_lut[index].baud_rate,baud_rate)==0) break; } - if (index == br_lut_size) + if (index == br_lut_size) + { + MSG_ERR_DRV("IXXAT::open: The given baudrate %S is invalid.", baud_rate); return false; + } // close existing board close(); // init IXXAT board - unsigned long board_type = VCI_GetBrdTypeByName(const_cast(board_name)); - long res = VCI2_PrepareBoard( board_type, // board type - board_number, // unique board index + long res = VCI2_PrepareBoard( 0, // board type, unused in VCI2 + board_number, // unique board index, see XAT_EnumHwEntry() and XAT_GetConfig() NULL, // pointer to buffer for additional info 0, // length of additional info buffer message_handler, // pointer to msg-callbackhandler receive_queuedata_handler, // pointer to receive-callbackhandler exception_handler); // pointer to exception-callbackhandler if (res < 0) + { + MSG_ERR_DRV("IXXAT::open: VCI2_PrepareBoard failed with code '%d'.", res); return false; + } m_BoardHdl = (UINT16)res; VCI_ResetBoard(m_BoardHdl); @@ -230,7 +236,7 @@ res = VCI_ConfigQueue(m_BoardHdl, CAN_NUM, VCI_RX_QUE, 500, 1, 0, 100, &m_RxQueHdl); // assign the all IDs to the Receive Queue - res = VCI_AssignRxQueObj(m_BoardHdl, m_RxQueHdl ,VCI_ACCEPT, 0, 0) ; + res = VCI_AssignRxQueObj(m_BoardHdl, m_RxQueHdl ,VCI_ACCEPT, 0, 0); // And now start the CAN res = VCI_StartCan(m_BoardHdl, CAN_NUM); @@ -267,9 +273,7 @@ void VCI_CALLBACKATTR IXXAT::message_handler(char *msg_str) { - char buf[200]; - ::sprintf(buf,"IXXAT Message: [%s]\n", msg_str); - ::OutputDebugString(buf); + MSG_ERR_DRV("IXXAT Message: [%S]", msg_str); } void VCI_CALLBACKATTR IXXAT::exception_handler(VCI_FUNC_NUM func_num, INT32 err_code, UINT16 ext_err, char* err_str) @@ -305,9 +309,8 @@ "VCI_UpdateBufObj", "VCI_CciReqData" }; - char buf[200]; - ::sprintf(buf, "IXXAT Exception: %s (%i / %u) [%s]\n", Num2Function[func_num], err_code, ext_err, err_str); - ::OutputDebugString(buf); + + MSG_ERR_DRV("IXXAT Exception: %S (%i / %u) [%S]", Num2Function[func_num], err_code, ext_err, err_str); } void IXXAT::watchdog() @@ -317,9 +320,7 @@ if (res < 0) { - char buf[200]; - ::sprintf(buf, "\nIXXAT canBusWatchdog: ERROR: Reading the can state failed!\n"); - ::OutputDebugString(buf); + MSG_ERR_DRV("IXXAT canBusWatchdog: ERROR: Reading the can state failed!"); } else { @@ -327,34 +328,34 @@ { if (sts.sts & STS_CAN_BUS_OFF) { - ::OutputDebugString("\nIXXAT canBusWatchdog: CAN bus off detected!\n"); + MSG_ERR_DRV("IXXAT canBusWatchdog: CAN bus off detected!"); } if (sts.sts & STS_CAN_DATA_OVERRUN) { - ::OutputDebugString("\nIXXAT canBusWatchdog: CAN data overrun detected!\n"); + MSG_ERR_DRV("IXXAT canBusWatchdog: CAN data overrun detected!"); } if (sts.sts & STS_REMOTE_QUEUE_OVERRUN) { - ::OutputDebugString("\nIXXAT canBusWatchdog: Remote queue overrun detected!\n"); + MSG_ERR_DRV("IXXAT canBusWatchdog: Remote queue overrun detected!"); } - if (VCI_ResetCan(m_BoardHdl, CAN_NUM) < 0) - { - ::OutputDebugString("\nIXXAT canBusWatchdog: ERROR: Resetting the can module failed!\n"); + res = VCI_ResetCan(m_BoardHdl, CAN_NUM); + if (res <= 0) + { + MSG_ERR_DRV("IXXAT canBusWatchdog: ERROR: Resetting the can module failed with code '%d'!", res); } - if (VCI_StartCan(m_BoardHdl, CAN_NUM) < 0) - { - ::OutputDebugString("\nIXXAT canBusWatchdog: ERROR: Restaring the can module failed!\n"); + res = VCI_StartCan(m_BoardHdl, CAN_NUM); + if (res <= 0) + { + MSG_ERR_DRV("IXXAT canBusWatchdog: ERROR: Restaring the can module failed with code '%d'!", res); } } } if (SetTimer(NULL, m_watchdogTimerId, IXXAT::CAN_BUS_WATCHDOG_INTERVAL_MSEC, IXXAT::canBusWatchdog) == 0) { - char buf[200]; - ::sprintf(buf, "\nIXXAT canBusWatchdog: ERROR: Creation of the watchdog timer failed!\n"); - ::OutputDebugString(buf); + MSG_ERR_DRV("IXXAT canBusWatchdog: ERROR: Creation of the watchdog timer failed!"); } } diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_multi_peeakwin32/can_multi_peak_win32.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_multi_peeakwin32/can_multi_peak_win32.c Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,461 @@ +/* + This file is part of CanFestival, a library implementing CanOpen Stack. + + Copyright (C): Jaroslav Fojtik +*/ + +#if defined(WIN32) && !defined(__CYGWIN__) +#define usleep(micro) Sleep(micro%1000 ? (micro/1000) + 1 : (micro/1000)) +#else +#include +#include +#include +#include +#endif + + +#include "cancfg.h" +#include "can_driver.h" +#include "def.h" + +UNS8 LIBAPI canSend_driver(CAN_HANDLE fd0, Message const *m); + + +#define VERSION_2 + +/* dummy implementation for older version. */ +#ifndef VERSION_2 +void CAN_SetRcvEvent(HANDLE hEventx) +{ + SetEvent(hEventx); +} +#endif + + +#define SLAVE_COUNT 10 +#define QueueSize 100 + + +#ifndef extra_PCAN_init_params + #define extra_PCAN_init_params /**/ +#else + long int print_getenv(const char* pcanparam) + { + char* param=NULL; + long int res=0; + + param = getenv(pcanparam); + if(param != NULL){ + res = strtol(param,NULL,0); + } + else + printf("Environment variable %s not defined !\n", pcanparam); + printf("Found environment variable %s : %ld\n", pcanparam ,res); + return res; + } + #define extra_PCAN_init_params\ + ,print_getenv("PCANHwType")\ + ,print_getenv("PCANIO_Port")\ + ,print_getenv("PCANInterupt") +#endif + + + +typedef struct +{ + s_BOARD *board; + Message MQueue[QueueSize]; + unsigned QStart, QEnd; + HANDLE hEventx; +} QueueRecord; + +int initialisedQ = 0; +QueueRecord Q_DATA[10]; + + +/** Store message into a queue. */ +static void PushMsgToQueue(QueueRecord *QR, Message *m) +{ + if(QR==NULL || m==NULL) return; + if(QR->board==NULL) return; // No Board assigned yet + memcpy(&QR->MQueue[QR->QStart], m, sizeof(Message)); + QR->QStart = (QR->QStart + 1) % QueueSize; + if(QR->QEnd==QR->QStart) QR->QEnd = (QR->QEnd+1) % QueueSize; + if(QR->hEventx) SetEvent(QR->hEventx); // Signalise internal flag +} + + +/** Get message from a queue. */ +static int PopMsgFromQueue(QueueRecord *QR, Message *m) +{ + if(QR==NULL || m==NULL) return 0; + if(QR->QEnd == QR->QStart) return 0; + + memcpy(m, &QR->MQueue[QR->QEnd], sizeof(Message)); + QR->QEnd = (QR->QEnd+1) % QueueSize; + return 1; +} + + +/** Create the Event for the first board */ +HANDLE hEvent1 = NULL; +CRITICAL_SECTION InitLock; + + +// Define for rtr CAN message +#define CAN_INIT_TYPE_ST_RTR MSGTYPE_STANDARD | MSGTYPE_RTR + + +/***************************************************************************/ +static int TranslateBaudeRate(char* optarg) +{ + if(!strcmp( optarg, "1M")) return CAN_BAUD_1M; + if(!strcmp( optarg, "500K")) return CAN_BAUD_500K; + if(!strcmp( optarg, "250K")) return CAN_BAUD_250K; + if(!strcmp( optarg, "125K")) return CAN_BAUD_125K; + if(!strcmp( optarg, "100K")) return CAN_BAUD_100K; + if(!strcmp( optarg, "50K")) return CAN_BAUD_50K; + if(!strcmp( optarg, "20K")) return CAN_BAUD_20K; + if(!strcmp( optarg, "10K")) return CAN_BAUD_10K; + if(!strcmp( optarg, "5K")) return CAN_BAUD_5K; + if(!strcmp( optarg, "none")) return 0; + return 0x0000; +} + + +static UNS8 canInit(s_BOARD *board) +{ +int baudrate; +int ret = 0; + + if(hEvent1==NULL) + { //Create the Event for the first board + hEvent1 = CreateEvent(NULL, // lpEventAttributes + FALSE, // bManualReset + FALSE, // bInitialState + ""); // lpName + InitializeCriticalSection(&InitLock); + } + + EnterCriticalSection(&InitLock); + + if(baudrate = TranslateBaudeRate(board->baudrate)) + { + ret = CAN_Init(baudrate, CAN_INIT_TYPE_ST extra_PCAN_init_params); + if(ret != CAN_ERR_OK) + { + LeaveCriticalSection(&InitLock); + return 0; + } + } + + CAN_SetRcvEvent(hEvent1); //Set Event Handler for CANReadExt + LeaveCriticalSection(&InitLock); + return 1; +} + + +/********* functions which permit to communicate with the board ****************/ +UNS8 LIBAPI canReceive_driver(CAN_HANDLE fd0, Message *m) +{ +static int HeavyCounter = 0; +int ret=0; +UNS8 data; +TPCANMsg peakMsg; +DWORD Res; +DWORD result; +HANDLE hh[2]; +int i; + +#ifdef CAN_READ_EX + TPCANTimestamp peakRcvTime; +#endif + + i = strtol(((s_BOARD *)fd0)->busname,NULL,0); + if(i>=SLAVE_COUNT || i<0) return 1; // error + if(Q_DATA[i].board!=(s_BOARD *)fd0) return 1; // error + + hh[0]=hEvent1; hh[1]=Q_DATA[i].hEventx; + + // loop until valid message or fatal error + do + { +CONTINUE: + if(PopMsgFromQueue(&Q_DATA[i],m)) return 0; //message is waiting in the internal queue + + // We read the queue looking for messages. +#ifdef VERSION_2 + result = WaitForMultipleObjects(2,hh,FALSE,15); + if(Q_DATA[i].board==NULL) return 1; //exit hook, exit immediatelly when device is closed + + if(result == WAIT_OBJECT_0+1) + goto CONTINUE; //look to a PopMsgFromQueue() (continue will check while(), goto skips it) + + if(result==WAIT_OBJECT_0 || result==WAIT_TIMEOUT) + { +#endif +#ifdef CAN_READ_EX + Res = CAN_ReadEx(&peakMsg, &peakRcvTime); +#else + Res = CAN_Read(&peakMsg); +#endif + // Exit receive thread when handle is no more valid +#ifdef CAN_ERRMASK_ILLHANDLE + if(Res & CAN_ERRMASK_ILLHANDLE) return 1; +#else + if(Res & CAN_ERR_ILLHANDLE) return 1; +#endif + +#ifndef VERSION_2 + if(Res != CAN_ERR_OK) + result = WaitForSingleObject(hEvent1, 1); //pooling for pcan release<2 +#endif + if(Res==CAN_ERR_QRCVEMPTY) goto CONTINUE; +#ifdef VERSION_2 + } + else + { + //if(result==WAIT_TIMEOUT || result==(WAIT_OBJECT_0+1)) + // Res = CAN_ERR_BUSLIGHT; + //else + Res = CAN_ERR_UNKNOWN; + } +#endif + + if(Res==CAN_ERR_BUSHEAVY) + { + if(HeavyCounter++>10) + { + HeavyCounter = 0; + Res=CAN_ERR_BUSOFF; + } + } + + if(Res & CAN_ERR_BUSOFF) + { + peakMsg.MSGTYPE = MSGTYPE_STATUS; + peakMsg.DATA[3] = CAN_ERR_BUSOFF; + Res = CAN_ERR_OK; + } + + // A message was received : we process the message(s) + if(Res == CAN_ERR_OK) + { + // if something different that 11bit or rtr... problem + switch(peakMsg.MSGTYPE) + { + case MSGTYPE_STATUS: + switch(peakMsg.DATA[3]) + { + case CAN_ERR_BUSHEAVY: + break; + case CAN_ERR_BUSOFF: + printf ("Peak board read BUSOFF: re-init!!!\n"); + canInit((s_BOARD*)fd0); + usleep(2000); + break; + } + return peakMsg.DATA[3]; /* if something different that 11bit or rtr... problem */ + + case MSGTYPE_STANDARD: /* bits of MSGTYPE_ */ + case MSGTYPE_EXTENDED: + m->rtr = 0; + break; + + case MSGTYPE_RTR: /* bits of MSGTYPE_ */ + m->rtr = 1; + break; + + default: return CAN_ERR_OVERRUN; /* If status, return status if 29bit, return overrun. */ + + } + + m->cob_id = peakMsg.ID; + + if (peakMsg.MSGTYPE == CAN_INIT_TYPE_ST) /* bits of MSGTYPE_ */ + m->rtr = 0; + else + m->rtr = 1; + m->len = peakMsg.LEN; /* count of data bytes (0..8) */ + for(data=0; dataData[data] = peakMsg.DATA[data]; /* data bytes, up to 8 */ +#if defined DEBUG_MSG_CONSOLE_ON + MSG("in : "); + print_message(m); +#endif + } + else + { // not benign error => fatal error + if(!(Res & CAN_ERR_QRCVEMPTY + || Res & CAN_ERR_BUSLIGHT + || Res & CAN_ERR_BUSHEAVY)) + { + printf ("canReceive returned error (%d)\n", Res); + return 1; + } + } + } while(Res != CAN_ERR_OK); + + + // populate message received to other drivers + for(i=0; icob_id; /* 11/29 bit code */ + if(m->rtr == 0) + { + if(peakMsg.ID > 0x7FF) + peakMsg.MSGTYPE = MSGTYPE_EXTENDED; /* bits of MSGTYPE_ */ + else + peakMsg.MSGTYPE = MSGTYPE_STANDARD; /* bits of MSGTYPE_ */ + } + else + peakMsg.MSGTYPE = MSGTYPE_RTR; /* bits of MSGTYPE_ */ + + peakMsg.LEN = m->len; + /* count of data bytes (0..8) */ + for(data = 0; data < m->len; data++) + peakMsg.DATA[data] = m->Data[data]; /* data bytes, up to 8 */ + + do + { + errno = loc_errno = CAN_Write(&peakMsg); + + if(loc_errno) + { + if(loc_errno==CAN_ERR_BUSOFF && (MaxLoops%20)==1) + { +#if defined DEBUG_MSG_CONSOLE_ON + printf ("Peak board write: re-init!!!\n"); +#endif + canInit((s_BOARD*)fd0); + usleep(1000); + } + usleep(80); + } + if(MaxLoops-- == 0) break; // limit max looping + } while(loc_errno != CAN_ERR_OK); + +#if defined DEBUG_MSG_CONSOLE_ON + MSG("out : "); + print_message(m); +#endif + return 0; +} + + +/***************************************************************************/ +UNS8 LIBAPI canChangeBaudRate_driver(CAN_HANDLE fd, char* baud) +{ + printf("canChangeBaudRate not yet supported by this driver\n"); + return 0; +} + + +/***************************************************************************/ +LIBPUBLIC CAN_HANDLE LIBAPI canOpen_driver(s_BOARD * board) +{ +int ret; +int i; + + if(!initialisedQ) + { + memset(Q_DATA,0,sizeof(Q_DATA)); + initialisedQ = 1; + } + + i = strtol(board->busname,NULL,0); // Get slot name + //printf ("Board Busname=%d.\n",strtol(board->busname, &pEnd,0)); + if(i=0) + { + Q_DATA[i].board = board; + //printf ("First Board selected\n"); + if(Q_DATA[i].hEventx==NULL) // Create local event + { + Q_DATA[i].hEventx = CreateEvent(NULL, FALSE, FALSE, ""); + } + + if(hEvent1!=NULL) return (CAN_HANDLE)board; // Create global event, if needed + + ret = canInit(board); + if(ret) + return (CAN_HANDLE)board; + } + + return NULL; +} + + +/***************************************************************************/ +int LIBAPI canClose_driver(CAN_HANDLE fd0) +{ +s_BOARD *x_board = NULL; +int ActiveBoards = 0; +int i; + + if((s_BOARD *)fd0==NULL) return 0; + for(i=0; i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_multi_peeakwin32/cancfg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_multi_peeakwin32/cancfg.h Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,56 @@ +/* +This file is part of CanFestival, a library implementing CanOpen Stack. + +Copyright (C): Jaroslav Fojtik + +See COPYING file for copyrights details. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef __CANCFG_H__ +#define __CANCFG_H__ + + +#if defined(__CYGWIN__) +#include +#else +#include +#endif + +// Following part of the file is copied by configure script +// from choosen PcanLight header file +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- + +#ifdef PCAN2_HEADER_ + #include "pcan_2usb.h" + #define CAN_Init(wBTR0BTR1,Type) CAN2_Init(wBTR0BTR1,Type) + #define CAN_Close() CAN2_Close() + #define CAN_Status() CAN2_Status() + #define CAN_Write(PCANMsg) CAN2_Write(PCANMsg) + #define CAN_Read(PCANMsg) CAN2_Read(PCANMsg) + #define CAN_VersionInfo(lpszTextBuff) CAN2_VersionInfo(lpszTextBuff) + #define CAN_ResetClient() CAN2_ResetClient() + #define CAN_MsgFilter(FromID,ToID,Type) CAN2_MsgFilter(FromID,ToID,Type) + #define CAN_ReadEx(pMsgBuff,pRcvTime) CAN2_ReadEx(pMsgBuff,pRcvTime) + #define CAN_SetRcvEvent(hEvent) CAN2_SetRcvEvent(hEvent) +#else + #include "pcan_usb.h" +#endif + + +#endif \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.c --- a/drivers/can_peak_win32/can_peak_win32.c Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_peak_win32/can_peak_win32.c Mon May 21 17:21:57 2012 +0200 @@ -2,6 +2,7 @@ This file is part of CanFestival, a library implementing CanOpen Stack. Copyright (C): Edouard TISSERANT and Francis DUPIN +Modified by: Jaroslav Fojtik See COPYING file for copyrights details. @@ -32,6 +33,21 @@ #include "cancfg.h" #include "can_driver.h" #include "def.h" + + +#define VERSION_2 + +/* dummy implementation for older version. */ +#ifndef VERSION_2 +void CAN_SetRcvEvent(HANDLE hEventx) +{ + SetEvent(hEventx); +} +#endif + + + + #ifndef extra_PCAN_init_params #define extra_PCAN_init_params /**/ #else @@ -55,22 +71,25 @@ ,print_getenv("PCANInterupt") #endif + static s_BOARD *first_board = NULL; - //Create the Event for the first board HANDLE hEvent1 = NULL; +CRITICAL_SECTION InitLock1; +CRITICAL_SECTION InitLock2; #ifdef PCAN2_HEADER_ - static s_BOARD *second_board = NULL; - HANDLE hEvent2 = NULL; + static s_BOARD *second_board = NULL; + HANDLE hEvent2 = NULL; #endif // Define for rtr CAN message #define CAN_INIT_TYPE_ST_RTR MSGTYPE_STANDARD | MSGTYPE_RTR /***************************************************************************/ -int TranslateBaudeRate(char* optarg){ +static int TranslateBaudeRate(char* optarg) +{ if(!strcmp( optarg, "1M")) return CAN_BAUD_1M; if(!strcmp( optarg, "500K")) return CAN_BAUD_500K; if(!strcmp( optarg, "250K")) return CAN_BAUD_250K; @@ -84,7 +103,7 @@ return 0x0000; } -UNS8 canInit (s_BOARD *board) +static UNS8 canInit (s_BOARD *board) { int baudrate; int ret = 0; @@ -92,52 +111,69 @@ #ifdef PCAN2_HEADER_ // if not the first handler if(second_board == (s_BOARD *)board) { + if(hEvent2==NULL) + { /* Create the Event for the first board */ + hEvent2 = CreateEvent(NULL, // lpEventAttributes + FALSE, // bManualReset + FALSE, // bInitialState + ""); // lpName + InitializeCriticalSection(&InitLock2); + } + + EnterCriticalSection(&InitLock2); if(baudrate = TranslateBaudeRate(board->baudrate)) { - ret = CAN2_Init(baudrate, CAN_INIT_TYPE_ST extra_PCAN_init_params); - if(ret != CAN_ERR_OK) - return 0; - } - - //Create the Event for the first board - if(hEvent2 != NULL){ - hEvent2 = CreateEvent(NULL, // lpEventAttributes - FALSE, // bManualReset - FALSE, // bInitialState - ""); // lpName + ret = CAN2_Init(baudrate, CAN_INIT_TYPE_ST extra_PCAN_init_params); + if(ret != CAN_ERR_OK) + { + LeaveCriticalSection(&InitLock2); + return 0; + } } //Set Event Handle for CANReadExt CAN2_SetRcvEvent(hEvent2); + LeaveCriticalSection(&InitLock2); } else #endif if(first_board == (s_BOARD *)board) { + //Create the Event for the first board + if(hEvent1==NULL) + { + hEvent1 = CreateEvent(NULL, // lpEventAttributes + FALSE, // bManualReset + FALSE, // bInitialState + ""); // lpName + InitializeCriticalSection(&InitLock1); + } + + EnterCriticalSection(&InitLock1); if(baudrate = TranslateBaudeRate(board->baudrate)) { - ret = CAN_Init(baudrate, CAN_INIT_TYPE_ST extra_PCAN_init_params); - if(ret != CAN_ERR_OK) - return 0; - } - //Create the Event for the first board - if(hEvent1 != NULL){ - hEvent1 = CreateEvent(NULL, // lpEventAttributes - FALSE, // bManualReset - FALSE, // bInitialState - ""); // lpName + ret = CAN_Init(baudrate, CAN_INIT_TYPE_ST extra_PCAN_init_params); + if(ret != CAN_ERR_OK) + { + LeaveCriticalSection(&InitLock1); + return 0; + } } //Set Event Handle for CANReadExt CAN_SetRcvEvent(hEvent1); + LeaveCriticalSection(&InitLock1); } return 1; } /********* functions which permit to communicate with the board ****************/ -UNS8 __stdcall canReceive_driver (CAN_HANDLE fd0, Message * m) -{ +UNS8 LIBAPI canReceive_driver(CAN_HANDLE fd0, Message * m) +{ +static int HeavyCounter = 0; int ret=0; UNS8 data; TPCANMsg peakMsg; +#ifdef CAN_READ_EX TPCANTimestamp peakRcvTime; +#endif DWORD Res; DWORD result; // loop until valid message or fatal error @@ -150,52 +186,82 @@ if (result == WAIT_OBJECT_0) Res = CAN2_ReadEx(&peakMsg, &peakRcvTime); // Exit receive thread when handle is no more valid - if(Res & CAN_ERR_ILLHANDLE) + if(Res & CAN_ERRMASK_ILLHANDLE) return 1; } else #endif // We read the queue looking for messages. - if(first_board == (s_BOARD *)fd0) { + if(first_board == (s_BOARD *)fd0) + { +#ifdef VERSION_2 result = WaitForSingleObject(hEvent1, INFINITE); if (result == WAIT_OBJECT_0) +#endif { +#ifdef CAN_READ_EX Res = CAN_ReadEx(&peakMsg, &peakRcvTime); +#else + Res = CAN_Read(&peakMsg); +#endif // Exit receive thread when handle is no more valid - if(Res & CAN_ERR_ILLHANDLE) - return 1; +#ifdef CAN_ERRMASK_ILLHANDLE + if(Res & CAN_ERRMASK_ILLHANDLE) return 1; +#else + if(Res & CAN_ERR_ILLHANDLE) return 1; +#endif + +#ifndef VERSION_2 + if(Res != CAN_ERR_OK) + result = WaitForSingleObject(hEvent1, 1); //pooling +#endif } } +#ifdef VERSION_2 else Res = CAN_ERR_BUSOFF; - +#endif + // A message was received : we process the message(s) - if (Res == CAN_ERR_OK) - { - // if something different that 11bit or rtr... problem - if (peakMsg.MSGTYPE & ~(MSGTYPE_STANDARD | MSGTYPE_RTR)) - { - if (peakMsg.MSGTYPE == CAN_ERR_BUSOFF) - { - printf ("!!! Peak board read : re-init\n"); - canInit((s_BOARD*) fd0); - usleep (10000); - } - - // If status, return status if 29bit, return overrun - return peakMsg.MSGTYPE == - MSGTYPE_STATUS ? peakMsg.DATA[2] : CAN_ERR_OVERRUN; - } - m->cob_id = peakMsg.ID; - - if (peakMsg.MSGTYPE == CAN_INIT_TYPE_ST) /* bits of MSGTYPE_ */ - m->rtr = 0; - else - m->rtr = 1; - m->len = peakMsg.LEN; /* count of data bytes (0..8) */ - for (data = 0; data < peakMsg.LEN; data++) - m->data[data] = peakMsg.DATA[data]; /* data bytes, up to 8 */ + if(Res == CAN_ERR_OK) + { + switch(peakMsg.MSGTYPE) + { + case MSGTYPE_STATUS: + switch(peakMsg.DATA[3]) + { + case CAN_ERR_BUSHEAVY: + break; + case CAN_ERR_BUSOFF: + printf ("Peak board read BUSOFF: re-init!!!\n"); + canInit((s_BOARD*)fd0); + usleep(33); + break; + } + return peakMsg.DATA[3]; /* if something different that 11bit or rtr... problem */ + + case MSGTYPE_STANDARD: /* bits of MSGTYPE_ */ + case MSGTYPE_EXTENDED: + m->rtr = 0; + break; + + case MSGTYPE_RTR: /* bits of MSGTYPE_ */ + m->rtr = 1; + break; + + default: return CAN_ERR_OVERRUN; /* If status, return status if 29bit, return overrun. */ + + } + + m->cob_id = peakMsg.ID; + if (peakMsg.MSGTYPE == CAN_INIT_TYPE_ST) /* bits of MSGTYPE_ */ + m->rtr = 0; + else + m->rtr = 1; + m->len = peakMsg.LEN; /* count of data bytes (0..8) */ + for (data = 0; data < peakMsg.LEN; data++) + m->Data[data] = peakMsg.DATA[data]; /* data bytes, up to 8 */ #if defined DEBUG_MSG_CONSOLE_ON MSG("in : "); print_message(m); @@ -212,27 +278,30 @@ return 1; } } - }while(Res != CAN_ERR_OK); + } while(Res != CAN_ERR_OK); return 0; } /***************************************************************************/ -UNS8 __stdcall canSend_driver (CAN_HANDLE fd0, Message const * m) +UNS8 LIBAPI canSend_driver(CAN_HANDLE fd0, Message const *m) { UNS8 data; - DWORD localerrno; TPCANMsg peakMsg; peakMsg.ID = m->cob_id; /* 11/29 bit code */ if (m->rtr == 0) - peakMsg.MSGTYPE = CAN_INIT_TYPE_ST; /* bits of MSGTYPE_ */ - else { - peakMsg.MSGTYPE = CAN_INIT_TYPE_ST_RTR; /* bits of MSGTYPE_ */ - } + if(peakMsg.ID > 0x7FF) + peakMsg.MSGTYPE = MSGTYPE_EXTENDED; /* bits of MSGTYPE_ */ + else + peakMsg.MSGTYPE = MSGTYPE_STANDARD; /* bits of MSGTYPE_ */ + } + else + peakMsg.MSGTYPE = MSGTYPE_RTR; /* bits of MSGTYPE_ */ + peakMsg.LEN = m->len; /* count of data bytes (0..8) */ for (data = 0; data < m->len; data++) - peakMsg.DATA[data] = m->data[data]; /* data bytes, up to 8 */ + peakMsg.DATA[data] = m->Data[data]; /* data bytes, up to 8 */ do { @@ -240,19 +309,19 @@ // if not the first handler if(second_board == (s_BOARD *)fd0) { - errno = localerrno = CAN2_Write (&peakMsg); + errno = CAN2_Write (&peakMsg); } else #endif if(first_board == (s_BOARD *)fd0) { - errno = localerrno = CAN_Write (&peakMsg); + errno = CAN_Write (&peakMsg); } else goto fail; - if (localerrno) - { - if (localerrno == CAN_ERR_BUSOFF) + if (errno) + { + if (errno == CAN_ERR_BUSOFF) { printf ("!!! Peak board write : re-init\n"); canInit((s_BOARD*)fd0); @@ -261,7 +330,7 @@ usleep (1000); } } - while (localerrno != CAN_ERR_OK); + while (errno != CAN_ERR_OK); #if defined DEBUG_MSG_CONSOLE_ON MSG("out : "); print_message(m); @@ -272,16 +341,15 @@ } /***************************************************************************/ -UNS8 __stdcall canChangeBaudRate_driver( CAN_HANDLE fd, char* baud) +UNS8 LIBAPI canChangeBaudRate_driver(CAN_HANDLE fd, char* baud) { printf("canChangeBaudRate not yet supported by this driver\n"); return 0; } /***************************************************************************/ -CAN_HANDLE __stdcall canOpen_driver (s_BOARD * board) -{ - char busname[64]; +LIBPUBLIC CAN_HANDLE LIBAPI canOpen_driver(s_BOARD * board) +{ char* pEnd; int ret; @@ -307,35 +375,36 @@ return NULL; } + /***************************************************************************/ -int __stdcall canClose_driver (CAN_HANDLE fd0) +int LIBAPI canClose_driver(CAN_HANDLE fd0) { #ifdef PCAN2_HEADER_ - // if not the first handler - if(second_board == (s_BOARD *)fd0) - { - CAN2_SetRcvEvent(NULL); - CAN2_Close (); - if(hEvent2) - { - SetEvent(hEvent2); - CloseHandle(hEvent2); - hEvent2 = NULL; - } - second_board = (s_BOARD *)NULL; - }else -#endif - if(first_board == (s_BOARD *)fd0) - { - CAN_SetRcvEvent(NULL); - CAN_Close (); - if(hEvent1) - { - SetEvent(hEvent1); - CloseHandle(hEvent1); - hEvent1 = NULL; - } - first_board = (s_BOARD *)NULL; - } - return 0; -} + // if not the first handler + if(second_board == (s_BOARD *)fd0) + { + CAN2_SetRcvEvent(NULL); + CAN2_Close (); + if(hEvent2) + { + SetEvent(hEvent2); + CloseHandle(hEvent2); + hEvent2 = NULL; + } + second_board = (s_BOARD *)NULL; + }else +#endif + if(first_board == (s_BOARD *)fd0) + { + CAN_SetRcvEvent(NULL); + CAN_Close (); + if(hEvent1) + { + SetEvent(hEvent1); + CloseHandle(hEvent1); + hEvent1 = NULL; + } + first_board = (s_BOARD *)NULL; + } + return 0; +} diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.def --- a/drivers/can_peak_win32/can_peak_win32.def Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_peak_win32/can_peak_win32.def Mon May 21 17:21:57 2012 +0200 @@ -4,4 +4,5 @@ canReceive_driver canSend_driver canOpen_driver - canClose_driver \ No newline at end of file + canClose_driver + canChangeBaudRate_driver \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_peak_win32/can_peak_win32.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,194 @@ + + + + + Debug UNICODE + Win32 + + + Debug + Win32 + + + Release UNICODE + Win32 + + + Release + Win32 + + + + can_peak_win32 + {732EC5B6-C6F1-4783-9BC8-924FFF67BF5A} + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + $(Configuration)\ + true + ../../Release\ + $(Configuration)\ + false + ../../Release UNICODE\ + $(Configuration)\ + false + ../../Debug UNICODE\ + $(Configuration)\ + true + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CANpeak_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + $(OutDir)can_peak_win32.dll + can_peak_win32.def + true + $(OutDir)can_peak_win32.pdb + Windows + false + + + $(OutDir)can_peak_win32.lib + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CANpeak_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + $(OutDir)can_peak_win32.dll + can_peak_win32.def + true + Windows + true + true + false + + + $(OutDir)can_peak_win32.lib + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CANpeak_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + $(OutDir)can_peak_win32.dll + can_peak_win32.def + true + Windows + true + true + false + + + $(OutDir)can_peak_win32.lib + MachineX86 + + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CANpeak_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + $(OutDir)can_peak_win32.dll + can_peak_win32.def + true + $(OutDir)can_peak_win32.pdb + Windows + false + + + $(OutDir)can_peak_win32.lib + MachineX86 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_peak_win32/can_peak_win32.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,36 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + + + Source Files + + + + + Header Files + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_peak_win32/can_peak_win32.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,383 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/can_peak_win32.vcproj --- a/drivers/can_peak_win32/can_peak_win32.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,383 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_peak_win32/cancfg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_peak_win32/cancfg.h Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,56 @@ +/* +This file is part of CanFestival, a library implementing CanOpen Stack. + +Copyright (C): Edouard TISSERANT and Francis DUPIN +Modified by: Jaroslav Fojtik + +See COPYING file for copyrights details. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef __CANCFG_H__ +#define __CANCFG_H__ + + +#if defined(__CYGWIN__) +#include +#else +#include +#endif + +// Following part of the file is copied by configure script +// from choosen PcanLight header file +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- +//------------------------------------------------------------------------------- + +#ifdef PCAN2_HEADER_ + #include "pcan_2usb.h" + #define CAN_Init(wBTR0BTR1,Type) CAN2_Init(wBTR0BTR1,Type) + #define CAN_Close() CAN2_Close() + #define CAN_Status() CAN2_Status() + #define CAN_Write(PCANMsg) CAN2_Write(PCANMsg) + #define CAN_Read(PCANMsg) CAN2_Read(PCANMsg) + #define CAN_VersionInfo(lpszTextBuff) CAN2_VersionInfo(lpszTextBuff) + #define CAN_ResetClient() CAN2_ResetClient() + #define CAN_MsgFilter(FromID,ToID,Type) CAN2_MsgFilter(FromID,ToID,Type) + #define CAN_ReadEx(pMsgBuff,pRcvTime) CAN2_ReadEx(pMsgBuff,pRcvTime) + #define CAN_SetRcvEvent(hEvent) CAN2_SetRcvEvent(hEvent) +#else + #include "pcan_usb.h" +#endif + +#endif \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_uvccm_win32/can_uvccm_win32.cpp --- a/drivers/can_uvccm_win32/can_uvccm_win32.cpp Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_uvccm_win32/can_uvccm_win32.cpp Mon May 21 17:21:57 2012 +0200 @@ -317,19 +317,19 @@ //------------------------------------------------------------------------ extern "C" - UNS8 canReceive_driver(CAN_HANDLE fd0, Message *m) + UNS8 __stdcall canReceive_driver(CAN_HANDLE fd0, Message *m) { return (UNS8)(!(reinterpret_cast(fd0)->receive(m))); } extern "C" - UNS8 canSend_driver(CAN_HANDLE fd0, Message const *m) + UNS8 __stdcall canSend_driver(CAN_HANDLE fd0, Message const *m) { return (UNS8)reinterpret_cast(fd0)->send(m); } extern "C" - CAN_HANDLE canOpen_driver(s_BOARD *board) + CAN_HANDLE __stdcall canOpen_driver(s_BOARD *board) { try { @@ -342,14 +342,14 @@ } extern "C" - int canClose_driver(CAN_HANDLE inst) + int __stdcall canClose_driver(CAN_HANDLE inst) { delete reinterpret_cast(inst); return 1; } extern "C" - UNS8 canChangeBaudRate_driver( CAN_HANDLE fd, char* baud) + UNS8 __stdcall canChangeBaudRate_driver( CAN_HANDLE fd, char* baud) { return 0; } diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_uvccm_win32/can_uvccm_win32.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_uvccm_win32/can_uvccm_win32.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,107 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + can_uvccm_win32 + {39E3300A-29B4-4AA7-AF62-3B181FC26155} + Win32Proj + + + + DynamicLibrary + MultiByte + + + DynamicLibrary + MultiByte + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + $(Configuration)\ + true + ../../Release\ + $(Configuration)\ + false + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;CANUVCCM_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + $(OutDir)can_uvccm_win32.dll + can_uvccm_win32.def + true + $(OutDir)can_uvccm_win32.pdb + Windows + false + + + $(OutDir)can_uvccm_win32.lib + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;CANUVCCM_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + $(OutDir)can_uvccm_win32.dll + can_uvccm_win32.def + true + Windows + true + true + false + + + $(OutDir)can_uvccm_win32.lib + MachineX86 + + + + + + + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_uvccm_win32/can_uvccm_win32.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_uvccm_win32/can_uvccm_win32.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + + + Source Files + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_uvccm_win32/can_uvccm_win32.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_uvccm_win32/can_uvccm_win32.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_uvccm_win32/can_uvccm_win32.vcproj --- a/drivers/can_uvccm_win32/can_uvccm_win32.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,371 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/can_vscom/Makefile.in --- a/drivers/can_vscom/Makefile.in Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/can_vscom/Makefile.in Mon May 21 17:21:57 2012 +0200 @@ -31,7 +31,7 @@ CAN_DRIVER = SUB_CAN_DRIVER TIMERS_DRIVER = SUB_TIMERS_DRIVER ENABLE_DLL_DRIVERS=SUB_ENABLE_DLL_DRIVERS -CAN_DLL_CFLAGS=SUB_CAN_DLL_CFLAGS -L. +CAN_DLL_CFLAGS=SUB_CAN_DLL_CFLAGS VSCAN_API_FILENAME=VSCAN_API_latest.zip # define target specific environment @@ -68,8 +68,7 @@ vs_can_api.h: wget http://www.vscom.de/download/multiio/linux/driver/${VSCAN_API_FILENAME} @if which unzip &> /dev/null; then \ - unzip ${VSCAN_API_FILENAME}; \ - chmod +x vs_can_api.dll; \ + unzip -o ${VSCAN_API_FILENAME}; \ else \ echo "No unzip found. Please decompress ${VSCAN_API_FILENAME} manually"; \ exit 1; \ @@ -86,7 +85,7 @@ install: libcanfestival_$(CAN_DRIVER).so mkdir -p $(PREFIX)/lib/ cp $< $(PREFIX)/lib/ - + uninstall: rm -f $(TARGET_SOFILES) diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/timers_win32/timers_win32.c --- a/drivers/timers_win32/timers_win32.c Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/timers_win32/timers_win32.c Mon May 21 17:21:57 2012 +0200 @@ -38,14 +38,14 @@ }; #endif -struct _timeb timebuffer; +DWORD timebuffer; /* Synchronization Object Implementation */ CRITICAL_SECTION CanFestival_mutex; HANDLE timer_thread = NULL; HANDLE timer = NULL; -int stop_timer=0; +volatile int stop_timer=0; static TimerCallback_t init_callback; @@ -90,8 +90,8 @@ WaitForSingleObject(timer, INFINITE); if(stop_timer) break; - _ftime(&timebuffer); EnterMutex(); + timebuffer = GetTickCount(); TimeDispatch(); LeaveMutex(); } @@ -112,7 +112,7 @@ } // Take first absolute time ref in milliseconds. - _ftime(&timebuffer); + timebuffer = GetTickCount(); } void TimerCleanup(void) @@ -158,7 +158,7 @@ LARGE_INTEGER liDueTime; /* arg 2 of SetWaitableTimer take 100 ns interval */ - liDueTime.QuadPart = (-1 * value); + liDueTime.QuadPart = ((long long) (-1) * value * 10000); //printf("SetTimer(%llu)\n", value); if (!SetWaitableTimer(timer, &liDueTime, 0, NULL, NULL, FALSE)) @@ -171,8 +171,7 @@ /* Get the elapsed time since the last occured alarm */ TIMEVAL getElapsedTime(void) { - struct _timeb timetmp; - _ftime(&timetmp); - return (timetmp.time - timebuffer.time) * 10000000 + (timetmp.millitm - timebuffer.millitm) * 10000; + DWORD timetmp = GetTickCount(); + return (timetmp - timebuffer); } diff -r 0b33d9cdbdeb -r 438a979fda5d drivers/win32/win32.c --- a/drivers/win32/win32.c Tue Mar 27 15:29:57 2012 +0200 +++ b/drivers/win32/win32.c Mon May 21 17:21:57 2012 +0200 @@ -3,6 +3,7 @@ Copyright (C): Edouard TISSERANT and Francis DUPIN Copyright (C) Win32 Port Leonid Tochinski +Modified by: Jaroslav Fojtik See COPYING file for copyrights details. @@ -118,6 +119,17 @@ m_canOpen = (CANOPEN_DRIVER_PROC)GetProcAddress(handle, myTEXT("canOpen_driver")); m_canClose = (CANCLOSE_DRIVER_PROC)GetProcAddress(handle, myTEXT("canClose_driver")); m_canChangeBaudRate = (CANCHANGEBAUDRATE_DRIVER_PROC)GetProcAddress(handle, myTEXT("canChangeBaudRate_driver")); + + if(m_canReceive==NULL || m_canSend==NULL || m_canOpen==NULL || m_canClose==NULL || m_canChangeBaudRate==NULL) + { + m_canReceive = NULL; + m_canSend = NULL; + m_canOpen = NULL; + m_canClose = NULL; + m_canChangeBaudRate = NULL; + FreeLibrary(handle); + handle = NULL; + } #else //compiled in... handle = 1; //TODO: remove this hack @@ -136,32 +148,39 @@ /***************************************************************************/ UNS8 canSend(CAN_PORT port, Message *m) { - UNS8 res = 1; //NOT OK if (port && (m_canSend != NULL)) { - res = m_canSend(((CANPort*)port)->fd, m); - } - return res; -} - -/***************************************************************************/ -void canReceiveLoop(CAN_PORT port) + return m_canSend(((CANPort*)port)->fd, m); + } + return 1; /* NOT OK */ +} + +/***************************************************************************/ +DWORD canReceiveLoop(CAN_PORT port) { Message m; while(((CANPort*)port)->used) { - if(m_canReceive(((CANPort*)port)->fd, &m) != 0) break; + if(m_canReceive(((CANPort*)port)->fd, &m) != 0) continue; EnterMutex(); canDispatch(((CANPort*)port)->d, &m); LeaveMutex(); } + return 0; } /***************************************************************************/ CAN_HANDLE canOpen(s_BOARD *board, CO_Data * d) { int i; - CAN_HANDLE fd0; + CAN_HANDLE fd0; + + + /* Fix of multiple opening one data set, added by J.Fojtik. */ + if(d->canHandle) + { + canClose(d); + } for(i=0; i < MAX_NB_CAN_PORTS; i++) { @@ -189,7 +208,7 @@ } else { - MSG(("CanOpen : Cannot open board {busname='%s',baudrate='%s'}\n",board->busname, board->baudrate)); + MSG("CanOpen : Cannot open board {busname='%S',baudrate='%S'}\n",board->busname, board->baudrate); return NULL; } } @@ -197,28 +216,27 @@ /***************************************************************************/ int canClose(CO_Data * d) { - UNS8 res = 1; + UNS8 res; CANPort* tmp; - if((CANPort*)d->canHandle) - { - ((CANPort*)d->canHandle)->used = 0; - } - tmp = (CANPort*)d->canHandle; if(tmp) { - // kill receiver task before port is closed and handle set to NULL + d->canHandle = NULL; + + // close CAN port + res = m_canClose(tmp->fd); + + // kill receiver task WaitReceiveTaskEnd(&tmp->receiveTask); - // close CAN port - res = m_canClose(tmp->fd); - } - - d->canHandle = NULL; - - return res; + // release used flag as a last step. + tmp->used = 0; + } + else res = 255; + +return res; } UNS8 canChangeBaudRate(CAN_PORT port, char* baud) diff -r 0b33d9cdbdeb -r 438a979fda5d examples/AVR/Slave/Makefile --- a/examples/AVR/Slave/Makefile Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/AVR/Slave/Makefile Mon May 21 17:21:57 2012 +0200 @@ -6,7 +6,7 @@ PROJECT = SlaveAVR MCU = at90can128 TARGET = AVR -CC = avr-gcc.exe +CC = avr-gcc SRC = ../../../src DRV = ../../../drivers/AVR @@ -35,7 +35,7 @@ HEX_EEPROM_FLAGS += --change-section-lma .eeprom=0 --no-change-warnings ## Include Directories -INCLUDES = -I../../../include -I../../../include/AVR +INCLUDES = -I../../../include/AVR -I../../../include ## Objects that must be built in order to link OBJECTS = $(DRV)/can_AVR.o\ diff -r 0b33d9cdbdeb -r 438a979fda5d examples/AVR/Slave/ds401.h --- a/examples/AVR/Slave/ds401.h Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/AVR/Slave/ds401.h Mon May 21 17:21:57 2012 +0200 @@ -28,7 +28,7 @@ // Includes for the Canfestival #include "canfestival.h" #include "timer.h" -#include "objdict.h" +#include "ObjDict.h" unsigned char digital_input_handler(CO_Data* d, unsigned char *newInput, unsigned char size); diff -r 0b33d9cdbdeb -r 438a979fda5d examples/AVR/Slave/main.c --- a/examples/AVR/Slave/main.c Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/AVR/Slave/main.c Mon May 21 17:21:57 2012 +0200 @@ -32,10 +32,9 @@ #include "hardware.h" #include "canfestival.h" #include "can_AVR.h" -#include "objdict.h" +#include "ObjDict.h" #include "ds401.h" - unsigned char timer_interrupt = 0; // Set if timer interrupt eclapsed unsigned char inputs; diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShell.sln --- a/examples/CANOpenShell/CANOpenShell.sln Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CANOpenShell", "CANOpenShell.vcproj", "{06B3C378-9EE4-4C56-A519-775FF499DAB5}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.ActiveCfg = Debug|Win32 - {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Debug|Win32.Build.0 = Debug|Win32 - {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.ActiveCfg = Release|Win32 - {06B3C378-9EE4-4C56-A519-775FF499DAB5}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShell.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShell.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,110 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + CANOpenShell + {06B3C378-9EE4-4C56-A519-775FF499DAB5} + CANOpenShell + Win32Proj + + + + Application + Unicode + true + + + Application + Unicode + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + + Disabled + ..\..\include;..\..\include\win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + false + Console + MachineX86 + + + + + MaxSpeed + true + ..\..\include;..\..\include\win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + Level3 + ProgramDatabase + + + true + Console + true + true + MachineX86 + + + + + + + + + + + + + + + + + + {50ef2507-9b87-4525-8b19-80eb42e67079} + false + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShell.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShell.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,42 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShell.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShell.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShell.vcproj --- a/examples/CANOpenShell/CANOpenShell.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,219 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShellMasterOD.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShellMasterOD.c Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,2098 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "CANOpenShellMasterOD.h" + +/**************************************************************************/ +/* Declaration of mapped variables */ +/**************************************************************************/ + +/**************************************************************************/ +/* Declaration of value range types */ +/**************************************************************************/ + +#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */ +UNS32 CANOpenShellMasterOD_valueRangeTest (UNS8 typeValue, void * value) +{ + switch (typeValue) { + case valueRange_EMC: + if (*(UNS8*)value != (UNS8)0) return OD_VALUE_RANGE_EXCEEDED; + break; + } + return 0; +} + +/**************************************************************************/ +/* The node id */ +/**************************************************************************/ +/* node_id default value.*/ +UNS8 CANOpenShellMasterOD_bDeviceNodeId = 0x00; + +/**************************************************************************/ +/* Array of message processing information */ + +const UNS8 CANOpenShellMasterOD_iam_a_slave = 0; + +TIMER_HANDLE CANOpenShellMasterOD_heartBeatTimers[1]; + +/* +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + OBJECT DICTIONARY + +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +*/ + +/* index 0x1000 : Device Type. */ + UNS32 CANOpenShellMasterOD_obj1000 = 0x0; /* 0 */ + subindex CANOpenShellMasterOD_Index1000[] = + { + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1000 } + }; + +/* index 0x1001 : Error Register. */ + UNS8 CANOpenShellMasterOD_obj1001 = 0x0; /* 0 */ + subindex CANOpenShellMasterOD_Index1001[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1001 } + }; + +/* index 0x1003 : Pre-defined Error Field */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1003[] = + { + 0x0 /* 0 */ + }; + ODCallback_t CANOpenShellMasterOD_Index1003_callbacks[] = + { + NULL, + NULL, + }; + subindex CANOpenShellMasterOD_Index1003[] = + { + { RW, valueRange_EMC, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1003 }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1003[0] } + }; + +/* index 0x1005 : SYNC COB ID. */ + UNS32 CANOpenShellMasterOD_obj1005 = 0x40000080; /* 1073741952 */ + ODCallback_t CANOpenShellMasterOD_Index1005_callbacks[] = + { + NULL, + }; + subindex CANOpenShellMasterOD_Index1005[] = + { + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1005 } + }; + +/* index 0x1006 : Communication / Cycle Period. */ + UNS32 CANOpenShellMasterOD_obj1006 = 0x0; /* 0 */ + ODCallback_t CANOpenShellMasterOD_Index1006_callbacks[] = + { + NULL, + }; + subindex CANOpenShellMasterOD_Index1006[] = + { + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1006 } + }; + +/* index 0x1014 : Emergency COB ID */ + UNS32 CANOpenShellMasterOD_obj1014 = 0x80 + 0x00; /* 128 + NodeID */ + +/* index 0x1016 : Consumer Heartbeat Time */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1016 = 0; + UNS32 CANOpenShellMasterOD_obj1016[]={0}; + +/* index 0x1017 : Producer Heartbeat Time. */ + UNS16 CANOpenShellMasterOD_obj1017 = 0x0; /* 0 */ + ODCallback_t CANOpenShellMasterOD_Index1017_callbacks[] = + { + NULL, + }; + subindex CANOpenShellMasterOD_Index1017[] = + { + { RW, uint16, sizeof (UNS16), (void*)&CANOpenShellMasterOD_obj1017 } + }; + +/* index 0x1018 : Identity. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1018_Vendor_ID = 0x0; /* 0 */ + UNS32 CANOpenShellMasterOD_obj1018_Product_Code = 0x0; /* 0 */ + UNS32 CANOpenShellMasterOD_obj1018_Revision_Number = 0x0; /* 0 */ + UNS32 CANOpenShellMasterOD_obj1018_Serial_Number = 0x0; /* 0 */ + subindex CANOpenShellMasterOD_Index1018[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1018 }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1018_Vendor_ID }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1018_Product_Code }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1018_Revision_Number }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1018_Serial_Number } + }; + +/* index 0x1280 : Client SDO 1 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x600; /* 1536 */ + UNS32 CANOpenShellMasterOD_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x580; /* 1408 */ + UNS8 CANOpenShellMasterOD_obj1280_Node_ID_of_the_SDO_Server = 0x0; /* 0 */ + subindex CANOpenShellMasterOD_Index1280[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1280 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1280_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1280_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1280_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1281 : Client SDO 2 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1281 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1281_COB_ID_Client_to_Server_Transmit_SDO = 0x601; /* 1537 */ + UNS32 CANOpenShellMasterOD_obj1281_COB_ID_Server_to_Client_Receive_SDO = 0x581; /* 1409 */ + UNS8 CANOpenShellMasterOD_obj1281_Node_ID_of_the_SDO_Server = 0x1; /* 1 */ + subindex CANOpenShellMasterOD_Index1281[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1281 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1281_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1281_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1281_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1282 : Client SDO 3 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1282 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1282_COB_ID_Client_to_Server_Transmit_SDO = 0x602; /* 1538 */ + UNS32 CANOpenShellMasterOD_obj1282_COB_ID_Server_to_Client_Receive_SDO = 0x582; /* 1410 */ + UNS8 CANOpenShellMasterOD_obj1282_Node_ID_of_the_SDO_Server = 0x2; /* 2 */ + subindex CANOpenShellMasterOD_Index1282[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1282 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1282_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1282_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1282_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1283 : Client SDO 4 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1283 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1283_COB_ID_Client_to_Server_Transmit_SDO = 0x603; /* 1539 */ + UNS32 CANOpenShellMasterOD_obj1283_COB_ID_Server_to_Client_Receive_SDO = 0x583; /* 1411 */ + UNS8 CANOpenShellMasterOD_obj1283_Node_ID_of_the_SDO_Server = 0x3; /* 3 */ + subindex CANOpenShellMasterOD_Index1283[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1283 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1283_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1283_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1283_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1284 : Client SDO 5 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1284 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1284_COB_ID_Client_to_Server_Transmit_SDO = 0x604; /* 1540 */ + UNS32 CANOpenShellMasterOD_obj1284_COB_ID_Server_to_Client_Receive_SDO = 0x584; /* 1412 */ + UNS8 CANOpenShellMasterOD_obj1284_Node_ID_of_the_SDO_Server = 0x4; /* 4 */ + subindex CANOpenShellMasterOD_Index1284[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1284 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1284_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1284_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1284_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1285 : Client SDO 6 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1285 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1285_COB_ID_Client_to_Server_Transmit_SDO = 0x605; /* 1541 */ + UNS32 CANOpenShellMasterOD_obj1285_COB_ID_Server_to_Client_Receive_SDO = 0x585; /* 1413 */ + UNS8 CANOpenShellMasterOD_obj1285_Node_ID_of_the_SDO_Server = 0x5; /* 5 */ + subindex CANOpenShellMasterOD_Index1285[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1285 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1285_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1285_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1285_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1286 : Client SDO 7 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1286 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1286_COB_ID_Client_to_Server_Transmit_SDO = 0x606; /* 1542 */ + UNS32 CANOpenShellMasterOD_obj1286_COB_ID_Server_to_Client_Receive_SDO = 0x586; /* 1414 */ + UNS8 CANOpenShellMasterOD_obj1286_Node_ID_of_the_SDO_Server = 0x6; /* 6 */ + subindex CANOpenShellMasterOD_Index1286[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1286 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1286_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1286_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1286_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1287 : Client SDO 8 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1287 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1287_COB_ID_Client_to_Server_Transmit_SDO = 0x607; /* 1543 */ + UNS32 CANOpenShellMasterOD_obj1287_COB_ID_Server_to_Client_Receive_SDO = 0x587; /* 1415 */ + UNS8 CANOpenShellMasterOD_obj1287_Node_ID_of_the_SDO_Server = 0x7; /* 7 */ + subindex CANOpenShellMasterOD_Index1287[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1287 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1287_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1287_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1287_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1288 : Client SDO 9 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1288 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1288_COB_ID_Client_to_Server_Transmit_SDO = 0x608; /* 1544 */ + UNS32 CANOpenShellMasterOD_obj1288_COB_ID_Server_to_Client_Receive_SDO = 0x588; /* 1416 */ + UNS8 CANOpenShellMasterOD_obj1288_Node_ID_of_the_SDO_Server = 0x8; /* 8 */ + subindex CANOpenShellMasterOD_Index1288[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1288 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1288_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1288_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1288_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1289 : Client SDO 10 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1289 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1289_COB_ID_Client_to_Server_Transmit_SDO = 0x609; /* 1545 */ + UNS32 CANOpenShellMasterOD_obj1289_COB_ID_Server_to_Client_Receive_SDO = 0x589; /* 1417 */ + UNS8 CANOpenShellMasterOD_obj1289_Node_ID_of_the_SDO_Server = 0x9; /* 9 */ + subindex CANOpenShellMasterOD_Index1289[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1289 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1289_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1289_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1289_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128A : Client SDO 11 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128A = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128A_COB_ID_Client_to_Server_Transmit_SDO = 0x60A; /* 1546 */ + UNS32 CANOpenShellMasterOD_obj128A_COB_ID_Server_to_Client_Receive_SDO = 0x58A; /* 1418 */ + UNS8 CANOpenShellMasterOD_obj128A_Node_ID_of_the_SDO_Server = 0xA; /* 10 */ + subindex CANOpenShellMasterOD_Index128A[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128A }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128A_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128A_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128A_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128B : Client SDO 12 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128B = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128B_COB_ID_Client_to_Server_Transmit_SDO = 0x60B; /* 1547 */ + UNS32 CANOpenShellMasterOD_obj128B_COB_ID_Server_to_Client_Receive_SDO = 0x58B; /* 1419 */ + UNS8 CANOpenShellMasterOD_obj128B_Node_ID_of_the_SDO_Server = 0xB; /* 11 */ + subindex CANOpenShellMasterOD_Index128B[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128B }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128B_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128B_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128B_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128C : Client SDO 13 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128C = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128C_COB_ID_Client_to_Server_Transmit_SDO = 0x60C; /* 1548 */ + UNS32 CANOpenShellMasterOD_obj128C_COB_ID_Server_to_Client_Receive_SDO = 0x58C; /* 1420 */ + UNS8 CANOpenShellMasterOD_obj128C_Node_ID_of_the_SDO_Server = 0xC; /* 12 */ + subindex CANOpenShellMasterOD_Index128C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128C }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128C_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128C_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128C_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128D : Client SDO 14 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128D = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128D_COB_ID_Client_to_Server_Transmit_SDO = 0x60D; /* 1549 */ + UNS32 CANOpenShellMasterOD_obj128D_COB_ID_Server_to_Client_Receive_SDO = 0x58D; /* 1421 */ + UNS8 CANOpenShellMasterOD_obj128D_Node_ID_of_the_SDO_Server = 0xD; /* 13 */ + subindex CANOpenShellMasterOD_Index128D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128D }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128D_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128D_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128D_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128E : Client SDO 15 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128E = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128E_COB_ID_Client_to_Server_Transmit_SDO = 0x60E; /* 1550 */ + UNS32 CANOpenShellMasterOD_obj128E_COB_ID_Server_to_Client_Receive_SDO = 0x58E; /* 1422 */ + UNS8 CANOpenShellMasterOD_obj128E_Node_ID_of_the_SDO_Server = 0xE; /* 14 */ + subindex CANOpenShellMasterOD_Index128E[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128E }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128E_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128E_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128E_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128F : Client SDO 16 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj128F = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj128F_COB_ID_Client_to_Server_Transmit_SDO = 0x60F; /* 1551 */ + UNS32 CANOpenShellMasterOD_obj128F_COB_ID_Server_to_Client_Receive_SDO = 0x58F; /* 1423 */ + UNS8 CANOpenShellMasterOD_obj128F_Node_ID_of_the_SDO_Server = 0xF; /* 15 */ + subindex CANOpenShellMasterOD_Index128F[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj128F }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128F_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj128F_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj128F_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1290 : Client SDO 17 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1290 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1290_COB_ID_Client_to_Server_Transmit_SDO = 0x610; /* 1552 */ + UNS32 CANOpenShellMasterOD_obj1290_COB_ID_Server_to_Client_Receive_SDO = 0x590; /* 1424 */ + UNS8 CANOpenShellMasterOD_obj1290_Node_ID_of_the_SDO_Server = 0x10; /* 16 */ + subindex CANOpenShellMasterOD_Index1290[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1290 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1290_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1290_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1290_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1291 : Client SDO 18 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1291 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1291_COB_ID_Client_to_Server_Transmit_SDO = 0x611; /* 1553 */ + UNS32 CANOpenShellMasterOD_obj1291_COB_ID_Server_to_Client_Receive_SDO = 0x591; /* 1425 */ + UNS8 CANOpenShellMasterOD_obj1291_Node_ID_of_the_SDO_Server = 0x11; /* 17 */ + subindex CANOpenShellMasterOD_Index1291[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1291 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1291_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1291_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1291_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1292 : Client SDO 19 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1292 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1292_COB_ID_Client_to_Server_Transmit_SDO = 0x612; /* 1554 */ + UNS32 CANOpenShellMasterOD_obj1292_COB_ID_Server_to_Client_Receive_SDO = 0x592; /* 1426 */ + UNS8 CANOpenShellMasterOD_obj1292_Node_ID_of_the_SDO_Server = 0x12; /* 18 */ + subindex CANOpenShellMasterOD_Index1292[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1292 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1292_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1292_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1292_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1293 : Client SDO 20 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1293 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1293_COB_ID_Client_to_Server_Transmit_SDO = 0x613; /* 1555 */ + UNS32 CANOpenShellMasterOD_obj1293_COB_ID_Server_to_Client_Receive_SDO = 0x593; /* 1427 */ + UNS8 CANOpenShellMasterOD_obj1293_Node_ID_of_the_SDO_Server = 0x13; /* 19 */ + subindex CANOpenShellMasterOD_Index1293[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1293 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1293_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1293_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1293_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1294 : Client SDO 21 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1294 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1294_COB_ID_Client_to_Server_Transmit_SDO = 0x614; /* 1556 */ + UNS32 CANOpenShellMasterOD_obj1294_COB_ID_Server_to_Client_Receive_SDO = 0x594; /* 1428 */ + UNS8 CANOpenShellMasterOD_obj1294_Node_ID_of_the_SDO_Server = 0x14; /* 20 */ + subindex CANOpenShellMasterOD_Index1294[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1294 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1294_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1294_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1294_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1295 : Client SDO 22 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1295 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1295_COB_ID_Client_to_Server_Transmit_SDO = 0x615; /* 1557 */ + UNS32 CANOpenShellMasterOD_obj1295_COB_ID_Server_to_Client_Receive_SDO = 0x595; /* 1429 */ + UNS8 CANOpenShellMasterOD_obj1295_Node_ID_of_the_SDO_Server = 0x15; /* 21 */ + subindex CANOpenShellMasterOD_Index1295[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1295 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1295_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1295_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1295_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1296 : Client SDO 23 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1296 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1296_COB_ID_Client_to_Server_Transmit_SDO = 0x616; /* 1558 */ + UNS32 CANOpenShellMasterOD_obj1296_COB_ID_Server_to_Client_Receive_SDO = 0x596; /* 1430 */ + UNS8 CANOpenShellMasterOD_obj1296_Node_ID_of_the_SDO_Server = 0x16; /* 22 */ + subindex CANOpenShellMasterOD_Index1296[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1296 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1296_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1296_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1296_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1297 : Client SDO 24 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1297 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1297_COB_ID_Client_to_Server_Transmit_SDO = 0x617; /* 1559 */ + UNS32 CANOpenShellMasterOD_obj1297_COB_ID_Server_to_Client_Receive_SDO = 0x597; /* 1431 */ + UNS8 CANOpenShellMasterOD_obj1297_Node_ID_of_the_SDO_Server = 0x17; /* 23 */ + subindex CANOpenShellMasterOD_Index1297[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1297 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1297_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1297_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1297_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1298 : Client SDO 25 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1298 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1298_COB_ID_Client_to_Server_Transmit_SDO = 0x618; /* 1560 */ + UNS32 CANOpenShellMasterOD_obj1298_COB_ID_Server_to_Client_Receive_SDO = 0x598; /* 1432 */ + UNS8 CANOpenShellMasterOD_obj1298_Node_ID_of_the_SDO_Server = 0x18; /* 24 */ + subindex CANOpenShellMasterOD_Index1298[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1298 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1298_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1298_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1298_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1299 : Client SDO 26 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj1299 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj1299_COB_ID_Client_to_Server_Transmit_SDO = 0x619; /* 1561 */ + UNS32 CANOpenShellMasterOD_obj1299_COB_ID_Server_to_Client_Receive_SDO = 0x599; /* 1433 */ + UNS8 CANOpenShellMasterOD_obj1299_Node_ID_of_the_SDO_Server = 0x19; /* 25 */ + subindex CANOpenShellMasterOD_Index1299[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj1299 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1299_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj1299_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj1299_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129A : Client SDO 27 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129A = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129A_COB_ID_Client_to_Server_Transmit_SDO = 0x61A; /* 1562 */ + UNS32 CANOpenShellMasterOD_obj129A_COB_ID_Server_to_Client_Receive_SDO = 0x59A; /* 1434 */ + UNS8 CANOpenShellMasterOD_obj129A_Node_ID_of_the_SDO_Server = 0x1A; /* 26 */ + subindex CANOpenShellMasterOD_Index129A[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129A }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129A_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129A_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129A_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129B : Client SDO 28 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129B = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129B_COB_ID_Client_to_Server_Transmit_SDO = 0x61B; /* 1563 */ + UNS32 CANOpenShellMasterOD_obj129B_COB_ID_Server_to_Client_Receive_SDO = 0x59B; /* 1435 */ + UNS8 CANOpenShellMasterOD_obj129B_Node_ID_of_the_SDO_Server = 0x1B; /* 27 */ + subindex CANOpenShellMasterOD_Index129B[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129B }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129B_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129B_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129B_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129C : Client SDO 29 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129C = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129C_COB_ID_Client_to_Server_Transmit_SDO = 0x61C; /* 1564 */ + UNS32 CANOpenShellMasterOD_obj129C_COB_ID_Server_to_Client_Receive_SDO = 0x59C; /* 1436 */ + UNS8 CANOpenShellMasterOD_obj129C_Node_ID_of_the_SDO_Server = 0x1C; /* 28 */ + subindex CANOpenShellMasterOD_Index129C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129C }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129C_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129C_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129C_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129D : Client SDO 30 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129D = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129D_COB_ID_Client_to_Server_Transmit_SDO = 0x61D; /* 1565 */ + UNS32 CANOpenShellMasterOD_obj129D_COB_ID_Server_to_Client_Receive_SDO = 0x59D; /* 1437 */ + UNS8 CANOpenShellMasterOD_obj129D_Node_ID_of_the_SDO_Server = 0x1D; /* 29 */ + subindex CANOpenShellMasterOD_Index129D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129D }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129D_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129D_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129D_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129E : Client SDO 31 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129E = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129E_COB_ID_Client_to_Server_Transmit_SDO = 0x61E; /* 1566 */ + UNS32 CANOpenShellMasterOD_obj129E_COB_ID_Server_to_Client_Receive_SDO = 0x59E; /* 1438 */ + UNS8 CANOpenShellMasterOD_obj129E_Node_ID_of_the_SDO_Server = 0x1E; /* 30 */ + subindex CANOpenShellMasterOD_Index129E[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129E }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129E_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129E_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129E_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129F : Client SDO 32 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj129F = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj129F_COB_ID_Client_to_Server_Transmit_SDO = 0x61F; /* 1567 */ + UNS32 CANOpenShellMasterOD_obj129F_COB_ID_Server_to_Client_Receive_SDO = 0x59F; /* 1439 */ + UNS8 CANOpenShellMasterOD_obj129F_Node_ID_of_the_SDO_Server = 0x1F; /* 31 */ + subindex CANOpenShellMasterOD_Index129F[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj129F }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129F_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj129F_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj129F_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A0 : Client SDO 33 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A0_COB_ID_Client_to_Server_Transmit_SDO = 0x620; /* 1568 */ + UNS32 CANOpenShellMasterOD_obj12A0_COB_ID_Server_to_Client_Receive_SDO = 0x5A0; /* 1440 */ + UNS8 CANOpenShellMasterOD_obj12A0_Node_ID_of_the_SDO_Server = 0x20; /* 32 */ + subindex CANOpenShellMasterOD_Index12A0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A1 : Client SDO 34 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A1_COB_ID_Client_to_Server_Transmit_SDO = 0x621; /* 1569 */ + UNS32 CANOpenShellMasterOD_obj12A1_COB_ID_Server_to_Client_Receive_SDO = 0x5A1; /* 1441 */ + UNS8 CANOpenShellMasterOD_obj12A1_Node_ID_of_the_SDO_Server = 0x21; /* 33 */ + subindex CANOpenShellMasterOD_Index12A1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A2 : Client SDO 35 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A2_COB_ID_Client_to_Server_Transmit_SDO = 0x622; /* 1570 */ + UNS32 CANOpenShellMasterOD_obj12A2_COB_ID_Server_to_Client_Receive_SDO = 0x5A2; /* 1442 */ + UNS8 CANOpenShellMasterOD_obj12A2_Node_ID_of_the_SDO_Server = 0x22; /* 34 */ + subindex CANOpenShellMasterOD_Index12A2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A3 : Client SDO 36 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A3_COB_ID_Client_to_Server_Transmit_SDO = 0x623; /* 1571 */ + UNS32 CANOpenShellMasterOD_obj12A3_COB_ID_Server_to_Client_Receive_SDO = 0x5A3; /* 1443 */ + UNS8 CANOpenShellMasterOD_obj12A3_Node_ID_of_the_SDO_Server = 0x23; /* 35 */ + subindex CANOpenShellMasterOD_Index12A3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A4 : Client SDO 37 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A4_COB_ID_Client_to_Server_Transmit_SDO = 0x624; /* 1572 */ + UNS32 CANOpenShellMasterOD_obj12A4_COB_ID_Server_to_Client_Receive_SDO = 0x5A4; /* 1444 */ + UNS8 CANOpenShellMasterOD_obj12A4_Node_ID_of_the_SDO_Server = 0x24; /* 36 */ + subindex CANOpenShellMasterOD_Index12A4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A5 : Client SDO 38 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A5_COB_ID_Client_to_Server_Transmit_SDO = 0x625; /* 1573 */ + UNS32 CANOpenShellMasterOD_obj12A5_COB_ID_Server_to_Client_Receive_SDO = 0x5A5; /* 1445 */ + UNS8 CANOpenShellMasterOD_obj12A5_Node_ID_of_the_SDO_Server = 0x25; /* 37 */ + subindex CANOpenShellMasterOD_Index12A5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A6 : Client SDO 39 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A6_COB_ID_Client_to_Server_Transmit_SDO = 0x626; /* 1574 */ + UNS32 CANOpenShellMasterOD_obj12A6_COB_ID_Server_to_Client_Receive_SDO = 0x5A6; /* 1446 */ + UNS8 CANOpenShellMasterOD_obj12A6_Node_ID_of_the_SDO_Server = 0x26; /* 38 */ + subindex CANOpenShellMasterOD_Index12A6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A7 : Client SDO 40 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A7_COB_ID_Client_to_Server_Transmit_SDO = 0x627; /* 1575 */ + UNS32 CANOpenShellMasterOD_obj12A7_COB_ID_Server_to_Client_Receive_SDO = 0x5A7; /* 1447 */ + UNS8 CANOpenShellMasterOD_obj12A7_Node_ID_of_the_SDO_Server = 0x27; /* 39 */ + subindex CANOpenShellMasterOD_Index12A7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A8 : Client SDO 41 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A8_COB_ID_Client_to_Server_Transmit_SDO = 0x628; /* 1576 */ + UNS32 CANOpenShellMasterOD_obj12A8_COB_ID_Server_to_Client_Receive_SDO = 0x5A8; /* 1448 */ + UNS8 CANOpenShellMasterOD_obj12A8_Node_ID_of_the_SDO_Server = 0x28; /* 40 */ + subindex CANOpenShellMasterOD_Index12A8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A9 : Client SDO 42 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12A9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12A9_COB_ID_Client_to_Server_Transmit_SDO = 0x629; /* 1577 */ + UNS32 CANOpenShellMasterOD_obj12A9_COB_ID_Server_to_Client_Receive_SDO = 0x5A9; /* 1449 */ + UNS8 CANOpenShellMasterOD_obj12A9_Node_ID_of_the_SDO_Server = 0x29; /* 41 */ + subindex CANOpenShellMasterOD_Index12A9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12A9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12A9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12A9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AA : Client SDO 43 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AA_COB_ID_Client_to_Server_Transmit_SDO = 0x62A; /* 1578 */ + UNS32 CANOpenShellMasterOD_obj12AA_COB_ID_Server_to_Client_Receive_SDO = 0x5AA; /* 1450 */ + UNS8 CANOpenShellMasterOD_obj12AA_Node_ID_of_the_SDO_Server = 0x2A; /* 42 */ + subindex CANOpenShellMasterOD_Index12AA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AB : Client SDO 44 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AB_COB_ID_Client_to_Server_Transmit_SDO = 0x62B; /* 1579 */ + UNS32 CANOpenShellMasterOD_obj12AB_COB_ID_Server_to_Client_Receive_SDO = 0x5AB; /* 1451 */ + UNS8 CANOpenShellMasterOD_obj12AB_Node_ID_of_the_SDO_Server = 0x2B; /* 43 */ + subindex CANOpenShellMasterOD_Index12AB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AC : Client SDO 45 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AC_COB_ID_Client_to_Server_Transmit_SDO = 0x62C; /* 1580 */ + UNS32 CANOpenShellMasterOD_obj12AC_COB_ID_Server_to_Client_Receive_SDO = 0x5AC; /* 1452 */ + UNS8 CANOpenShellMasterOD_obj12AC_Node_ID_of_the_SDO_Server = 0x2C; /* 44 */ + subindex CANOpenShellMasterOD_Index12AC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AD : Client SDO 46 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AD_COB_ID_Client_to_Server_Transmit_SDO = 0x62D; /* 1581 */ + UNS32 CANOpenShellMasterOD_obj12AD_COB_ID_Server_to_Client_Receive_SDO = 0x5AD; /* 1453 */ + UNS8 CANOpenShellMasterOD_obj12AD_Node_ID_of_the_SDO_Server = 0x2D; /* 45 */ + subindex CANOpenShellMasterOD_Index12AD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AE : Client SDO 47 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AE_COB_ID_Client_to_Server_Transmit_SDO = 0x62E; /* 1582 */ + UNS32 CANOpenShellMasterOD_obj12AE_COB_ID_Server_to_Client_Receive_SDO = 0x5AE; /* 1454 */ + UNS8 CANOpenShellMasterOD_obj12AE_Node_ID_of_the_SDO_Server = 0x2E; /* 46 */ + subindex CANOpenShellMasterOD_Index12AE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AF : Client SDO 48 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12AF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12AF_COB_ID_Client_to_Server_Transmit_SDO = 0x62F; /* 1583 */ + UNS32 CANOpenShellMasterOD_obj12AF_COB_ID_Server_to_Client_Receive_SDO = 0x5AF; /* 1455 */ + UNS8 CANOpenShellMasterOD_obj12AF_Node_ID_of_the_SDO_Server = 0x2F; /* 47 */ + subindex CANOpenShellMasterOD_Index12AF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12AF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12AF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12AF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B0 : Client SDO 49 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B0_COB_ID_Client_to_Server_Transmit_SDO = 0x630; /* 1584 */ + UNS32 CANOpenShellMasterOD_obj12B0_COB_ID_Server_to_Client_Receive_SDO = 0x5B0; /* 1456 */ + UNS8 CANOpenShellMasterOD_obj12B0_Node_ID_of_the_SDO_Server = 0x30; /* 48 */ + subindex CANOpenShellMasterOD_Index12B0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B1 : Client SDO 50 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B1_COB_ID_Client_to_Server_Transmit_SDO = 0x631; /* 1585 */ + UNS32 CANOpenShellMasterOD_obj12B1_COB_ID_Server_to_Client_Receive_SDO = 0x5B1; /* 1457 */ + UNS8 CANOpenShellMasterOD_obj12B1_Node_ID_of_the_SDO_Server = 0x31; /* 49 */ + subindex CANOpenShellMasterOD_Index12B1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B2 : Client SDO 51 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B2_COB_ID_Client_to_Server_Transmit_SDO = 0x632; /* 1586 */ + UNS32 CANOpenShellMasterOD_obj12B2_COB_ID_Server_to_Client_Receive_SDO = 0x5B2; /* 1458 */ + UNS8 CANOpenShellMasterOD_obj12B2_Node_ID_of_the_SDO_Server = 0x32; /* 50 */ + subindex CANOpenShellMasterOD_Index12B2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B3 : Client SDO 52 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B3_COB_ID_Client_to_Server_Transmit_SDO = 0x633; /* 1587 */ + UNS32 CANOpenShellMasterOD_obj12B3_COB_ID_Server_to_Client_Receive_SDO = 0x5B3; /* 1459 */ + UNS8 CANOpenShellMasterOD_obj12B3_Node_ID_of_the_SDO_Server = 0x33; /* 51 */ + subindex CANOpenShellMasterOD_Index12B3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B4 : Client SDO 53 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B4_COB_ID_Client_to_Server_Transmit_SDO = 0x634; /* 1588 */ + UNS32 CANOpenShellMasterOD_obj12B4_COB_ID_Server_to_Client_Receive_SDO = 0x5B4; /* 1460 */ + UNS8 CANOpenShellMasterOD_obj12B4_Node_ID_of_the_SDO_Server = 0x34; /* 52 */ + subindex CANOpenShellMasterOD_Index12B4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B5 : Client SDO 54 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B5_COB_ID_Client_to_Server_Transmit_SDO = 0x635; /* 1589 */ + UNS32 CANOpenShellMasterOD_obj12B5_COB_ID_Server_to_Client_Receive_SDO = 0x5B5; /* 1461 */ + UNS8 CANOpenShellMasterOD_obj12B5_Node_ID_of_the_SDO_Server = 0x35; /* 53 */ + subindex CANOpenShellMasterOD_Index12B5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B6 : Client SDO 55 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B6_COB_ID_Client_to_Server_Transmit_SDO = 0x636; /* 1590 */ + UNS32 CANOpenShellMasterOD_obj12B6_COB_ID_Server_to_Client_Receive_SDO = 0x5B6; /* 1462 */ + UNS8 CANOpenShellMasterOD_obj12B6_Node_ID_of_the_SDO_Server = 0x36; /* 54 */ + subindex CANOpenShellMasterOD_Index12B6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B7 : Client SDO 56 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B7_COB_ID_Client_to_Server_Transmit_SDO = 0x637; /* 1591 */ + UNS32 CANOpenShellMasterOD_obj12B7_COB_ID_Server_to_Client_Receive_SDO = 0x5B7; /* 1463 */ + UNS8 CANOpenShellMasterOD_obj12B7_Node_ID_of_the_SDO_Server = 0x37; /* 55 */ + subindex CANOpenShellMasterOD_Index12B7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B8 : Client SDO 57 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B8_COB_ID_Client_to_Server_Transmit_SDO = 0x638; /* 1592 */ + UNS32 CANOpenShellMasterOD_obj12B8_COB_ID_Server_to_Client_Receive_SDO = 0x5B8; /* 1464 */ + UNS8 CANOpenShellMasterOD_obj12B8_Node_ID_of_the_SDO_Server = 0x38; /* 56 */ + subindex CANOpenShellMasterOD_Index12B8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B9 : Client SDO 58 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12B9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12B9_COB_ID_Client_to_Server_Transmit_SDO = 0x639; /* 1593 */ + UNS32 CANOpenShellMasterOD_obj12B9_COB_ID_Server_to_Client_Receive_SDO = 0x5B9; /* 1465 */ + UNS8 CANOpenShellMasterOD_obj12B9_Node_ID_of_the_SDO_Server = 0x39; /* 57 */ + subindex CANOpenShellMasterOD_Index12B9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12B9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12B9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12B9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BA : Client SDO 59 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BA_COB_ID_Client_to_Server_Transmit_SDO = 0x63A; /* 1594 */ + UNS32 CANOpenShellMasterOD_obj12BA_COB_ID_Server_to_Client_Receive_SDO = 0x5BA; /* 1466 */ + UNS8 CANOpenShellMasterOD_obj12BA_Node_ID_of_the_SDO_Server = 0x3A; /* 58 */ + subindex CANOpenShellMasterOD_Index12BA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BB : Client SDO 60 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BB_COB_ID_Client_to_Server_Transmit_SDO = 0x63B; /* 1595 */ + UNS32 CANOpenShellMasterOD_obj12BB_COB_ID_Server_to_Client_Receive_SDO = 0x5BB; /* 1467 */ + UNS8 CANOpenShellMasterOD_obj12BB_Node_ID_of_the_SDO_Server = 0x3B; /* 59 */ + subindex CANOpenShellMasterOD_Index12BB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BC : Client SDO 61 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BC_COB_ID_Client_to_Server_Transmit_SDO = 0x63C; /* 1596 */ + UNS32 CANOpenShellMasterOD_obj12BC_COB_ID_Server_to_Client_Receive_SDO = 0x5BC; /* 1468 */ + UNS8 CANOpenShellMasterOD_obj12BC_Node_ID_of_the_SDO_Server = 0x3C; /* 60 */ + subindex CANOpenShellMasterOD_Index12BC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BD : Client SDO 62 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BD_COB_ID_Client_to_Server_Transmit_SDO = 0x63D; /* 1597 */ + UNS32 CANOpenShellMasterOD_obj12BD_COB_ID_Server_to_Client_Receive_SDO = 0x5BD; /* 1469 */ + UNS8 CANOpenShellMasterOD_obj12BD_Node_ID_of_the_SDO_Server = 0x3D; /* 61 */ + subindex CANOpenShellMasterOD_Index12BD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BE : Client SDO 63 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BE_COB_ID_Client_to_Server_Transmit_SDO = 0x63E; /* 1598 */ + UNS32 CANOpenShellMasterOD_obj12BE_COB_ID_Server_to_Client_Receive_SDO = 0x5BE; /* 1470 */ + UNS8 CANOpenShellMasterOD_obj12BE_Node_ID_of_the_SDO_Server = 0x3E; /* 62 */ + subindex CANOpenShellMasterOD_Index12BE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BF : Client SDO 64 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12BF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12BF_COB_ID_Client_to_Server_Transmit_SDO = 0x63F; /* 1599 */ + UNS32 CANOpenShellMasterOD_obj12BF_COB_ID_Server_to_Client_Receive_SDO = 0x5BF; /* 1471 */ + UNS8 CANOpenShellMasterOD_obj12BF_Node_ID_of_the_SDO_Server = 0x3F; /* 63 */ + subindex CANOpenShellMasterOD_Index12BF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12BF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12BF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12BF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C0 : Client SDO 65 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C0_COB_ID_Client_to_Server_Transmit_SDO = 0x640; /* 1600 */ + UNS32 CANOpenShellMasterOD_obj12C0_COB_ID_Server_to_Client_Receive_SDO = 0x5C0; /* 1472 */ + UNS8 CANOpenShellMasterOD_obj12C0_Node_ID_of_the_SDO_Server = 0x40; /* 64 */ + subindex CANOpenShellMasterOD_Index12C0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C1 : Client SDO 66 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C1_COB_ID_Client_to_Server_Transmit_SDO = 0x641; /* 1601 */ + UNS32 CANOpenShellMasterOD_obj12C1_COB_ID_Server_to_Client_Receive_SDO = 0x5C1; /* 1473 */ + UNS8 CANOpenShellMasterOD_obj12C1_Node_ID_of_the_SDO_Server = 0x41; /* 65 */ + subindex CANOpenShellMasterOD_Index12C1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C2 : Client SDO 67 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C2_COB_ID_Client_to_Server_Transmit_SDO = 0x642; /* 1602 */ + UNS32 CANOpenShellMasterOD_obj12C2_COB_ID_Server_to_Client_Receive_SDO = 0x5C2; /* 1474 */ + UNS8 CANOpenShellMasterOD_obj12C2_Node_ID_of_the_SDO_Server = 0x42; /* 66 */ + subindex CANOpenShellMasterOD_Index12C2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C3 : Client SDO 68 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C3_COB_ID_Client_to_Server_Transmit_SDO = 0x643; /* 1603 */ + UNS32 CANOpenShellMasterOD_obj12C3_COB_ID_Server_to_Client_Receive_SDO = 0x5C3; /* 1475 */ + UNS8 CANOpenShellMasterOD_obj12C3_Node_ID_of_the_SDO_Server = 0x43; /* 67 */ + subindex CANOpenShellMasterOD_Index12C3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C4 : Client SDO 69 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C4_COB_ID_Client_to_Server_Transmit_SDO = 0x644; /* 1604 */ + UNS32 CANOpenShellMasterOD_obj12C4_COB_ID_Server_to_Client_Receive_SDO = 0x5C4; /* 1476 */ + UNS8 CANOpenShellMasterOD_obj12C4_Node_ID_of_the_SDO_Server = 0x44; /* 68 */ + subindex CANOpenShellMasterOD_Index12C4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C5 : Client SDO 70 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C5_COB_ID_Client_to_Server_Transmit_SDO = 0x645; /* 1605 */ + UNS32 CANOpenShellMasterOD_obj12C5_COB_ID_Server_to_Client_Receive_SDO = 0x5C5; /* 1477 */ + UNS8 CANOpenShellMasterOD_obj12C5_Node_ID_of_the_SDO_Server = 0x45; /* 69 */ + subindex CANOpenShellMasterOD_Index12C5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C6 : Client SDO 71 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C6_COB_ID_Client_to_Server_Transmit_SDO = 0x646; /* 1606 */ + UNS32 CANOpenShellMasterOD_obj12C6_COB_ID_Server_to_Client_Receive_SDO = 0x5C6; /* 1478 */ + UNS8 CANOpenShellMasterOD_obj12C6_Node_ID_of_the_SDO_Server = 0x46; /* 70 */ + subindex CANOpenShellMasterOD_Index12C6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C7 : Client SDO 72 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C7_COB_ID_Client_to_Server_Transmit_SDO = 0x647; /* 1607 */ + UNS32 CANOpenShellMasterOD_obj12C7_COB_ID_Server_to_Client_Receive_SDO = 0x5C7; /* 1479 */ + UNS8 CANOpenShellMasterOD_obj12C7_Node_ID_of_the_SDO_Server = 0x47; /* 71 */ + subindex CANOpenShellMasterOD_Index12C7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C8 : Client SDO 73 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C8_COB_ID_Client_to_Server_Transmit_SDO = 0x648; /* 1608 */ + UNS32 CANOpenShellMasterOD_obj12C8_COB_ID_Server_to_Client_Receive_SDO = 0x5C8; /* 1480 */ + UNS8 CANOpenShellMasterOD_obj12C8_Node_ID_of_the_SDO_Server = 0x48; /* 72 */ + subindex CANOpenShellMasterOD_Index12C8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C9 : Client SDO 74 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12C9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12C9_COB_ID_Client_to_Server_Transmit_SDO = 0x649; /* 1609 */ + UNS32 CANOpenShellMasterOD_obj12C9_COB_ID_Server_to_Client_Receive_SDO = 0x5C9; /* 1481 */ + UNS8 CANOpenShellMasterOD_obj12C9_Node_ID_of_the_SDO_Server = 0x49; /* 73 */ + subindex CANOpenShellMasterOD_Index12C9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12C9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12C9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12C9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CA : Client SDO 75 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CA_COB_ID_Client_to_Server_Transmit_SDO = 0x64A; /* 1610 */ + UNS32 CANOpenShellMasterOD_obj12CA_COB_ID_Server_to_Client_Receive_SDO = 0x5CA; /* 1482 */ + UNS8 CANOpenShellMasterOD_obj12CA_Node_ID_of_the_SDO_Server = 0x4A; /* 74 */ + subindex CANOpenShellMasterOD_Index12CA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CB : Client SDO 76 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CB_COB_ID_Client_to_Server_Transmit_SDO = 0x64B; /* 1611 */ + UNS32 CANOpenShellMasterOD_obj12CB_COB_ID_Server_to_Client_Receive_SDO = 0x5CB; /* 1483 */ + UNS8 CANOpenShellMasterOD_obj12CB_Node_ID_of_the_SDO_Server = 0x4B; /* 75 */ + subindex CANOpenShellMasterOD_Index12CB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CC : Client SDO 77 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CC_COB_ID_Client_to_Server_Transmit_SDO = 0x64C; /* 1612 */ + UNS32 CANOpenShellMasterOD_obj12CC_COB_ID_Server_to_Client_Receive_SDO = 0x5CC; /* 1484 */ + UNS8 CANOpenShellMasterOD_obj12CC_Node_ID_of_the_SDO_Server = 0x4C; /* 76 */ + subindex CANOpenShellMasterOD_Index12CC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CD : Client SDO 78 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CD_COB_ID_Client_to_Server_Transmit_SDO = 0x64D; /* 1613 */ + UNS32 CANOpenShellMasterOD_obj12CD_COB_ID_Server_to_Client_Receive_SDO = 0x5CD; /* 1485 */ + UNS8 CANOpenShellMasterOD_obj12CD_Node_ID_of_the_SDO_Server = 0x4D; /* 77 */ + subindex CANOpenShellMasterOD_Index12CD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CE : Client SDO 79 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CE_COB_ID_Client_to_Server_Transmit_SDO = 0x64E; /* 1614 */ + UNS32 CANOpenShellMasterOD_obj12CE_COB_ID_Server_to_Client_Receive_SDO = 0x5CE; /* 1486 */ + UNS8 CANOpenShellMasterOD_obj12CE_Node_ID_of_the_SDO_Server = 0x4E; /* 78 */ + subindex CANOpenShellMasterOD_Index12CE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CF : Client SDO 80 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12CF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12CF_COB_ID_Client_to_Server_Transmit_SDO = 0x64F; /* 1615 */ + UNS32 CANOpenShellMasterOD_obj12CF_COB_ID_Server_to_Client_Receive_SDO = 0x5CF; /* 1487 */ + UNS8 CANOpenShellMasterOD_obj12CF_Node_ID_of_the_SDO_Server = 0x4F; /* 79 */ + subindex CANOpenShellMasterOD_Index12CF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12CF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12CF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12CF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D0 : Client SDO 81 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D0_COB_ID_Client_to_Server_Transmit_SDO = 0x650; /* 1616 */ + UNS32 CANOpenShellMasterOD_obj12D0_COB_ID_Server_to_Client_Receive_SDO = 0x5D0; /* 1488 */ + UNS8 CANOpenShellMasterOD_obj12D0_Node_ID_of_the_SDO_Server = 0x50; /* 80 */ + subindex CANOpenShellMasterOD_Index12D0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D1 : Client SDO 82 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D1_COB_ID_Client_to_Server_Transmit_SDO = 0x651; /* 1617 */ + UNS32 CANOpenShellMasterOD_obj12D1_COB_ID_Server_to_Client_Receive_SDO = 0x5D1; /* 1489 */ + UNS8 CANOpenShellMasterOD_obj12D1_Node_ID_of_the_SDO_Server = 0x51; /* 81 */ + subindex CANOpenShellMasterOD_Index12D1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D2 : Client SDO 83 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D2_COB_ID_Client_to_Server_Transmit_SDO = 0x652; /* 1618 */ + UNS32 CANOpenShellMasterOD_obj12D2_COB_ID_Server_to_Client_Receive_SDO = 0x5D2; /* 1490 */ + UNS8 CANOpenShellMasterOD_obj12D2_Node_ID_of_the_SDO_Server = 0x52; /* 82 */ + subindex CANOpenShellMasterOD_Index12D2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D3 : Client SDO 84 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D3_COB_ID_Client_to_Server_Transmit_SDO = 0x653; /* 1619 */ + UNS32 CANOpenShellMasterOD_obj12D3_COB_ID_Server_to_Client_Receive_SDO = 0x5D3; /* 1491 */ + UNS8 CANOpenShellMasterOD_obj12D3_Node_ID_of_the_SDO_Server = 0x53; /* 83 */ + subindex CANOpenShellMasterOD_Index12D3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D4 : Client SDO 85 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D4_COB_ID_Client_to_Server_Transmit_SDO = 0x654; /* 1620 */ + UNS32 CANOpenShellMasterOD_obj12D4_COB_ID_Server_to_Client_Receive_SDO = 0x5D4; /* 1492 */ + UNS8 CANOpenShellMasterOD_obj12D4_Node_ID_of_the_SDO_Server = 0x54; /* 84 */ + subindex CANOpenShellMasterOD_Index12D4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D5 : Client SDO 86 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D5_COB_ID_Client_to_Server_Transmit_SDO = 0x655; /* 1621 */ + UNS32 CANOpenShellMasterOD_obj12D5_COB_ID_Server_to_Client_Receive_SDO = 0x5D5; /* 1493 */ + UNS8 CANOpenShellMasterOD_obj12D5_Node_ID_of_the_SDO_Server = 0x55; /* 85 */ + subindex CANOpenShellMasterOD_Index12D5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D6 : Client SDO 87 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D6_COB_ID_Client_to_Server_Transmit_SDO = 0x656; /* 1622 */ + UNS32 CANOpenShellMasterOD_obj12D6_COB_ID_Server_to_Client_Receive_SDO = 0x5D6; /* 1494 */ + UNS8 CANOpenShellMasterOD_obj12D6_Node_ID_of_the_SDO_Server = 0x56; /* 86 */ + subindex CANOpenShellMasterOD_Index12D6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D7 : Client SDO 88 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D7_COB_ID_Client_to_Server_Transmit_SDO = 0x657; /* 1623 */ + UNS32 CANOpenShellMasterOD_obj12D7_COB_ID_Server_to_Client_Receive_SDO = 0x5D7; /* 1495 */ + UNS8 CANOpenShellMasterOD_obj12D7_Node_ID_of_the_SDO_Server = 0x57; /* 87 */ + subindex CANOpenShellMasterOD_Index12D7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D8 : Client SDO 89 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D8_COB_ID_Client_to_Server_Transmit_SDO = 0x658; /* 1624 */ + UNS32 CANOpenShellMasterOD_obj12D8_COB_ID_Server_to_Client_Receive_SDO = 0x5D8; /* 1496 */ + UNS8 CANOpenShellMasterOD_obj12D8_Node_ID_of_the_SDO_Server = 0x58; /* 88 */ + subindex CANOpenShellMasterOD_Index12D8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D9 : Client SDO 90 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12D9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12D9_COB_ID_Client_to_Server_Transmit_SDO = 0x659; /* 1625 */ + UNS32 CANOpenShellMasterOD_obj12D9_COB_ID_Server_to_Client_Receive_SDO = 0x5D9; /* 1497 */ + UNS8 CANOpenShellMasterOD_obj12D9_Node_ID_of_the_SDO_Server = 0x59; /* 89 */ + subindex CANOpenShellMasterOD_Index12D9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12D9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12D9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12D9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DA : Client SDO 91 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DA_COB_ID_Client_to_Server_Transmit_SDO = 0x65A; /* 1626 */ + UNS32 CANOpenShellMasterOD_obj12DA_COB_ID_Server_to_Client_Receive_SDO = 0x5DA; /* 1498 */ + UNS8 CANOpenShellMasterOD_obj12DA_Node_ID_of_the_SDO_Server = 0x5A; /* 90 */ + subindex CANOpenShellMasterOD_Index12DA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DB : Client SDO 92 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DB_COB_ID_Client_to_Server_Transmit_SDO = 0x65B; /* 1627 */ + UNS32 CANOpenShellMasterOD_obj12DB_COB_ID_Server_to_Client_Receive_SDO = 0x5DB; /* 1499 */ + UNS8 CANOpenShellMasterOD_obj12DB_Node_ID_of_the_SDO_Server = 0x5B; /* 91 */ + subindex CANOpenShellMasterOD_Index12DB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DC : Client SDO 93 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DC_COB_ID_Client_to_Server_Transmit_SDO = 0x65C; /* 1628 */ + UNS32 CANOpenShellMasterOD_obj12DC_COB_ID_Server_to_Client_Receive_SDO = 0x5DC; /* 1500 */ + UNS8 CANOpenShellMasterOD_obj12DC_Node_ID_of_the_SDO_Server = 0x5C; /* 92 */ + subindex CANOpenShellMasterOD_Index12DC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DD : Client SDO 94 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DD_COB_ID_Client_to_Server_Transmit_SDO = 0x65D; /* 1629 */ + UNS32 CANOpenShellMasterOD_obj12DD_COB_ID_Server_to_Client_Receive_SDO = 0x5DD; /* 1501 */ + UNS8 CANOpenShellMasterOD_obj12DD_Node_ID_of_the_SDO_Server = 0x5D; /* 93 */ + subindex CANOpenShellMasterOD_Index12DD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DE : Client SDO 95 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DE_COB_ID_Client_to_Server_Transmit_SDO = 0x65E; /* 1630 */ + UNS32 CANOpenShellMasterOD_obj12DE_COB_ID_Server_to_Client_Receive_SDO = 0x5DE; /* 1502 */ + UNS8 CANOpenShellMasterOD_obj12DE_Node_ID_of_the_SDO_Server = 0x5E; /* 94 */ + subindex CANOpenShellMasterOD_Index12DE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DF : Client SDO 96 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12DF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12DF_COB_ID_Client_to_Server_Transmit_SDO = 0x65F; /* 1631 */ + UNS32 CANOpenShellMasterOD_obj12DF_COB_ID_Server_to_Client_Receive_SDO = 0x5DF; /* 1503 */ + UNS8 CANOpenShellMasterOD_obj12DF_Node_ID_of_the_SDO_Server = 0x5F; /* 95 */ + subindex CANOpenShellMasterOD_Index12DF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12DF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12DF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12DF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E0 : Client SDO 97 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E0_COB_ID_Client_to_Server_Transmit_SDO = 0x660; /* 1632 */ + UNS32 CANOpenShellMasterOD_obj12E0_COB_ID_Server_to_Client_Receive_SDO = 0x5E0; /* 1504 */ + UNS8 CANOpenShellMasterOD_obj12E0_Node_ID_of_the_SDO_Server = 0x60; /* 96 */ + subindex CANOpenShellMasterOD_Index12E0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E1 : Client SDO 98 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E1_COB_ID_Client_to_Server_Transmit_SDO = 0x661; /* 1633 */ + UNS32 CANOpenShellMasterOD_obj12E1_COB_ID_Server_to_Client_Receive_SDO = 0x5E1; /* 1505 */ + UNS8 CANOpenShellMasterOD_obj12E1_Node_ID_of_the_SDO_Server = 0x61; /* 97 */ + subindex CANOpenShellMasterOD_Index12E1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E2 : Client SDO 99 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E2_COB_ID_Client_to_Server_Transmit_SDO = 0x662; /* 1634 */ + UNS32 CANOpenShellMasterOD_obj12E2_COB_ID_Server_to_Client_Receive_SDO = 0x5E2; /* 1506 */ + UNS8 CANOpenShellMasterOD_obj12E2_Node_ID_of_the_SDO_Server = 0x62; /* 98 */ + subindex CANOpenShellMasterOD_Index12E2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E3 : Client SDO 100 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E3_COB_ID_Client_to_Server_Transmit_SDO = 0x663; /* 1635 */ + UNS32 CANOpenShellMasterOD_obj12E3_COB_ID_Server_to_Client_Receive_SDO = 0x5E3; /* 1507 */ + UNS8 CANOpenShellMasterOD_obj12E3_Node_ID_of_the_SDO_Server = 0x63; /* 99 */ + subindex CANOpenShellMasterOD_Index12E3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E4 : Client SDO 101 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E4_COB_ID_Client_to_Server_Transmit_SDO = 0x664; /* 1636 */ + UNS32 CANOpenShellMasterOD_obj12E4_COB_ID_Server_to_Client_Receive_SDO = 0x5E4; /* 1508 */ + UNS8 CANOpenShellMasterOD_obj12E4_Node_ID_of_the_SDO_Server = 0x64; /* 100 */ + subindex CANOpenShellMasterOD_Index12E4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E5 : Client SDO 102 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E5_COB_ID_Client_to_Server_Transmit_SDO = 0x665; /* 1637 */ + UNS32 CANOpenShellMasterOD_obj12E5_COB_ID_Server_to_Client_Receive_SDO = 0x5E5; /* 1509 */ + UNS8 CANOpenShellMasterOD_obj12E5_Node_ID_of_the_SDO_Server = 0x65; /* 101 */ + subindex CANOpenShellMasterOD_Index12E5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E6 : Client SDO 103 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E6_COB_ID_Client_to_Server_Transmit_SDO = 0x666; /* 1638 */ + UNS32 CANOpenShellMasterOD_obj12E6_COB_ID_Server_to_Client_Receive_SDO = 0x5E6; /* 1510 */ + UNS8 CANOpenShellMasterOD_obj12E6_Node_ID_of_the_SDO_Server = 0x66; /* 102 */ + subindex CANOpenShellMasterOD_Index12E6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E7 : Client SDO 104 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E7_COB_ID_Client_to_Server_Transmit_SDO = 0x667; /* 1639 */ + UNS32 CANOpenShellMasterOD_obj12E7_COB_ID_Server_to_Client_Receive_SDO = 0x5E7; /* 1511 */ + UNS8 CANOpenShellMasterOD_obj12E7_Node_ID_of_the_SDO_Server = 0x67; /* 103 */ + subindex CANOpenShellMasterOD_Index12E7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E8 : Client SDO 105 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E8_COB_ID_Client_to_Server_Transmit_SDO = 0x668; /* 1640 */ + UNS32 CANOpenShellMasterOD_obj12E8_COB_ID_Server_to_Client_Receive_SDO = 0x5E8; /* 1512 */ + UNS8 CANOpenShellMasterOD_obj12E8_Node_ID_of_the_SDO_Server = 0x68; /* 104 */ + subindex CANOpenShellMasterOD_Index12E8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E9 : Client SDO 106 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12E9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12E9_COB_ID_Client_to_Server_Transmit_SDO = 0x669; /* 1641 */ + UNS32 CANOpenShellMasterOD_obj12E9_COB_ID_Server_to_Client_Receive_SDO = 0x5E9; /* 1513 */ + UNS8 CANOpenShellMasterOD_obj12E9_Node_ID_of_the_SDO_Server = 0x69; /* 105 */ + subindex CANOpenShellMasterOD_Index12E9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12E9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12E9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12E9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EA : Client SDO 107 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12EA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12EA_COB_ID_Client_to_Server_Transmit_SDO = 0x66A; /* 1642 */ + UNS32 CANOpenShellMasterOD_obj12EA_COB_ID_Server_to_Client_Receive_SDO = 0x5EA; /* 1514 */ + UNS8 CANOpenShellMasterOD_obj12EA_Node_ID_of_the_SDO_Server = 0x6A; /* 106 */ + subindex CANOpenShellMasterOD_Index12EA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12EA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12EA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EB : Client SDO 108 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12EB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12EB_COB_ID_Client_to_Server_Transmit_SDO = 0x66B; /* 1643 */ + UNS32 CANOpenShellMasterOD_obj12EB_COB_ID_Server_to_Client_Receive_SDO = 0x5EB; /* 1515 */ + UNS8 CANOpenShellMasterOD_obj12EB_Node_ID_of_the_SDO_Server = 0x6B; /* 107 */ + subindex CANOpenShellMasterOD_Index12EB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12EB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12EB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EC : Client SDO 109 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12EC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12EC_COB_ID_Client_to_Server_Transmit_SDO = 0x66C; /* 1644 */ + UNS32 CANOpenShellMasterOD_obj12EC_COB_ID_Server_to_Client_Receive_SDO = 0x5EC; /* 1516 */ + UNS8 CANOpenShellMasterOD_obj12EC_Node_ID_of_the_SDO_Server = 0x6C; /* 108 */ + subindex CANOpenShellMasterOD_Index12EC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12EC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12EC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12ED : Client SDO 110 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12ED = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12ED_COB_ID_Client_to_Server_Transmit_SDO = 0x66D; /* 1645 */ + UNS32 CANOpenShellMasterOD_obj12ED_COB_ID_Server_to_Client_Receive_SDO = 0x5ED; /* 1517 */ + UNS8 CANOpenShellMasterOD_obj12ED_Node_ID_of_the_SDO_Server = 0x6D; /* 109 */ + subindex CANOpenShellMasterOD_Index12ED[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12ED }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12ED_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12ED_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12ED_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EE : Client SDO 111 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12EE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12EE_COB_ID_Client_to_Server_Transmit_SDO = 0x66E; /* 1646 */ + UNS32 CANOpenShellMasterOD_obj12EE_COB_ID_Server_to_Client_Receive_SDO = 0x5EE; /* 1518 */ + UNS8 CANOpenShellMasterOD_obj12EE_Node_ID_of_the_SDO_Server = 0x6E; /* 110 */ + subindex CANOpenShellMasterOD_Index12EE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12EE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12EE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EF : Client SDO 112 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12EF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12EF_COB_ID_Client_to_Server_Transmit_SDO = 0x66F; /* 1647 */ + UNS32 CANOpenShellMasterOD_obj12EF_COB_ID_Server_to_Client_Receive_SDO = 0x5EF; /* 1519 */ + UNS8 CANOpenShellMasterOD_obj12EF_Node_ID_of_the_SDO_Server = 0x6F; /* 111 */ + subindex CANOpenShellMasterOD_Index12EF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12EF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12EF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12EF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F0 : Client SDO 113 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F0_COB_ID_Client_to_Server_Transmit_SDO = 0x670; /* 1648 */ + UNS32 CANOpenShellMasterOD_obj12F0_COB_ID_Server_to_Client_Receive_SDO = 0x5F0; /* 1520 */ + UNS8 CANOpenShellMasterOD_obj12F0_Node_ID_of_the_SDO_Server = 0x70; /* 112 */ + subindex CANOpenShellMasterOD_Index12F0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F1 : Client SDO 114 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F1_COB_ID_Client_to_Server_Transmit_SDO = 0x671; /* 1649 */ + UNS32 CANOpenShellMasterOD_obj12F1_COB_ID_Server_to_Client_Receive_SDO = 0x5F1; /* 1521 */ + UNS8 CANOpenShellMasterOD_obj12F1_Node_ID_of_the_SDO_Server = 0x71; /* 113 */ + subindex CANOpenShellMasterOD_Index12F1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F2 : Client SDO 115 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F2_COB_ID_Client_to_Server_Transmit_SDO = 0x672; /* 1650 */ + UNS32 CANOpenShellMasterOD_obj12F2_COB_ID_Server_to_Client_Receive_SDO = 0x5F2; /* 1522 */ + UNS8 CANOpenShellMasterOD_obj12F2_Node_ID_of_the_SDO_Server = 0x72; /* 114 */ + subindex CANOpenShellMasterOD_Index12F2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F3 : Client SDO 116 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F3_COB_ID_Client_to_Server_Transmit_SDO = 0x673; /* 1651 */ + UNS32 CANOpenShellMasterOD_obj12F3_COB_ID_Server_to_Client_Receive_SDO = 0x5F3; /* 1523 */ + UNS8 CANOpenShellMasterOD_obj12F3_Node_ID_of_the_SDO_Server = 0x73; /* 115 */ + subindex CANOpenShellMasterOD_Index12F3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F4 : Client SDO 117 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F4_COB_ID_Client_to_Server_Transmit_SDO = 0x674; /* 1652 */ + UNS32 CANOpenShellMasterOD_obj12F4_COB_ID_Server_to_Client_Receive_SDO = 0x5F4; /* 1524 */ + UNS8 CANOpenShellMasterOD_obj12F4_Node_ID_of_the_SDO_Server = 0x74; /* 116 */ + subindex CANOpenShellMasterOD_Index12F4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F5 : Client SDO 118 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F5_COB_ID_Client_to_Server_Transmit_SDO = 0x675; /* 1653 */ + UNS32 CANOpenShellMasterOD_obj12F5_COB_ID_Server_to_Client_Receive_SDO = 0x5F5; /* 1525 */ + UNS8 CANOpenShellMasterOD_obj12F5_Node_ID_of_the_SDO_Server = 0x75; /* 117 */ + subindex CANOpenShellMasterOD_Index12F5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F6 : Client SDO 119 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F6_COB_ID_Client_to_Server_Transmit_SDO = 0x676; /* 1654 */ + UNS32 CANOpenShellMasterOD_obj12F6_COB_ID_Server_to_Client_Receive_SDO = 0x5F6; /* 1526 */ + UNS8 CANOpenShellMasterOD_obj12F6_Node_ID_of_the_SDO_Server = 0x76; /* 118 */ + subindex CANOpenShellMasterOD_Index12F6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F7 : Client SDO 120 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F7_COB_ID_Client_to_Server_Transmit_SDO = 0x677; /* 1655 */ + UNS32 CANOpenShellMasterOD_obj12F7_COB_ID_Server_to_Client_Receive_SDO = 0x5F7; /* 1527 */ + UNS8 CANOpenShellMasterOD_obj12F7_Node_ID_of_the_SDO_Server = 0x77; /* 119 */ + subindex CANOpenShellMasterOD_Index12F7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F8 : Client SDO 121 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F8_COB_ID_Client_to_Server_Transmit_SDO = 0x678; /* 1656 */ + UNS32 CANOpenShellMasterOD_obj12F8_COB_ID_Server_to_Client_Receive_SDO = 0x5F8; /* 1528 */ + UNS8 CANOpenShellMasterOD_obj12F8_Node_ID_of_the_SDO_Server = 0x78; /* 120 */ + subindex CANOpenShellMasterOD_Index12F8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F9 : Client SDO 122 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12F9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12F9_COB_ID_Client_to_Server_Transmit_SDO = 0x679; /* 1657 */ + UNS32 CANOpenShellMasterOD_obj12F9_COB_ID_Server_to_Client_Receive_SDO = 0x5F9; /* 1529 */ + UNS8 CANOpenShellMasterOD_obj12F9_Node_ID_of_the_SDO_Server = 0x79; /* 121 */ + subindex CANOpenShellMasterOD_Index12F9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12F9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12F9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12F9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FA : Client SDO 123 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12FA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12FA_COB_ID_Client_to_Server_Transmit_SDO = 0x67A; /* 1658 */ + UNS32 CANOpenShellMasterOD_obj12FA_COB_ID_Server_to_Client_Receive_SDO = 0x5FA; /* 1530 */ + UNS8 CANOpenShellMasterOD_obj12FA_Node_ID_of_the_SDO_Server = 0x7A; /* 122 */ + subindex CANOpenShellMasterOD_Index12FA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12FA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12FA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FB : Client SDO 124 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12FB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12FB_COB_ID_Client_to_Server_Transmit_SDO = 0x67B; /* 1659 */ + UNS32 CANOpenShellMasterOD_obj12FB_COB_ID_Server_to_Client_Receive_SDO = 0x5FB; /* 1531 */ + UNS8 CANOpenShellMasterOD_obj12FB_Node_ID_of_the_SDO_Server = 0x7B; /* 123 */ + subindex CANOpenShellMasterOD_Index12FB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12FB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12FB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FC : Client SDO 125 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12FC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12FC_COB_ID_Client_to_Server_Transmit_SDO = 0x67C; /* 1660 */ + UNS32 CANOpenShellMasterOD_obj12FC_COB_ID_Server_to_Client_Receive_SDO = 0x5FC; /* 1532 */ + UNS8 CANOpenShellMasterOD_obj12FC_Node_ID_of_the_SDO_Server = 0x7C; /* 124 */ + subindex CANOpenShellMasterOD_Index12FC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12FC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12FC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FD : Client SDO 126 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12FD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12FD_COB_ID_Client_to_Server_Transmit_SDO = 0x67D; /* 1661 */ + UNS32 CANOpenShellMasterOD_obj12FD_COB_ID_Server_to_Client_Receive_SDO = 0x5FD; /* 1533 */ + UNS8 CANOpenShellMasterOD_obj12FD_Node_ID_of_the_SDO_Server = 0x7D; /* 125 */ + subindex CANOpenShellMasterOD_Index12FD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12FD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12FD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FE : Client SDO 127 Parameter. */ + UNS8 CANOpenShellMasterOD_highestSubIndex_obj12FE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellMasterOD_obj12FE_COB_ID_Client_to_Server_Transmit_SDO = 0x67E; /* 1662 */ + UNS32 CANOpenShellMasterOD_obj12FE_COB_ID_Server_to_Client_Receive_SDO = 0x5FE; /* 1534 */ + UNS8 CANOpenShellMasterOD_obj12FE_Node_ID_of_the_SDO_Server = 0x7E; /* 126 */ + subindex CANOpenShellMasterOD_Index12FE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_highestSubIndex_obj12FE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellMasterOD_obj12FE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellMasterOD_obj12FE_Node_ID_of_the_SDO_Server } + }; + +/**************************************************************************/ +/* Declaration of pointed variables */ +/**************************************************************************/ + +const indextable CANOpenShellMasterOD_objdict[] = +{ + { (subindex*)CANOpenShellMasterOD_Index1000,sizeof(CANOpenShellMasterOD_Index1000)/sizeof(CANOpenShellMasterOD_Index1000[0]), 0x1000}, + { (subindex*)CANOpenShellMasterOD_Index1001,sizeof(CANOpenShellMasterOD_Index1001)/sizeof(CANOpenShellMasterOD_Index1001[0]), 0x1001}, + { (subindex*)CANOpenShellMasterOD_Index1005,sizeof(CANOpenShellMasterOD_Index1005)/sizeof(CANOpenShellMasterOD_Index1005[0]), 0x1005}, + { (subindex*)CANOpenShellMasterOD_Index1006,sizeof(CANOpenShellMasterOD_Index1006)/sizeof(CANOpenShellMasterOD_Index1006[0]), 0x1006}, + { (subindex*)CANOpenShellMasterOD_Index1017,sizeof(CANOpenShellMasterOD_Index1017)/sizeof(CANOpenShellMasterOD_Index1017[0]), 0x1017}, + { (subindex*)CANOpenShellMasterOD_Index1018,sizeof(CANOpenShellMasterOD_Index1018)/sizeof(CANOpenShellMasterOD_Index1018[0]), 0x1018}, + { (subindex*)CANOpenShellMasterOD_Index1280,sizeof(CANOpenShellMasterOD_Index1280)/sizeof(CANOpenShellMasterOD_Index1280[0]), 0x1280}, + { (subindex*)CANOpenShellMasterOD_Index1281,sizeof(CANOpenShellMasterOD_Index1281)/sizeof(CANOpenShellMasterOD_Index1281[0]), 0x1281}, + { (subindex*)CANOpenShellMasterOD_Index1282,sizeof(CANOpenShellMasterOD_Index1282)/sizeof(CANOpenShellMasterOD_Index1282[0]), 0x1282}, + { (subindex*)CANOpenShellMasterOD_Index1283,sizeof(CANOpenShellMasterOD_Index1283)/sizeof(CANOpenShellMasterOD_Index1283[0]), 0x1283}, + { (subindex*)CANOpenShellMasterOD_Index1284,sizeof(CANOpenShellMasterOD_Index1284)/sizeof(CANOpenShellMasterOD_Index1284[0]), 0x1284}, + { (subindex*)CANOpenShellMasterOD_Index1285,sizeof(CANOpenShellMasterOD_Index1285)/sizeof(CANOpenShellMasterOD_Index1285[0]), 0x1285}, + { (subindex*)CANOpenShellMasterOD_Index1286,sizeof(CANOpenShellMasterOD_Index1286)/sizeof(CANOpenShellMasterOD_Index1286[0]), 0x1286}, + { (subindex*)CANOpenShellMasterOD_Index1287,sizeof(CANOpenShellMasterOD_Index1287)/sizeof(CANOpenShellMasterOD_Index1287[0]), 0x1287}, + { (subindex*)CANOpenShellMasterOD_Index1288,sizeof(CANOpenShellMasterOD_Index1288)/sizeof(CANOpenShellMasterOD_Index1288[0]), 0x1288}, + { (subindex*)CANOpenShellMasterOD_Index1289,sizeof(CANOpenShellMasterOD_Index1289)/sizeof(CANOpenShellMasterOD_Index1289[0]), 0x1289}, + { (subindex*)CANOpenShellMasterOD_Index128A,sizeof(CANOpenShellMasterOD_Index128A)/sizeof(CANOpenShellMasterOD_Index128A[0]), 0x128A}, + { (subindex*)CANOpenShellMasterOD_Index128B,sizeof(CANOpenShellMasterOD_Index128B)/sizeof(CANOpenShellMasterOD_Index128B[0]), 0x128B}, + { (subindex*)CANOpenShellMasterOD_Index128C,sizeof(CANOpenShellMasterOD_Index128C)/sizeof(CANOpenShellMasterOD_Index128C[0]), 0x128C}, + { (subindex*)CANOpenShellMasterOD_Index128D,sizeof(CANOpenShellMasterOD_Index128D)/sizeof(CANOpenShellMasterOD_Index128D[0]), 0x128D}, + { (subindex*)CANOpenShellMasterOD_Index128E,sizeof(CANOpenShellMasterOD_Index128E)/sizeof(CANOpenShellMasterOD_Index128E[0]), 0x128E}, + { (subindex*)CANOpenShellMasterOD_Index128F,sizeof(CANOpenShellMasterOD_Index128F)/sizeof(CANOpenShellMasterOD_Index128F[0]), 0x128F}, + { (subindex*)CANOpenShellMasterOD_Index1290,sizeof(CANOpenShellMasterOD_Index1290)/sizeof(CANOpenShellMasterOD_Index1290[0]), 0x1290}, + { (subindex*)CANOpenShellMasterOD_Index1291,sizeof(CANOpenShellMasterOD_Index1291)/sizeof(CANOpenShellMasterOD_Index1291[0]), 0x1291}, + { (subindex*)CANOpenShellMasterOD_Index1292,sizeof(CANOpenShellMasterOD_Index1292)/sizeof(CANOpenShellMasterOD_Index1292[0]), 0x1292}, + { (subindex*)CANOpenShellMasterOD_Index1293,sizeof(CANOpenShellMasterOD_Index1293)/sizeof(CANOpenShellMasterOD_Index1293[0]), 0x1293}, + { (subindex*)CANOpenShellMasterOD_Index1294,sizeof(CANOpenShellMasterOD_Index1294)/sizeof(CANOpenShellMasterOD_Index1294[0]), 0x1294}, + { (subindex*)CANOpenShellMasterOD_Index1295,sizeof(CANOpenShellMasterOD_Index1295)/sizeof(CANOpenShellMasterOD_Index1295[0]), 0x1295}, + { (subindex*)CANOpenShellMasterOD_Index1296,sizeof(CANOpenShellMasterOD_Index1296)/sizeof(CANOpenShellMasterOD_Index1296[0]), 0x1296}, + { (subindex*)CANOpenShellMasterOD_Index1297,sizeof(CANOpenShellMasterOD_Index1297)/sizeof(CANOpenShellMasterOD_Index1297[0]), 0x1297}, + { (subindex*)CANOpenShellMasterOD_Index1298,sizeof(CANOpenShellMasterOD_Index1298)/sizeof(CANOpenShellMasterOD_Index1298[0]), 0x1298}, + { (subindex*)CANOpenShellMasterOD_Index1299,sizeof(CANOpenShellMasterOD_Index1299)/sizeof(CANOpenShellMasterOD_Index1299[0]), 0x1299}, + { (subindex*)CANOpenShellMasterOD_Index129A,sizeof(CANOpenShellMasterOD_Index129A)/sizeof(CANOpenShellMasterOD_Index129A[0]), 0x129A}, + { (subindex*)CANOpenShellMasterOD_Index129B,sizeof(CANOpenShellMasterOD_Index129B)/sizeof(CANOpenShellMasterOD_Index129B[0]), 0x129B}, + { (subindex*)CANOpenShellMasterOD_Index129C,sizeof(CANOpenShellMasterOD_Index129C)/sizeof(CANOpenShellMasterOD_Index129C[0]), 0x129C}, + { (subindex*)CANOpenShellMasterOD_Index129D,sizeof(CANOpenShellMasterOD_Index129D)/sizeof(CANOpenShellMasterOD_Index129D[0]), 0x129D}, + { (subindex*)CANOpenShellMasterOD_Index129E,sizeof(CANOpenShellMasterOD_Index129E)/sizeof(CANOpenShellMasterOD_Index129E[0]), 0x129E}, + { (subindex*)CANOpenShellMasterOD_Index129F,sizeof(CANOpenShellMasterOD_Index129F)/sizeof(CANOpenShellMasterOD_Index129F[0]), 0x129F}, + { (subindex*)CANOpenShellMasterOD_Index12A0,sizeof(CANOpenShellMasterOD_Index12A0)/sizeof(CANOpenShellMasterOD_Index12A0[0]), 0x12A0}, + { (subindex*)CANOpenShellMasterOD_Index12A1,sizeof(CANOpenShellMasterOD_Index12A1)/sizeof(CANOpenShellMasterOD_Index12A1[0]), 0x12A1}, + { (subindex*)CANOpenShellMasterOD_Index12A2,sizeof(CANOpenShellMasterOD_Index12A2)/sizeof(CANOpenShellMasterOD_Index12A2[0]), 0x12A2}, + { (subindex*)CANOpenShellMasterOD_Index12A3,sizeof(CANOpenShellMasterOD_Index12A3)/sizeof(CANOpenShellMasterOD_Index12A3[0]), 0x12A3}, + { (subindex*)CANOpenShellMasterOD_Index12A4,sizeof(CANOpenShellMasterOD_Index12A4)/sizeof(CANOpenShellMasterOD_Index12A4[0]), 0x12A4}, + { (subindex*)CANOpenShellMasterOD_Index12A5,sizeof(CANOpenShellMasterOD_Index12A5)/sizeof(CANOpenShellMasterOD_Index12A5[0]), 0x12A5}, + { (subindex*)CANOpenShellMasterOD_Index12A6,sizeof(CANOpenShellMasterOD_Index12A6)/sizeof(CANOpenShellMasterOD_Index12A6[0]), 0x12A6}, + { (subindex*)CANOpenShellMasterOD_Index12A7,sizeof(CANOpenShellMasterOD_Index12A7)/sizeof(CANOpenShellMasterOD_Index12A7[0]), 0x12A7}, + { (subindex*)CANOpenShellMasterOD_Index12A8,sizeof(CANOpenShellMasterOD_Index12A8)/sizeof(CANOpenShellMasterOD_Index12A8[0]), 0x12A8}, + { (subindex*)CANOpenShellMasterOD_Index12A9,sizeof(CANOpenShellMasterOD_Index12A9)/sizeof(CANOpenShellMasterOD_Index12A9[0]), 0x12A9}, + { (subindex*)CANOpenShellMasterOD_Index12AA,sizeof(CANOpenShellMasterOD_Index12AA)/sizeof(CANOpenShellMasterOD_Index12AA[0]), 0x12AA}, + { (subindex*)CANOpenShellMasterOD_Index12AB,sizeof(CANOpenShellMasterOD_Index12AB)/sizeof(CANOpenShellMasterOD_Index12AB[0]), 0x12AB}, + { (subindex*)CANOpenShellMasterOD_Index12AC,sizeof(CANOpenShellMasterOD_Index12AC)/sizeof(CANOpenShellMasterOD_Index12AC[0]), 0x12AC}, + { (subindex*)CANOpenShellMasterOD_Index12AD,sizeof(CANOpenShellMasterOD_Index12AD)/sizeof(CANOpenShellMasterOD_Index12AD[0]), 0x12AD}, + { (subindex*)CANOpenShellMasterOD_Index12AE,sizeof(CANOpenShellMasterOD_Index12AE)/sizeof(CANOpenShellMasterOD_Index12AE[0]), 0x12AE}, + { (subindex*)CANOpenShellMasterOD_Index12AF,sizeof(CANOpenShellMasterOD_Index12AF)/sizeof(CANOpenShellMasterOD_Index12AF[0]), 0x12AF}, + { (subindex*)CANOpenShellMasterOD_Index12B0,sizeof(CANOpenShellMasterOD_Index12B0)/sizeof(CANOpenShellMasterOD_Index12B0[0]), 0x12B0}, + { (subindex*)CANOpenShellMasterOD_Index12B1,sizeof(CANOpenShellMasterOD_Index12B1)/sizeof(CANOpenShellMasterOD_Index12B1[0]), 0x12B1}, + { (subindex*)CANOpenShellMasterOD_Index12B2,sizeof(CANOpenShellMasterOD_Index12B2)/sizeof(CANOpenShellMasterOD_Index12B2[0]), 0x12B2}, + { (subindex*)CANOpenShellMasterOD_Index12B3,sizeof(CANOpenShellMasterOD_Index12B3)/sizeof(CANOpenShellMasterOD_Index12B3[0]), 0x12B3}, + { (subindex*)CANOpenShellMasterOD_Index12B4,sizeof(CANOpenShellMasterOD_Index12B4)/sizeof(CANOpenShellMasterOD_Index12B4[0]), 0x12B4}, + { (subindex*)CANOpenShellMasterOD_Index12B5,sizeof(CANOpenShellMasterOD_Index12B5)/sizeof(CANOpenShellMasterOD_Index12B5[0]), 0x12B5}, + { (subindex*)CANOpenShellMasterOD_Index12B6,sizeof(CANOpenShellMasterOD_Index12B6)/sizeof(CANOpenShellMasterOD_Index12B6[0]), 0x12B6}, + { (subindex*)CANOpenShellMasterOD_Index12B7,sizeof(CANOpenShellMasterOD_Index12B7)/sizeof(CANOpenShellMasterOD_Index12B7[0]), 0x12B7}, + { (subindex*)CANOpenShellMasterOD_Index12B8,sizeof(CANOpenShellMasterOD_Index12B8)/sizeof(CANOpenShellMasterOD_Index12B8[0]), 0x12B8}, + { (subindex*)CANOpenShellMasterOD_Index12B9,sizeof(CANOpenShellMasterOD_Index12B9)/sizeof(CANOpenShellMasterOD_Index12B9[0]), 0x12B9}, + { (subindex*)CANOpenShellMasterOD_Index12BA,sizeof(CANOpenShellMasterOD_Index12BA)/sizeof(CANOpenShellMasterOD_Index12BA[0]), 0x12BA}, + { (subindex*)CANOpenShellMasterOD_Index12BB,sizeof(CANOpenShellMasterOD_Index12BB)/sizeof(CANOpenShellMasterOD_Index12BB[0]), 0x12BB}, + { (subindex*)CANOpenShellMasterOD_Index12BC,sizeof(CANOpenShellMasterOD_Index12BC)/sizeof(CANOpenShellMasterOD_Index12BC[0]), 0x12BC}, + { (subindex*)CANOpenShellMasterOD_Index12BD,sizeof(CANOpenShellMasterOD_Index12BD)/sizeof(CANOpenShellMasterOD_Index12BD[0]), 0x12BD}, + { (subindex*)CANOpenShellMasterOD_Index12BE,sizeof(CANOpenShellMasterOD_Index12BE)/sizeof(CANOpenShellMasterOD_Index12BE[0]), 0x12BE}, + { (subindex*)CANOpenShellMasterOD_Index12BF,sizeof(CANOpenShellMasterOD_Index12BF)/sizeof(CANOpenShellMasterOD_Index12BF[0]), 0x12BF}, + { (subindex*)CANOpenShellMasterOD_Index12C0,sizeof(CANOpenShellMasterOD_Index12C0)/sizeof(CANOpenShellMasterOD_Index12C0[0]), 0x12C0}, + { (subindex*)CANOpenShellMasterOD_Index12C1,sizeof(CANOpenShellMasterOD_Index12C1)/sizeof(CANOpenShellMasterOD_Index12C1[0]), 0x12C1}, + { (subindex*)CANOpenShellMasterOD_Index12C2,sizeof(CANOpenShellMasterOD_Index12C2)/sizeof(CANOpenShellMasterOD_Index12C2[0]), 0x12C2}, + { (subindex*)CANOpenShellMasterOD_Index12C3,sizeof(CANOpenShellMasterOD_Index12C3)/sizeof(CANOpenShellMasterOD_Index12C3[0]), 0x12C3}, + { (subindex*)CANOpenShellMasterOD_Index12C4,sizeof(CANOpenShellMasterOD_Index12C4)/sizeof(CANOpenShellMasterOD_Index12C4[0]), 0x12C4}, + { (subindex*)CANOpenShellMasterOD_Index12C5,sizeof(CANOpenShellMasterOD_Index12C5)/sizeof(CANOpenShellMasterOD_Index12C5[0]), 0x12C5}, + { (subindex*)CANOpenShellMasterOD_Index12C6,sizeof(CANOpenShellMasterOD_Index12C6)/sizeof(CANOpenShellMasterOD_Index12C6[0]), 0x12C6}, + { (subindex*)CANOpenShellMasterOD_Index12C7,sizeof(CANOpenShellMasterOD_Index12C7)/sizeof(CANOpenShellMasterOD_Index12C7[0]), 0x12C7}, + { (subindex*)CANOpenShellMasterOD_Index12C8,sizeof(CANOpenShellMasterOD_Index12C8)/sizeof(CANOpenShellMasterOD_Index12C8[0]), 0x12C8}, + { (subindex*)CANOpenShellMasterOD_Index12C9,sizeof(CANOpenShellMasterOD_Index12C9)/sizeof(CANOpenShellMasterOD_Index12C9[0]), 0x12C9}, + { (subindex*)CANOpenShellMasterOD_Index12CA,sizeof(CANOpenShellMasterOD_Index12CA)/sizeof(CANOpenShellMasterOD_Index12CA[0]), 0x12CA}, + { (subindex*)CANOpenShellMasterOD_Index12CB,sizeof(CANOpenShellMasterOD_Index12CB)/sizeof(CANOpenShellMasterOD_Index12CB[0]), 0x12CB}, + { (subindex*)CANOpenShellMasterOD_Index12CC,sizeof(CANOpenShellMasterOD_Index12CC)/sizeof(CANOpenShellMasterOD_Index12CC[0]), 0x12CC}, + { (subindex*)CANOpenShellMasterOD_Index12CD,sizeof(CANOpenShellMasterOD_Index12CD)/sizeof(CANOpenShellMasterOD_Index12CD[0]), 0x12CD}, + { (subindex*)CANOpenShellMasterOD_Index12CE,sizeof(CANOpenShellMasterOD_Index12CE)/sizeof(CANOpenShellMasterOD_Index12CE[0]), 0x12CE}, + { (subindex*)CANOpenShellMasterOD_Index12CF,sizeof(CANOpenShellMasterOD_Index12CF)/sizeof(CANOpenShellMasterOD_Index12CF[0]), 0x12CF}, + { (subindex*)CANOpenShellMasterOD_Index12D0,sizeof(CANOpenShellMasterOD_Index12D0)/sizeof(CANOpenShellMasterOD_Index12D0[0]), 0x12D0}, + { (subindex*)CANOpenShellMasterOD_Index12D1,sizeof(CANOpenShellMasterOD_Index12D1)/sizeof(CANOpenShellMasterOD_Index12D1[0]), 0x12D1}, + { (subindex*)CANOpenShellMasterOD_Index12D2,sizeof(CANOpenShellMasterOD_Index12D2)/sizeof(CANOpenShellMasterOD_Index12D2[0]), 0x12D2}, + { (subindex*)CANOpenShellMasterOD_Index12D3,sizeof(CANOpenShellMasterOD_Index12D3)/sizeof(CANOpenShellMasterOD_Index12D3[0]), 0x12D3}, + { (subindex*)CANOpenShellMasterOD_Index12D4,sizeof(CANOpenShellMasterOD_Index12D4)/sizeof(CANOpenShellMasterOD_Index12D4[0]), 0x12D4}, + { (subindex*)CANOpenShellMasterOD_Index12D5,sizeof(CANOpenShellMasterOD_Index12D5)/sizeof(CANOpenShellMasterOD_Index12D5[0]), 0x12D5}, + { (subindex*)CANOpenShellMasterOD_Index12D6,sizeof(CANOpenShellMasterOD_Index12D6)/sizeof(CANOpenShellMasterOD_Index12D6[0]), 0x12D6}, + { (subindex*)CANOpenShellMasterOD_Index12D7,sizeof(CANOpenShellMasterOD_Index12D7)/sizeof(CANOpenShellMasterOD_Index12D7[0]), 0x12D7}, + { (subindex*)CANOpenShellMasterOD_Index12D8,sizeof(CANOpenShellMasterOD_Index12D8)/sizeof(CANOpenShellMasterOD_Index12D8[0]), 0x12D8}, + { (subindex*)CANOpenShellMasterOD_Index12D9,sizeof(CANOpenShellMasterOD_Index12D9)/sizeof(CANOpenShellMasterOD_Index12D9[0]), 0x12D9}, + { (subindex*)CANOpenShellMasterOD_Index12DA,sizeof(CANOpenShellMasterOD_Index12DA)/sizeof(CANOpenShellMasterOD_Index12DA[0]), 0x12DA}, + { (subindex*)CANOpenShellMasterOD_Index12DB,sizeof(CANOpenShellMasterOD_Index12DB)/sizeof(CANOpenShellMasterOD_Index12DB[0]), 0x12DB}, + { (subindex*)CANOpenShellMasterOD_Index12DC,sizeof(CANOpenShellMasterOD_Index12DC)/sizeof(CANOpenShellMasterOD_Index12DC[0]), 0x12DC}, + { (subindex*)CANOpenShellMasterOD_Index12DD,sizeof(CANOpenShellMasterOD_Index12DD)/sizeof(CANOpenShellMasterOD_Index12DD[0]), 0x12DD}, + { (subindex*)CANOpenShellMasterOD_Index12DE,sizeof(CANOpenShellMasterOD_Index12DE)/sizeof(CANOpenShellMasterOD_Index12DE[0]), 0x12DE}, + { (subindex*)CANOpenShellMasterOD_Index12DF,sizeof(CANOpenShellMasterOD_Index12DF)/sizeof(CANOpenShellMasterOD_Index12DF[0]), 0x12DF}, + { (subindex*)CANOpenShellMasterOD_Index12E0,sizeof(CANOpenShellMasterOD_Index12E0)/sizeof(CANOpenShellMasterOD_Index12E0[0]), 0x12E0}, + { (subindex*)CANOpenShellMasterOD_Index12E1,sizeof(CANOpenShellMasterOD_Index12E1)/sizeof(CANOpenShellMasterOD_Index12E1[0]), 0x12E1}, + { (subindex*)CANOpenShellMasterOD_Index12E2,sizeof(CANOpenShellMasterOD_Index12E2)/sizeof(CANOpenShellMasterOD_Index12E2[0]), 0x12E2}, + { (subindex*)CANOpenShellMasterOD_Index12E3,sizeof(CANOpenShellMasterOD_Index12E3)/sizeof(CANOpenShellMasterOD_Index12E3[0]), 0x12E3}, + { (subindex*)CANOpenShellMasterOD_Index12E4,sizeof(CANOpenShellMasterOD_Index12E4)/sizeof(CANOpenShellMasterOD_Index12E4[0]), 0x12E4}, + { (subindex*)CANOpenShellMasterOD_Index12E5,sizeof(CANOpenShellMasterOD_Index12E5)/sizeof(CANOpenShellMasterOD_Index12E5[0]), 0x12E5}, + { (subindex*)CANOpenShellMasterOD_Index12E6,sizeof(CANOpenShellMasterOD_Index12E6)/sizeof(CANOpenShellMasterOD_Index12E6[0]), 0x12E6}, + { (subindex*)CANOpenShellMasterOD_Index12E7,sizeof(CANOpenShellMasterOD_Index12E7)/sizeof(CANOpenShellMasterOD_Index12E7[0]), 0x12E7}, + { (subindex*)CANOpenShellMasterOD_Index12E8,sizeof(CANOpenShellMasterOD_Index12E8)/sizeof(CANOpenShellMasterOD_Index12E8[0]), 0x12E8}, + { (subindex*)CANOpenShellMasterOD_Index12E9,sizeof(CANOpenShellMasterOD_Index12E9)/sizeof(CANOpenShellMasterOD_Index12E9[0]), 0x12E9}, + { (subindex*)CANOpenShellMasterOD_Index12EA,sizeof(CANOpenShellMasterOD_Index12EA)/sizeof(CANOpenShellMasterOD_Index12EA[0]), 0x12EA}, + { (subindex*)CANOpenShellMasterOD_Index12EB,sizeof(CANOpenShellMasterOD_Index12EB)/sizeof(CANOpenShellMasterOD_Index12EB[0]), 0x12EB}, + { (subindex*)CANOpenShellMasterOD_Index12EC,sizeof(CANOpenShellMasterOD_Index12EC)/sizeof(CANOpenShellMasterOD_Index12EC[0]), 0x12EC}, + { (subindex*)CANOpenShellMasterOD_Index12ED,sizeof(CANOpenShellMasterOD_Index12ED)/sizeof(CANOpenShellMasterOD_Index12ED[0]), 0x12ED}, + { (subindex*)CANOpenShellMasterOD_Index12EE,sizeof(CANOpenShellMasterOD_Index12EE)/sizeof(CANOpenShellMasterOD_Index12EE[0]), 0x12EE}, + { (subindex*)CANOpenShellMasterOD_Index12EF,sizeof(CANOpenShellMasterOD_Index12EF)/sizeof(CANOpenShellMasterOD_Index12EF[0]), 0x12EF}, + { (subindex*)CANOpenShellMasterOD_Index12F0,sizeof(CANOpenShellMasterOD_Index12F0)/sizeof(CANOpenShellMasterOD_Index12F0[0]), 0x12F0}, + { (subindex*)CANOpenShellMasterOD_Index12F1,sizeof(CANOpenShellMasterOD_Index12F1)/sizeof(CANOpenShellMasterOD_Index12F1[0]), 0x12F1}, + { (subindex*)CANOpenShellMasterOD_Index12F2,sizeof(CANOpenShellMasterOD_Index12F2)/sizeof(CANOpenShellMasterOD_Index12F2[0]), 0x12F2}, + { (subindex*)CANOpenShellMasterOD_Index12F3,sizeof(CANOpenShellMasterOD_Index12F3)/sizeof(CANOpenShellMasterOD_Index12F3[0]), 0x12F3}, + { (subindex*)CANOpenShellMasterOD_Index12F4,sizeof(CANOpenShellMasterOD_Index12F4)/sizeof(CANOpenShellMasterOD_Index12F4[0]), 0x12F4}, + { (subindex*)CANOpenShellMasterOD_Index12F5,sizeof(CANOpenShellMasterOD_Index12F5)/sizeof(CANOpenShellMasterOD_Index12F5[0]), 0x12F5}, + { (subindex*)CANOpenShellMasterOD_Index12F6,sizeof(CANOpenShellMasterOD_Index12F6)/sizeof(CANOpenShellMasterOD_Index12F6[0]), 0x12F6}, + { (subindex*)CANOpenShellMasterOD_Index12F7,sizeof(CANOpenShellMasterOD_Index12F7)/sizeof(CANOpenShellMasterOD_Index12F7[0]), 0x12F7}, + { (subindex*)CANOpenShellMasterOD_Index12F8,sizeof(CANOpenShellMasterOD_Index12F8)/sizeof(CANOpenShellMasterOD_Index12F8[0]), 0x12F8}, + { (subindex*)CANOpenShellMasterOD_Index12F9,sizeof(CANOpenShellMasterOD_Index12F9)/sizeof(CANOpenShellMasterOD_Index12F9[0]), 0x12F9}, + { (subindex*)CANOpenShellMasterOD_Index12FA,sizeof(CANOpenShellMasterOD_Index12FA)/sizeof(CANOpenShellMasterOD_Index12FA[0]), 0x12FA}, + { (subindex*)CANOpenShellMasterOD_Index12FB,sizeof(CANOpenShellMasterOD_Index12FB)/sizeof(CANOpenShellMasterOD_Index12FB[0]), 0x12FB}, + { (subindex*)CANOpenShellMasterOD_Index12FC,sizeof(CANOpenShellMasterOD_Index12FC)/sizeof(CANOpenShellMasterOD_Index12FC[0]), 0x12FC}, + { (subindex*)CANOpenShellMasterOD_Index12FD,sizeof(CANOpenShellMasterOD_Index12FD)/sizeof(CANOpenShellMasterOD_Index12FD[0]), 0x12FD}, + { (subindex*)CANOpenShellMasterOD_Index12FE,sizeof(CANOpenShellMasterOD_Index12FE)/sizeof(CANOpenShellMasterOD_Index12FE[0]), 0x12FE}, +}; + +const indextable * CANOpenShellMasterOD_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) +{ + int i; + *callbacks = NULL; + switch(wIndex){ + case 0x1000: i = 0;break; + case 0x1001: i = 1;break; + case 0x1005: i = 2;*callbacks = CANOpenShellMasterOD_Index1005_callbacks; break; + case 0x1006: i = 3;*callbacks = CANOpenShellMasterOD_Index1006_callbacks; break; + case 0x1017: i = 4;*callbacks = CANOpenShellMasterOD_Index1017_callbacks; break; + case 0x1018: i = 5;break; + case 0x1280: i = 6;break; + case 0x1281: i = 7;break; + case 0x1282: i = 8;break; + case 0x1283: i = 9;break; + case 0x1284: i = 10;break; + case 0x1285: i = 11;break; + case 0x1286: i = 12;break; + case 0x1287: i = 13;break; + case 0x1288: i = 14;break; + case 0x1289: i = 15;break; + case 0x128A: i = 16;break; + case 0x128B: i = 17;break; + case 0x128C: i = 18;break; + case 0x128D: i = 19;break; + case 0x128E: i = 20;break; + case 0x128F: i = 21;break; + case 0x1290: i = 22;break; + case 0x1291: i = 23;break; + case 0x1292: i = 24;break; + case 0x1293: i = 25;break; + case 0x1294: i = 26;break; + case 0x1295: i = 27;break; + case 0x1296: i = 28;break; + case 0x1297: i = 29;break; + case 0x1298: i = 30;break; + case 0x1299: i = 31;break; + case 0x129A: i = 32;break; + case 0x129B: i = 33;break; + case 0x129C: i = 34;break; + case 0x129D: i = 35;break; + case 0x129E: i = 36;break; + case 0x129F: i = 37;break; + case 0x12A0: i = 38;break; + case 0x12A1: i = 39;break; + case 0x12A2: i = 40;break; + case 0x12A3: i = 41;break; + case 0x12A4: i = 42;break; + case 0x12A5: i = 43;break; + case 0x12A6: i = 44;break; + case 0x12A7: i = 45;break; + case 0x12A8: i = 46;break; + case 0x12A9: i = 47;break; + case 0x12AA: i = 48;break; + case 0x12AB: i = 49;break; + case 0x12AC: i = 50;break; + case 0x12AD: i = 51;break; + case 0x12AE: i = 52;break; + case 0x12AF: i = 53;break; + case 0x12B0: i = 54;break; + case 0x12B1: i = 55;break; + case 0x12B2: i = 56;break; + case 0x12B3: i = 57;break; + case 0x12B4: i = 58;break; + case 0x12B5: i = 59;break; + case 0x12B6: i = 60;break; + case 0x12B7: i = 61;break; + case 0x12B8: i = 62;break; + case 0x12B9: i = 63;break; + case 0x12BA: i = 64;break; + case 0x12BB: i = 65;break; + case 0x12BC: i = 66;break; + case 0x12BD: i = 67;break; + case 0x12BE: i = 68;break; + case 0x12BF: i = 69;break; + case 0x12C0: i = 70;break; + case 0x12C1: i = 71;break; + case 0x12C2: i = 72;break; + case 0x12C3: i = 73;break; + case 0x12C4: i = 74;break; + case 0x12C5: i = 75;break; + case 0x12C6: i = 76;break; + case 0x12C7: i = 77;break; + case 0x12C8: i = 78;break; + case 0x12C9: i = 79;break; + case 0x12CA: i = 80;break; + case 0x12CB: i = 81;break; + case 0x12CC: i = 82;break; + case 0x12CD: i = 83;break; + case 0x12CE: i = 84;break; + case 0x12CF: i = 85;break; + case 0x12D0: i = 86;break; + case 0x12D1: i = 87;break; + case 0x12D2: i = 88;break; + case 0x12D3: i = 89;break; + case 0x12D4: i = 90;break; + case 0x12D5: i = 91;break; + case 0x12D6: i = 92;break; + case 0x12D7: i = 93;break; + case 0x12D8: i = 94;break; + case 0x12D9: i = 95;break; + case 0x12DA: i = 96;break; + case 0x12DB: i = 97;break; + case 0x12DC: i = 98;break; + case 0x12DD: i = 99;break; + case 0x12DE: i = 100;break; + case 0x12DF: i = 101;break; + case 0x12E0: i = 102;break; + case 0x12E1: i = 103;break; + case 0x12E2: i = 104;break; + case 0x12E3: i = 105;break; + case 0x12E4: i = 106;break; + case 0x12E5: i = 107;break; + case 0x12E6: i = 108;break; + case 0x12E7: i = 109;break; + case 0x12E8: i = 110;break; + case 0x12E9: i = 111;break; + case 0x12EA: i = 112;break; + case 0x12EB: i = 113;break; + case 0x12EC: i = 114;break; + case 0x12ED: i = 115;break; + case 0x12EE: i = 116;break; + case 0x12EF: i = 117;break; + case 0x12F0: i = 118;break; + case 0x12F1: i = 119;break; + case 0x12F2: i = 120;break; + case 0x12F3: i = 121;break; + case 0x12F4: i = 122;break; + case 0x12F5: i = 123;break; + case 0x12F6: i = 124;break; + case 0x12F7: i = 125;break; + case 0x12F8: i = 126;break; + case 0x12F9: i = 127;break; + case 0x12FA: i = 128;break; + case 0x12FB: i = 129;break; + case 0x12FC: i = 130;break; + case 0x12FD: i = 131;break; + case 0x12FE: i = 132;break; + default: + *errorCode = OD_NO_SUCH_OBJECT; + return NULL; + } + *errorCode = OD_SUCCESSFUL; + return &CANOpenShellMasterOD_objdict[i]; +} + +/* + * To count at which received SYNC a PDO must be sent. + * Even if no pdoTransmit are defined, at least one entry is computed + * for compilations issues. + */ +s_PDO_status CANOpenShellMasterOD_PDO_status[1] = {s_PDO_status_Initializer}; + +const quick_index CANOpenShellMasterOD_firstIndex = { + 0, /* SDO_SVR */ + 6, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const quick_index CANOpenShellMasterOD_lastIndex = { + 0, /* SDO_SVR */ + 132, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const UNS16 CANOpenShellMasterOD_ObjdictSize = sizeof(CANOpenShellMasterOD_objdict)/sizeof(CANOpenShellMasterOD_objdict[0]); + +CO_Data CANOpenShellMasterOD_Data = CANOPEN_NODE_DATA_INITIALIZER(CANOpenShellMasterOD); + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShellMasterOD.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShellMasterOD.h Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,16 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#ifndef CANOPENSHELLMASTEROD_H +#define CANOPENSHELLMASTEROD_H + +#include "data.h" + +/* Prototypes of function provided by object dictionnary */ +UNS32 CANOpenShellMasterOD_valueRangeTest (UNS8 typeValue, void * value); +const indextable * CANOpenShellMasterOD_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); + +/* Master node data struct */ +extern CO_Data CANOpenShellMasterOD_Data; + +#endif // CANOPENSHELLMASTEROD_H diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShellSlaveOD.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShellSlaveOD.c Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,2078 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "CANOpenShellSlaveOD.h" + +/**************************************************************************/ +/* Declaration of mapped variables */ +/**************************************************************************/ + +/**************************************************************************/ +/* Declaration of value range types */ +/**************************************************************************/ + +#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */ +UNS32 CANOpenShellSlaveOD_valueRangeTest (UNS8 typeValue, void * value) +{ + switch (typeValue) { + case valueRange_EMC: + if (*(UNS8*)value != (UNS8)0) return OD_VALUE_RANGE_EXCEEDED; + break; + } + return 0; +} + +/**************************************************************************/ +/* The node id */ +/**************************************************************************/ +/* node_id default value.*/ +UNS8 CANOpenShellSlaveOD_bDeviceNodeId = 0x00; + +/**************************************************************************/ +/* Array of message processing information */ + +const UNS8 CANOpenShellSlaveOD_iam_a_slave = 1; + +TIMER_HANDLE CANOpenShellSlaveOD_heartBeatTimers[1]; + +/* +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + OBJECT DICTIONARY + +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +*/ + +/* index 0x1000 : Device Type. */ + UNS32 CANOpenShellSlaveOD_obj1000 = 0x0; /* 0 */ + subindex CANOpenShellSlaveOD_Index1000[] = + { + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1000 } + }; + +/* index 0x1001 : Error Register. */ + UNS8 CANOpenShellSlaveOD_obj1001 = 0x0; /* 0 */ + subindex CANOpenShellSlaveOD_Index1001[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1001 } + }; + +/* index 0x1003 : Pre-defined Error Field */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1003[] = + { + 0x0 /* 0 */ + }; + ODCallback_t CANOpenShellSlaveOD_Index1003_callbacks[] = + { + NULL, + NULL, + }; + subindex CANOpenShellSlaveOD_Index1003[] = + { + { RW, valueRange_EMC, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1003 }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1003[0] } + }; + +/* index 0x1005 : SYNC COB ID */ + UNS32 CANOpenShellSlaveOD_obj1005 = 0x0; /* 0 */ + +/* index 0x1006 : Communication / Cycle Period */ + UNS32 CANOpenShellSlaveOD_obj1006 = 0x0; /* 0 */ + +/* index 0x1014 : Emergency COB ID */ + UNS32 CANOpenShellSlaveOD_obj1014 = 0x80 + 0x00; /* 128 + NodeID */ + +/* index 0x1016 : Consumer Heartbeat Time */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1016 = 0; + UNS32 CANOpenShellSlaveOD_obj1016[]={0}; + +/* index 0x1017 : Producer Heartbeat Time. */ + UNS16 CANOpenShellSlaveOD_obj1017 = 0x0; /* 0 */ + ODCallback_t CANOpenShellSlaveOD_Index1017_callbacks[] = + { + NULL, + }; + subindex CANOpenShellSlaveOD_Index1017[] = + { + { RW, uint16, sizeof (UNS16), (void*)&CANOpenShellSlaveOD_obj1017 } + }; + +/* index 0x1018 : Identity. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1018_Vendor_ID = 0x0; /* 0 */ + UNS32 CANOpenShellSlaveOD_obj1018_Product_Code = 0x0; /* 0 */ + UNS32 CANOpenShellSlaveOD_obj1018_Revision_Number = 0x0; /* 0 */ + UNS32 CANOpenShellSlaveOD_obj1018_Serial_Number = 0x0; /* 0 */ + subindex CANOpenShellSlaveOD_Index1018[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1018 }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1018_Vendor_ID }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1018_Product_Code }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1018_Revision_Number }, + { RO, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1018_Serial_Number } + }; + +/* index 0x1280 : Client SDO 1 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x600; /* 1536 */ + UNS32 CANOpenShellSlaveOD_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x580; /* 1408 */ + UNS8 CANOpenShellSlaveOD_obj1280_Node_ID_of_the_SDO_Server = 0x0; /* 0 */ + subindex CANOpenShellSlaveOD_Index1280[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1280 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1280_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1280_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1280_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1281 : Client SDO 2 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1281 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1281_COB_ID_Client_to_Server_Transmit_SDO = 0x601; /* 1537 */ + UNS32 CANOpenShellSlaveOD_obj1281_COB_ID_Server_to_Client_Receive_SDO = 0x581; /* 1409 */ + UNS8 CANOpenShellSlaveOD_obj1281_Node_ID_of_the_SDO_Server = 0x1; /* 1 */ + subindex CANOpenShellSlaveOD_Index1281[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1281 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1281_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1281_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1281_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1282 : Client SDO 3 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1282 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1282_COB_ID_Client_to_Server_Transmit_SDO = 0x602; /* 1538 */ + UNS32 CANOpenShellSlaveOD_obj1282_COB_ID_Server_to_Client_Receive_SDO = 0x582; /* 1410 */ + UNS8 CANOpenShellSlaveOD_obj1282_Node_ID_of_the_SDO_Server = 0x2; /* 2 */ + subindex CANOpenShellSlaveOD_Index1282[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1282 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1282_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1282_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1282_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1283 : Client SDO 4 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1283 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1283_COB_ID_Client_to_Server_Transmit_SDO = 0x603; /* 1539 */ + UNS32 CANOpenShellSlaveOD_obj1283_COB_ID_Server_to_Client_Receive_SDO = 0x583; /* 1411 */ + UNS8 CANOpenShellSlaveOD_obj1283_Node_ID_of_the_SDO_Server = 0x3; /* 3 */ + subindex CANOpenShellSlaveOD_Index1283[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1283 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1283_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1283_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1283_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1284 : Client SDO 5 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1284 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1284_COB_ID_Client_to_Server_Transmit_SDO = 0x604; /* 1540 */ + UNS32 CANOpenShellSlaveOD_obj1284_COB_ID_Server_to_Client_Receive_SDO = 0x584; /* 1412 */ + UNS8 CANOpenShellSlaveOD_obj1284_Node_ID_of_the_SDO_Server = 0x4; /* 4 */ + subindex CANOpenShellSlaveOD_Index1284[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1284 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1284_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1284_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1284_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1285 : Client SDO 6 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1285 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1285_COB_ID_Client_to_Server_Transmit_SDO = 0x605; /* 1541 */ + UNS32 CANOpenShellSlaveOD_obj1285_COB_ID_Server_to_Client_Receive_SDO = 0x585; /* 1413 */ + UNS8 CANOpenShellSlaveOD_obj1285_Node_ID_of_the_SDO_Server = 0x5; /* 5 */ + subindex CANOpenShellSlaveOD_Index1285[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1285 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1285_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1285_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1285_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1286 : Client SDO 7 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1286 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1286_COB_ID_Client_to_Server_Transmit_SDO = 0x606; /* 1542 */ + UNS32 CANOpenShellSlaveOD_obj1286_COB_ID_Server_to_Client_Receive_SDO = 0x586; /* 1414 */ + UNS8 CANOpenShellSlaveOD_obj1286_Node_ID_of_the_SDO_Server = 0x6; /* 6 */ + subindex CANOpenShellSlaveOD_Index1286[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1286 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1286_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1286_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1286_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1287 : Client SDO 8 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1287 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1287_COB_ID_Client_to_Server_Transmit_SDO = 0x607; /* 1543 */ + UNS32 CANOpenShellSlaveOD_obj1287_COB_ID_Server_to_Client_Receive_SDO = 0x587; /* 1415 */ + UNS8 CANOpenShellSlaveOD_obj1287_Node_ID_of_the_SDO_Server = 0x7; /* 7 */ + subindex CANOpenShellSlaveOD_Index1287[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1287 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1287_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1287_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1287_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1288 : Client SDO 9 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1288 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1288_COB_ID_Client_to_Server_Transmit_SDO = 0x608; /* 1544 */ + UNS32 CANOpenShellSlaveOD_obj1288_COB_ID_Server_to_Client_Receive_SDO = 0x588; /* 1416 */ + UNS8 CANOpenShellSlaveOD_obj1288_Node_ID_of_the_SDO_Server = 0x8; /* 8 */ + subindex CANOpenShellSlaveOD_Index1288[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1288 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1288_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1288_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1288_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1289 : Client SDO 10 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1289 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1289_COB_ID_Client_to_Server_Transmit_SDO = 0x609; /* 1545 */ + UNS32 CANOpenShellSlaveOD_obj1289_COB_ID_Server_to_Client_Receive_SDO = 0x589; /* 1417 */ + UNS8 CANOpenShellSlaveOD_obj1289_Node_ID_of_the_SDO_Server = 0x9; /* 9 */ + subindex CANOpenShellSlaveOD_Index1289[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1289 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1289_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1289_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1289_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128A : Client SDO 11 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128A = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128A_COB_ID_Client_to_Server_Transmit_SDO = 0x60A; /* 1546 */ + UNS32 CANOpenShellSlaveOD_obj128A_COB_ID_Server_to_Client_Receive_SDO = 0x58A; /* 1418 */ + UNS8 CANOpenShellSlaveOD_obj128A_Node_ID_of_the_SDO_Server = 0xA; /* 10 */ + subindex CANOpenShellSlaveOD_Index128A[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128A }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128A_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128A_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128A_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128B : Client SDO 12 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128B = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128B_COB_ID_Client_to_Server_Transmit_SDO = 0x60B; /* 1547 */ + UNS32 CANOpenShellSlaveOD_obj128B_COB_ID_Server_to_Client_Receive_SDO = 0x58B; /* 1419 */ + UNS8 CANOpenShellSlaveOD_obj128B_Node_ID_of_the_SDO_Server = 0xB; /* 11 */ + subindex CANOpenShellSlaveOD_Index128B[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128B }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128B_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128B_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128B_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128C : Client SDO 13 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128C = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128C_COB_ID_Client_to_Server_Transmit_SDO = 0x60C; /* 1548 */ + UNS32 CANOpenShellSlaveOD_obj128C_COB_ID_Server_to_Client_Receive_SDO = 0x58C; /* 1420 */ + UNS8 CANOpenShellSlaveOD_obj128C_Node_ID_of_the_SDO_Server = 0xC; /* 12 */ + subindex CANOpenShellSlaveOD_Index128C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128C }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128C_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128C_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128C_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128D : Client SDO 14 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128D = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128D_COB_ID_Client_to_Server_Transmit_SDO = 0x60D; /* 1549 */ + UNS32 CANOpenShellSlaveOD_obj128D_COB_ID_Server_to_Client_Receive_SDO = 0x58D; /* 1421 */ + UNS8 CANOpenShellSlaveOD_obj128D_Node_ID_of_the_SDO_Server = 0xD; /* 13 */ + subindex CANOpenShellSlaveOD_Index128D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128D }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128D_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128D_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128D_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128E : Client SDO 15 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128E = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128E_COB_ID_Client_to_Server_Transmit_SDO = 0x60E; /* 1550 */ + UNS32 CANOpenShellSlaveOD_obj128E_COB_ID_Server_to_Client_Receive_SDO = 0x58E; /* 1422 */ + UNS8 CANOpenShellSlaveOD_obj128E_Node_ID_of_the_SDO_Server = 0xE; /* 14 */ + subindex CANOpenShellSlaveOD_Index128E[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128E }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128E_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128E_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128E_Node_ID_of_the_SDO_Server } + }; + +/* index 0x128F : Client SDO 16 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj128F = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj128F_COB_ID_Client_to_Server_Transmit_SDO = 0x60F; /* 1551 */ + UNS32 CANOpenShellSlaveOD_obj128F_COB_ID_Server_to_Client_Receive_SDO = 0x58F; /* 1423 */ + UNS8 CANOpenShellSlaveOD_obj128F_Node_ID_of_the_SDO_Server = 0xF; /* 15 */ + subindex CANOpenShellSlaveOD_Index128F[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj128F }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128F_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj128F_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj128F_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1290 : Client SDO 17 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1290 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1290_COB_ID_Client_to_Server_Transmit_SDO = 0x610; /* 1552 */ + UNS32 CANOpenShellSlaveOD_obj1290_COB_ID_Server_to_Client_Receive_SDO = 0x590; /* 1424 */ + UNS8 CANOpenShellSlaveOD_obj1290_Node_ID_of_the_SDO_Server = 0x10; /* 16 */ + subindex CANOpenShellSlaveOD_Index1290[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1290 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1290_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1290_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1290_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1291 : Client SDO 18 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1291 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1291_COB_ID_Client_to_Server_Transmit_SDO = 0x611; /* 1553 */ + UNS32 CANOpenShellSlaveOD_obj1291_COB_ID_Server_to_Client_Receive_SDO = 0x591; /* 1425 */ + UNS8 CANOpenShellSlaveOD_obj1291_Node_ID_of_the_SDO_Server = 0x11; /* 17 */ + subindex CANOpenShellSlaveOD_Index1291[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1291 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1291_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1291_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1291_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1292 : Client SDO 19 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1292 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1292_COB_ID_Client_to_Server_Transmit_SDO = 0x612; /* 1554 */ + UNS32 CANOpenShellSlaveOD_obj1292_COB_ID_Server_to_Client_Receive_SDO = 0x592; /* 1426 */ + UNS8 CANOpenShellSlaveOD_obj1292_Node_ID_of_the_SDO_Server = 0x12; /* 18 */ + subindex CANOpenShellSlaveOD_Index1292[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1292 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1292_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1292_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1292_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1293 : Client SDO 20 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1293 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1293_COB_ID_Client_to_Server_Transmit_SDO = 0x613; /* 1555 */ + UNS32 CANOpenShellSlaveOD_obj1293_COB_ID_Server_to_Client_Receive_SDO = 0x593; /* 1427 */ + UNS8 CANOpenShellSlaveOD_obj1293_Node_ID_of_the_SDO_Server = 0x13; /* 19 */ + subindex CANOpenShellSlaveOD_Index1293[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1293 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1293_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1293_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1293_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1294 : Client SDO 21 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1294 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1294_COB_ID_Client_to_Server_Transmit_SDO = 0x614; /* 1556 */ + UNS32 CANOpenShellSlaveOD_obj1294_COB_ID_Server_to_Client_Receive_SDO = 0x594; /* 1428 */ + UNS8 CANOpenShellSlaveOD_obj1294_Node_ID_of_the_SDO_Server = 0x14; /* 20 */ + subindex CANOpenShellSlaveOD_Index1294[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1294 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1294_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1294_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1294_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1295 : Client SDO 22 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1295 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1295_COB_ID_Client_to_Server_Transmit_SDO = 0x615; /* 1557 */ + UNS32 CANOpenShellSlaveOD_obj1295_COB_ID_Server_to_Client_Receive_SDO = 0x595; /* 1429 */ + UNS8 CANOpenShellSlaveOD_obj1295_Node_ID_of_the_SDO_Server = 0x15; /* 21 */ + subindex CANOpenShellSlaveOD_Index1295[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1295 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1295_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1295_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1295_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1296 : Client SDO 23 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1296 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1296_COB_ID_Client_to_Server_Transmit_SDO = 0x616; /* 1558 */ + UNS32 CANOpenShellSlaveOD_obj1296_COB_ID_Server_to_Client_Receive_SDO = 0x596; /* 1430 */ + UNS8 CANOpenShellSlaveOD_obj1296_Node_ID_of_the_SDO_Server = 0x16; /* 22 */ + subindex CANOpenShellSlaveOD_Index1296[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1296 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1296_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1296_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1296_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1297 : Client SDO 24 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1297 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1297_COB_ID_Client_to_Server_Transmit_SDO = 0x617; /* 1559 */ + UNS32 CANOpenShellSlaveOD_obj1297_COB_ID_Server_to_Client_Receive_SDO = 0x597; /* 1431 */ + UNS8 CANOpenShellSlaveOD_obj1297_Node_ID_of_the_SDO_Server = 0x17; /* 23 */ + subindex CANOpenShellSlaveOD_Index1297[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1297 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1297_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1297_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1297_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1298 : Client SDO 25 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1298 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1298_COB_ID_Client_to_Server_Transmit_SDO = 0x618; /* 1560 */ + UNS32 CANOpenShellSlaveOD_obj1298_COB_ID_Server_to_Client_Receive_SDO = 0x598; /* 1432 */ + UNS8 CANOpenShellSlaveOD_obj1298_Node_ID_of_the_SDO_Server = 0x18; /* 24 */ + subindex CANOpenShellSlaveOD_Index1298[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1298 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1298_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1298_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1298_Node_ID_of_the_SDO_Server } + }; + +/* index 0x1299 : Client SDO 26 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj1299 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj1299_COB_ID_Client_to_Server_Transmit_SDO = 0x619; /* 1561 */ + UNS32 CANOpenShellSlaveOD_obj1299_COB_ID_Server_to_Client_Receive_SDO = 0x599; /* 1433 */ + UNS8 CANOpenShellSlaveOD_obj1299_Node_ID_of_the_SDO_Server = 0x19; /* 25 */ + subindex CANOpenShellSlaveOD_Index1299[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj1299 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1299_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj1299_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj1299_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129A : Client SDO 27 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129A = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129A_COB_ID_Client_to_Server_Transmit_SDO = 0x61A; /* 1562 */ + UNS32 CANOpenShellSlaveOD_obj129A_COB_ID_Server_to_Client_Receive_SDO = 0x59A; /* 1434 */ + UNS8 CANOpenShellSlaveOD_obj129A_Node_ID_of_the_SDO_Server = 0x1A; /* 26 */ + subindex CANOpenShellSlaveOD_Index129A[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129A }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129A_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129A_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129A_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129B : Client SDO 28 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129B = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129B_COB_ID_Client_to_Server_Transmit_SDO = 0x61B; /* 1563 */ + UNS32 CANOpenShellSlaveOD_obj129B_COB_ID_Server_to_Client_Receive_SDO = 0x59B; /* 1435 */ + UNS8 CANOpenShellSlaveOD_obj129B_Node_ID_of_the_SDO_Server = 0x1B; /* 27 */ + subindex CANOpenShellSlaveOD_Index129B[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129B }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129B_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129B_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129B_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129C : Client SDO 29 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129C = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129C_COB_ID_Client_to_Server_Transmit_SDO = 0x61C; /* 1564 */ + UNS32 CANOpenShellSlaveOD_obj129C_COB_ID_Server_to_Client_Receive_SDO = 0x59C; /* 1436 */ + UNS8 CANOpenShellSlaveOD_obj129C_Node_ID_of_the_SDO_Server = 0x1C; /* 28 */ + subindex CANOpenShellSlaveOD_Index129C[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129C }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129C_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129C_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129C_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129D : Client SDO 30 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129D = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129D_COB_ID_Client_to_Server_Transmit_SDO = 0x61D; /* 1565 */ + UNS32 CANOpenShellSlaveOD_obj129D_COB_ID_Server_to_Client_Receive_SDO = 0x59D; /* 1437 */ + UNS8 CANOpenShellSlaveOD_obj129D_Node_ID_of_the_SDO_Server = 0x1D; /* 29 */ + subindex CANOpenShellSlaveOD_Index129D[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129D }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129D_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129D_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129D_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129E : Client SDO 31 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129E = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129E_COB_ID_Client_to_Server_Transmit_SDO = 0x61E; /* 1566 */ + UNS32 CANOpenShellSlaveOD_obj129E_COB_ID_Server_to_Client_Receive_SDO = 0x59E; /* 1438 */ + UNS8 CANOpenShellSlaveOD_obj129E_Node_ID_of_the_SDO_Server = 0x1E; /* 30 */ + subindex CANOpenShellSlaveOD_Index129E[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129E }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129E_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129E_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129E_Node_ID_of_the_SDO_Server } + }; + +/* index 0x129F : Client SDO 32 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj129F = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj129F_COB_ID_Client_to_Server_Transmit_SDO = 0x61F; /* 1567 */ + UNS32 CANOpenShellSlaveOD_obj129F_COB_ID_Server_to_Client_Receive_SDO = 0x59F; /* 1439 */ + UNS8 CANOpenShellSlaveOD_obj129F_Node_ID_of_the_SDO_Server = 0x1F; /* 31 */ + subindex CANOpenShellSlaveOD_Index129F[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj129F }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129F_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj129F_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj129F_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A0 : Client SDO 33 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A0_COB_ID_Client_to_Server_Transmit_SDO = 0x620; /* 1568 */ + UNS32 CANOpenShellSlaveOD_obj12A0_COB_ID_Server_to_Client_Receive_SDO = 0x5A0; /* 1440 */ + UNS8 CANOpenShellSlaveOD_obj12A0_Node_ID_of_the_SDO_Server = 0x20; /* 32 */ + subindex CANOpenShellSlaveOD_Index12A0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A1 : Client SDO 34 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A1_COB_ID_Client_to_Server_Transmit_SDO = 0x621; /* 1569 */ + UNS32 CANOpenShellSlaveOD_obj12A1_COB_ID_Server_to_Client_Receive_SDO = 0x5A1; /* 1441 */ + UNS8 CANOpenShellSlaveOD_obj12A1_Node_ID_of_the_SDO_Server = 0x21; /* 33 */ + subindex CANOpenShellSlaveOD_Index12A1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A2 : Client SDO 35 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A2_COB_ID_Client_to_Server_Transmit_SDO = 0x622; /* 1570 */ + UNS32 CANOpenShellSlaveOD_obj12A2_COB_ID_Server_to_Client_Receive_SDO = 0x5A2; /* 1442 */ + UNS8 CANOpenShellSlaveOD_obj12A2_Node_ID_of_the_SDO_Server = 0x22; /* 34 */ + subindex CANOpenShellSlaveOD_Index12A2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A3 : Client SDO 36 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A3_COB_ID_Client_to_Server_Transmit_SDO = 0x623; /* 1571 */ + UNS32 CANOpenShellSlaveOD_obj12A3_COB_ID_Server_to_Client_Receive_SDO = 0x5A3; /* 1443 */ + UNS8 CANOpenShellSlaveOD_obj12A3_Node_ID_of_the_SDO_Server = 0x23; /* 35 */ + subindex CANOpenShellSlaveOD_Index12A3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A4 : Client SDO 37 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A4_COB_ID_Client_to_Server_Transmit_SDO = 0x624; /* 1572 */ + UNS32 CANOpenShellSlaveOD_obj12A4_COB_ID_Server_to_Client_Receive_SDO = 0x5A4; /* 1444 */ + UNS8 CANOpenShellSlaveOD_obj12A4_Node_ID_of_the_SDO_Server = 0x24; /* 36 */ + subindex CANOpenShellSlaveOD_Index12A4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A5 : Client SDO 38 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A5_COB_ID_Client_to_Server_Transmit_SDO = 0x625; /* 1573 */ + UNS32 CANOpenShellSlaveOD_obj12A5_COB_ID_Server_to_Client_Receive_SDO = 0x5A5; /* 1445 */ + UNS8 CANOpenShellSlaveOD_obj12A5_Node_ID_of_the_SDO_Server = 0x25; /* 37 */ + subindex CANOpenShellSlaveOD_Index12A5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A6 : Client SDO 39 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A6_COB_ID_Client_to_Server_Transmit_SDO = 0x626; /* 1574 */ + UNS32 CANOpenShellSlaveOD_obj12A6_COB_ID_Server_to_Client_Receive_SDO = 0x5A6; /* 1446 */ + UNS8 CANOpenShellSlaveOD_obj12A6_Node_ID_of_the_SDO_Server = 0x26; /* 38 */ + subindex CANOpenShellSlaveOD_Index12A6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A7 : Client SDO 40 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A7_COB_ID_Client_to_Server_Transmit_SDO = 0x627; /* 1575 */ + UNS32 CANOpenShellSlaveOD_obj12A7_COB_ID_Server_to_Client_Receive_SDO = 0x5A7; /* 1447 */ + UNS8 CANOpenShellSlaveOD_obj12A7_Node_ID_of_the_SDO_Server = 0x27; /* 39 */ + subindex CANOpenShellSlaveOD_Index12A7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A8 : Client SDO 41 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A8_COB_ID_Client_to_Server_Transmit_SDO = 0x628; /* 1576 */ + UNS32 CANOpenShellSlaveOD_obj12A8_COB_ID_Server_to_Client_Receive_SDO = 0x5A8; /* 1448 */ + UNS8 CANOpenShellSlaveOD_obj12A8_Node_ID_of_the_SDO_Server = 0x28; /* 40 */ + subindex CANOpenShellSlaveOD_Index12A8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12A9 : Client SDO 42 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12A9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12A9_COB_ID_Client_to_Server_Transmit_SDO = 0x629; /* 1577 */ + UNS32 CANOpenShellSlaveOD_obj12A9_COB_ID_Server_to_Client_Receive_SDO = 0x5A9; /* 1449 */ + UNS8 CANOpenShellSlaveOD_obj12A9_Node_ID_of_the_SDO_Server = 0x29; /* 41 */ + subindex CANOpenShellSlaveOD_Index12A9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12A9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12A9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12A9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AA : Client SDO 43 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AA_COB_ID_Client_to_Server_Transmit_SDO = 0x62A; /* 1578 */ + UNS32 CANOpenShellSlaveOD_obj12AA_COB_ID_Server_to_Client_Receive_SDO = 0x5AA; /* 1450 */ + UNS8 CANOpenShellSlaveOD_obj12AA_Node_ID_of_the_SDO_Server = 0x2A; /* 42 */ + subindex CANOpenShellSlaveOD_Index12AA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AB : Client SDO 44 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AB_COB_ID_Client_to_Server_Transmit_SDO = 0x62B; /* 1579 */ + UNS32 CANOpenShellSlaveOD_obj12AB_COB_ID_Server_to_Client_Receive_SDO = 0x5AB; /* 1451 */ + UNS8 CANOpenShellSlaveOD_obj12AB_Node_ID_of_the_SDO_Server = 0x2B; /* 43 */ + subindex CANOpenShellSlaveOD_Index12AB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AC : Client SDO 45 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AC_COB_ID_Client_to_Server_Transmit_SDO = 0x62C; /* 1580 */ + UNS32 CANOpenShellSlaveOD_obj12AC_COB_ID_Server_to_Client_Receive_SDO = 0x5AC; /* 1452 */ + UNS8 CANOpenShellSlaveOD_obj12AC_Node_ID_of_the_SDO_Server = 0x2C; /* 44 */ + subindex CANOpenShellSlaveOD_Index12AC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AD : Client SDO 46 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AD_COB_ID_Client_to_Server_Transmit_SDO = 0x62D; /* 1581 */ + UNS32 CANOpenShellSlaveOD_obj12AD_COB_ID_Server_to_Client_Receive_SDO = 0x5AD; /* 1453 */ + UNS8 CANOpenShellSlaveOD_obj12AD_Node_ID_of_the_SDO_Server = 0x2D; /* 45 */ + subindex CANOpenShellSlaveOD_Index12AD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AE : Client SDO 47 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AE_COB_ID_Client_to_Server_Transmit_SDO = 0x62E; /* 1582 */ + UNS32 CANOpenShellSlaveOD_obj12AE_COB_ID_Server_to_Client_Receive_SDO = 0x5AE; /* 1454 */ + UNS8 CANOpenShellSlaveOD_obj12AE_Node_ID_of_the_SDO_Server = 0x2E; /* 46 */ + subindex CANOpenShellSlaveOD_Index12AE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12AF : Client SDO 48 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12AF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12AF_COB_ID_Client_to_Server_Transmit_SDO = 0x62F; /* 1583 */ + UNS32 CANOpenShellSlaveOD_obj12AF_COB_ID_Server_to_Client_Receive_SDO = 0x5AF; /* 1455 */ + UNS8 CANOpenShellSlaveOD_obj12AF_Node_ID_of_the_SDO_Server = 0x2F; /* 47 */ + subindex CANOpenShellSlaveOD_Index12AF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12AF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12AF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12AF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B0 : Client SDO 49 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B0_COB_ID_Client_to_Server_Transmit_SDO = 0x630; /* 1584 */ + UNS32 CANOpenShellSlaveOD_obj12B0_COB_ID_Server_to_Client_Receive_SDO = 0x5B0; /* 1456 */ + UNS8 CANOpenShellSlaveOD_obj12B0_Node_ID_of_the_SDO_Server = 0x30; /* 48 */ + subindex CANOpenShellSlaveOD_Index12B0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B1 : Client SDO 50 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B1_COB_ID_Client_to_Server_Transmit_SDO = 0x631; /* 1585 */ + UNS32 CANOpenShellSlaveOD_obj12B1_COB_ID_Server_to_Client_Receive_SDO = 0x5B1; /* 1457 */ + UNS8 CANOpenShellSlaveOD_obj12B1_Node_ID_of_the_SDO_Server = 0x31; /* 49 */ + subindex CANOpenShellSlaveOD_Index12B1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B2 : Client SDO 51 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B2_COB_ID_Client_to_Server_Transmit_SDO = 0x632; /* 1586 */ + UNS32 CANOpenShellSlaveOD_obj12B2_COB_ID_Server_to_Client_Receive_SDO = 0x5B2; /* 1458 */ + UNS8 CANOpenShellSlaveOD_obj12B2_Node_ID_of_the_SDO_Server = 0x32; /* 50 */ + subindex CANOpenShellSlaveOD_Index12B2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B3 : Client SDO 52 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B3_COB_ID_Client_to_Server_Transmit_SDO = 0x633; /* 1587 */ + UNS32 CANOpenShellSlaveOD_obj12B3_COB_ID_Server_to_Client_Receive_SDO = 0x5B3; /* 1459 */ + UNS8 CANOpenShellSlaveOD_obj12B3_Node_ID_of_the_SDO_Server = 0x33; /* 51 */ + subindex CANOpenShellSlaveOD_Index12B3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B4 : Client SDO 53 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B4_COB_ID_Client_to_Server_Transmit_SDO = 0x634; /* 1588 */ + UNS32 CANOpenShellSlaveOD_obj12B4_COB_ID_Server_to_Client_Receive_SDO = 0x5B4; /* 1460 */ + UNS8 CANOpenShellSlaveOD_obj12B4_Node_ID_of_the_SDO_Server = 0x34; /* 52 */ + subindex CANOpenShellSlaveOD_Index12B4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B5 : Client SDO 54 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B5_COB_ID_Client_to_Server_Transmit_SDO = 0x635; /* 1589 */ + UNS32 CANOpenShellSlaveOD_obj12B5_COB_ID_Server_to_Client_Receive_SDO = 0x5B5; /* 1461 */ + UNS8 CANOpenShellSlaveOD_obj12B5_Node_ID_of_the_SDO_Server = 0x35; /* 53 */ + subindex CANOpenShellSlaveOD_Index12B5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B6 : Client SDO 55 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B6_COB_ID_Client_to_Server_Transmit_SDO = 0x636; /* 1590 */ + UNS32 CANOpenShellSlaveOD_obj12B6_COB_ID_Server_to_Client_Receive_SDO = 0x5B6; /* 1462 */ + UNS8 CANOpenShellSlaveOD_obj12B6_Node_ID_of_the_SDO_Server = 0x36; /* 54 */ + subindex CANOpenShellSlaveOD_Index12B6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B7 : Client SDO 56 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B7_COB_ID_Client_to_Server_Transmit_SDO = 0x637; /* 1591 */ + UNS32 CANOpenShellSlaveOD_obj12B7_COB_ID_Server_to_Client_Receive_SDO = 0x5B7; /* 1463 */ + UNS8 CANOpenShellSlaveOD_obj12B7_Node_ID_of_the_SDO_Server = 0x37; /* 55 */ + subindex CANOpenShellSlaveOD_Index12B7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B8 : Client SDO 57 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B8_COB_ID_Client_to_Server_Transmit_SDO = 0x638; /* 1592 */ + UNS32 CANOpenShellSlaveOD_obj12B8_COB_ID_Server_to_Client_Receive_SDO = 0x5B8; /* 1464 */ + UNS8 CANOpenShellSlaveOD_obj12B8_Node_ID_of_the_SDO_Server = 0x38; /* 56 */ + subindex CANOpenShellSlaveOD_Index12B8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12B9 : Client SDO 58 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12B9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12B9_COB_ID_Client_to_Server_Transmit_SDO = 0x639; /* 1593 */ + UNS32 CANOpenShellSlaveOD_obj12B9_COB_ID_Server_to_Client_Receive_SDO = 0x5B9; /* 1465 */ + UNS8 CANOpenShellSlaveOD_obj12B9_Node_ID_of_the_SDO_Server = 0x39; /* 57 */ + subindex CANOpenShellSlaveOD_Index12B9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12B9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12B9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12B9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BA : Client SDO 59 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BA_COB_ID_Client_to_Server_Transmit_SDO = 0x63A; /* 1594 */ + UNS32 CANOpenShellSlaveOD_obj12BA_COB_ID_Server_to_Client_Receive_SDO = 0x5BA; /* 1466 */ + UNS8 CANOpenShellSlaveOD_obj12BA_Node_ID_of_the_SDO_Server = 0x3A; /* 58 */ + subindex CANOpenShellSlaveOD_Index12BA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BB : Client SDO 60 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BB_COB_ID_Client_to_Server_Transmit_SDO = 0x63B; /* 1595 */ + UNS32 CANOpenShellSlaveOD_obj12BB_COB_ID_Server_to_Client_Receive_SDO = 0x5BB; /* 1467 */ + UNS8 CANOpenShellSlaveOD_obj12BB_Node_ID_of_the_SDO_Server = 0x3B; /* 59 */ + subindex CANOpenShellSlaveOD_Index12BB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BC : Client SDO 61 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BC_COB_ID_Client_to_Server_Transmit_SDO = 0x63C; /* 1596 */ + UNS32 CANOpenShellSlaveOD_obj12BC_COB_ID_Server_to_Client_Receive_SDO = 0x5BC; /* 1468 */ + UNS8 CANOpenShellSlaveOD_obj12BC_Node_ID_of_the_SDO_Server = 0x3C; /* 60 */ + subindex CANOpenShellSlaveOD_Index12BC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BD : Client SDO 62 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BD_COB_ID_Client_to_Server_Transmit_SDO = 0x63D; /* 1597 */ + UNS32 CANOpenShellSlaveOD_obj12BD_COB_ID_Server_to_Client_Receive_SDO = 0x5BD; /* 1469 */ + UNS8 CANOpenShellSlaveOD_obj12BD_Node_ID_of_the_SDO_Server = 0x3D; /* 61 */ + subindex CANOpenShellSlaveOD_Index12BD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BE : Client SDO 63 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BE_COB_ID_Client_to_Server_Transmit_SDO = 0x63E; /* 1598 */ + UNS32 CANOpenShellSlaveOD_obj12BE_COB_ID_Server_to_Client_Receive_SDO = 0x5BE; /* 1470 */ + UNS8 CANOpenShellSlaveOD_obj12BE_Node_ID_of_the_SDO_Server = 0x3E; /* 62 */ + subindex CANOpenShellSlaveOD_Index12BE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12BF : Client SDO 64 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12BF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12BF_COB_ID_Client_to_Server_Transmit_SDO = 0x63F; /* 1599 */ + UNS32 CANOpenShellSlaveOD_obj12BF_COB_ID_Server_to_Client_Receive_SDO = 0x5BF; /* 1471 */ + UNS8 CANOpenShellSlaveOD_obj12BF_Node_ID_of_the_SDO_Server = 0x3F; /* 63 */ + subindex CANOpenShellSlaveOD_Index12BF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12BF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12BF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12BF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C0 : Client SDO 65 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C0_COB_ID_Client_to_Server_Transmit_SDO = 0x640; /* 1600 */ + UNS32 CANOpenShellSlaveOD_obj12C0_COB_ID_Server_to_Client_Receive_SDO = 0x5C0; /* 1472 */ + UNS8 CANOpenShellSlaveOD_obj12C0_Node_ID_of_the_SDO_Server = 0x40; /* 64 */ + subindex CANOpenShellSlaveOD_Index12C0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C1 : Client SDO 66 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C1_COB_ID_Client_to_Server_Transmit_SDO = 0x641; /* 1601 */ + UNS32 CANOpenShellSlaveOD_obj12C1_COB_ID_Server_to_Client_Receive_SDO = 0x5C1; /* 1473 */ + UNS8 CANOpenShellSlaveOD_obj12C1_Node_ID_of_the_SDO_Server = 0x41; /* 65 */ + subindex CANOpenShellSlaveOD_Index12C1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C2 : Client SDO 67 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C2_COB_ID_Client_to_Server_Transmit_SDO = 0x642; /* 1602 */ + UNS32 CANOpenShellSlaveOD_obj12C2_COB_ID_Server_to_Client_Receive_SDO = 0x5C2; /* 1474 */ + UNS8 CANOpenShellSlaveOD_obj12C2_Node_ID_of_the_SDO_Server = 0x42; /* 66 */ + subindex CANOpenShellSlaveOD_Index12C2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C3 : Client SDO 68 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C3_COB_ID_Client_to_Server_Transmit_SDO = 0x643; /* 1603 */ + UNS32 CANOpenShellSlaveOD_obj12C3_COB_ID_Server_to_Client_Receive_SDO = 0x5C3; /* 1475 */ + UNS8 CANOpenShellSlaveOD_obj12C3_Node_ID_of_the_SDO_Server = 0x43; /* 67 */ + subindex CANOpenShellSlaveOD_Index12C3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C4 : Client SDO 69 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C4_COB_ID_Client_to_Server_Transmit_SDO = 0x644; /* 1604 */ + UNS32 CANOpenShellSlaveOD_obj12C4_COB_ID_Server_to_Client_Receive_SDO = 0x5C4; /* 1476 */ + UNS8 CANOpenShellSlaveOD_obj12C4_Node_ID_of_the_SDO_Server = 0x44; /* 68 */ + subindex CANOpenShellSlaveOD_Index12C4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C5 : Client SDO 70 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C5_COB_ID_Client_to_Server_Transmit_SDO = 0x645; /* 1605 */ + UNS32 CANOpenShellSlaveOD_obj12C5_COB_ID_Server_to_Client_Receive_SDO = 0x5C5; /* 1477 */ + UNS8 CANOpenShellSlaveOD_obj12C5_Node_ID_of_the_SDO_Server = 0x45; /* 69 */ + subindex CANOpenShellSlaveOD_Index12C5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C6 : Client SDO 71 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C6_COB_ID_Client_to_Server_Transmit_SDO = 0x646; /* 1606 */ + UNS32 CANOpenShellSlaveOD_obj12C6_COB_ID_Server_to_Client_Receive_SDO = 0x5C6; /* 1478 */ + UNS8 CANOpenShellSlaveOD_obj12C6_Node_ID_of_the_SDO_Server = 0x46; /* 70 */ + subindex CANOpenShellSlaveOD_Index12C6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C7 : Client SDO 72 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C7_COB_ID_Client_to_Server_Transmit_SDO = 0x647; /* 1607 */ + UNS32 CANOpenShellSlaveOD_obj12C7_COB_ID_Server_to_Client_Receive_SDO = 0x5C7; /* 1479 */ + UNS8 CANOpenShellSlaveOD_obj12C7_Node_ID_of_the_SDO_Server = 0x47; /* 71 */ + subindex CANOpenShellSlaveOD_Index12C7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C8 : Client SDO 73 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C8_COB_ID_Client_to_Server_Transmit_SDO = 0x648; /* 1608 */ + UNS32 CANOpenShellSlaveOD_obj12C8_COB_ID_Server_to_Client_Receive_SDO = 0x5C8; /* 1480 */ + UNS8 CANOpenShellSlaveOD_obj12C8_Node_ID_of_the_SDO_Server = 0x48; /* 72 */ + subindex CANOpenShellSlaveOD_Index12C8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12C9 : Client SDO 74 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12C9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12C9_COB_ID_Client_to_Server_Transmit_SDO = 0x649; /* 1609 */ + UNS32 CANOpenShellSlaveOD_obj12C9_COB_ID_Server_to_Client_Receive_SDO = 0x5C9; /* 1481 */ + UNS8 CANOpenShellSlaveOD_obj12C9_Node_ID_of_the_SDO_Server = 0x49; /* 73 */ + subindex CANOpenShellSlaveOD_Index12C9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12C9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12C9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12C9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CA : Client SDO 75 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CA_COB_ID_Client_to_Server_Transmit_SDO = 0x64A; /* 1610 */ + UNS32 CANOpenShellSlaveOD_obj12CA_COB_ID_Server_to_Client_Receive_SDO = 0x5CA; /* 1482 */ + UNS8 CANOpenShellSlaveOD_obj12CA_Node_ID_of_the_SDO_Server = 0x4A; /* 74 */ + subindex CANOpenShellSlaveOD_Index12CA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CB : Client SDO 76 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CB_COB_ID_Client_to_Server_Transmit_SDO = 0x64B; /* 1611 */ + UNS32 CANOpenShellSlaveOD_obj12CB_COB_ID_Server_to_Client_Receive_SDO = 0x5CB; /* 1483 */ + UNS8 CANOpenShellSlaveOD_obj12CB_Node_ID_of_the_SDO_Server = 0x4B; /* 75 */ + subindex CANOpenShellSlaveOD_Index12CB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CC : Client SDO 77 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CC_COB_ID_Client_to_Server_Transmit_SDO = 0x64C; /* 1612 */ + UNS32 CANOpenShellSlaveOD_obj12CC_COB_ID_Server_to_Client_Receive_SDO = 0x5CC; /* 1484 */ + UNS8 CANOpenShellSlaveOD_obj12CC_Node_ID_of_the_SDO_Server = 0x4C; /* 76 */ + subindex CANOpenShellSlaveOD_Index12CC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CD : Client SDO 78 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CD_COB_ID_Client_to_Server_Transmit_SDO = 0x64D; /* 1613 */ + UNS32 CANOpenShellSlaveOD_obj12CD_COB_ID_Server_to_Client_Receive_SDO = 0x5CD; /* 1485 */ + UNS8 CANOpenShellSlaveOD_obj12CD_Node_ID_of_the_SDO_Server = 0x4D; /* 77 */ + subindex CANOpenShellSlaveOD_Index12CD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CE : Client SDO 79 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CE_COB_ID_Client_to_Server_Transmit_SDO = 0x64E; /* 1614 */ + UNS32 CANOpenShellSlaveOD_obj12CE_COB_ID_Server_to_Client_Receive_SDO = 0x5CE; /* 1486 */ + UNS8 CANOpenShellSlaveOD_obj12CE_Node_ID_of_the_SDO_Server = 0x4E; /* 78 */ + subindex CANOpenShellSlaveOD_Index12CE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12CF : Client SDO 80 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12CF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12CF_COB_ID_Client_to_Server_Transmit_SDO = 0x64F; /* 1615 */ + UNS32 CANOpenShellSlaveOD_obj12CF_COB_ID_Server_to_Client_Receive_SDO = 0x5CF; /* 1487 */ + UNS8 CANOpenShellSlaveOD_obj12CF_Node_ID_of_the_SDO_Server = 0x4F; /* 79 */ + subindex CANOpenShellSlaveOD_Index12CF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12CF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12CF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12CF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D0 : Client SDO 81 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D0_COB_ID_Client_to_Server_Transmit_SDO = 0x650; /* 1616 */ + UNS32 CANOpenShellSlaveOD_obj12D0_COB_ID_Server_to_Client_Receive_SDO = 0x5D0; /* 1488 */ + UNS8 CANOpenShellSlaveOD_obj12D0_Node_ID_of_the_SDO_Server = 0x50; /* 80 */ + subindex CANOpenShellSlaveOD_Index12D0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D1 : Client SDO 82 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D1_COB_ID_Client_to_Server_Transmit_SDO = 0x651; /* 1617 */ + UNS32 CANOpenShellSlaveOD_obj12D1_COB_ID_Server_to_Client_Receive_SDO = 0x5D1; /* 1489 */ + UNS8 CANOpenShellSlaveOD_obj12D1_Node_ID_of_the_SDO_Server = 0x51; /* 81 */ + subindex CANOpenShellSlaveOD_Index12D1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D2 : Client SDO 83 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D2_COB_ID_Client_to_Server_Transmit_SDO = 0x652; /* 1618 */ + UNS32 CANOpenShellSlaveOD_obj12D2_COB_ID_Server_to_Client_Receive_SDO = 0x5D2; /* 1490 */ + UNS8 CANOpenShellSlaveOD_obj12D2_Node_ID_of_the_SDO_Server = 0x52; /* 82 */ + subindex CANOpenShellSlaveOD_Index12D2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D3 : Client SDO 84 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D3_COB_ID_Client_to_Server_Transmit_SDO = 0x653; /* 1619 */ + UNS32 CANOpenShellSlaveOD_obj12D3_COB_ID_Server_to_Client_Receive_SDO = 0x5D3; /* 1491 */ + UNS8 CANOpenShellSlaveOD_obj12D3_Node_ID_of_the_SDO_Server = 0x53; /* 83 */ + subindex CANOpenShellSlaveOD_Index12D3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D4 : Client SDO 85 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D4_COB_ID_Client_to_Server_Transmit_SDO = 0x654; /* 1620 */ + UNS32 CANOpenShellSlaveOD_obj12D4_COB_ID_Server_to_Client_Receive_SDO = 0x5D4; /* 1492 */ + UNS8 CANOpenShellSlaveOD_obj12D4_Node_ID_of_the_SDO_Server = 0x54; /* 84 */ + subindex CANOpenShellSlaveOD_Index12D4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D5 : Client SDO 86 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D5_COB_ID_Client_to_Server_Transmit_SDO = 0x655; /* 1621 */ + UNS32 CANOpenShellSlaveOD_obj12D5_COB_ID_Server_to_Client_Receive_SDO = 0x5D5; /* 1493 */ + UNS8 CANOpenShellSlaveOD_obj12D5_Node_ID_of_the_SDO_Server = 0x55; /* 85 */ + subindex CANOpenShellSlaveOD_Index12D5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D6 : Client SDO 87 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D6_COB_ID_Client_to_Server_Transmit_SDO = 0x656; /* 1622 */ + UNS32 CANOpenShellSlaveOD_obj12D6_COB_ID_Server_to_Client_Receive_SDO = 0x5D6; /* 1494 */ + UNS8 CANOpenShellSlaveOD_obj12D6_Node_ID_of_the_SDO_Server = 0x56; /* 86 */ + subindex CANOpenShellSlaveOD_Index12D6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D7 : Client SDO 88 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D7_COB_ID_Client_to_Server_Transmit_SDO = 0x657; /* 1623 */ + UNS32 CANOpenShellSlaveOD_obj12D7_COB_ID_Server_to_Client_Receive_SDO = 0x5D7; /* 1495 */ + UNS8 CANOpenShellSlaveOD_obj12D7_Node_ID_of_the_SDO_Server = 0x57; /* 87 */ + subindex CANOpenShellSlaveOD_Index12D7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D8 : Client SDO 89 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D8_COB_ID_Client_to_Server_Transmit_SDO = 0x658; /* 1624 */ + UNS32 CANOpenShellSlaveOD_obj12D8_COB_ID_Server_to_Client_Receive_SDO = 0x5D8; /* 1496 */ + UNS8 CANOpenShellSlaveOD_obj12D8_Node_ID_of_the_SDO_Server = 0x58; /* 88 */ + subindex CANOpenShellSlaveOD_Index12D8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12D9 : Client SDO 90 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12D9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12D9_COB_ID_Client_to_Server_Transmit_SDO = 0x659; /* 1625 */ + UNS32 CANOpenShellSlaveOD_obj12D9_COB_ID_Server_to_Client_Receive_SDO = 0x5D9; /* 1497 */ + UNS8 CANOpenShellSlaveOD_obj12D9_Node_ID_of_the_SDO_Server = 0x59; /* 89 */ + subindex CANOpenShellSlaveOD_Index12D9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12D9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12D9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12D9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DA : Client SDO 91 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DA_COB_ID_Client_to_Server_Transmit_SDO = 0x65A; /* 1626 */ + UNS32 CANOpenShellSlaveOD_obj12DA_COB_ID_Server_to_Client_Receive_SDO = 0x5DA; /* 1498 */ + UNS8 CANOpenShellSlaveOD_obj12DA_Node_ID_of_the_SDO_Server = 0x5A; /* 90 */ + subindex CANOpenShellSlaveOD_Index12DA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DB : Client SDO 92 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DB_COB_ID_Client_to_Server_Transmit_SDO = 0x65B; /* 1627 */ + UNS32 CANOpenShellSlaveOD_obj12DB_COB_ID_Server_to_Client_Receive_SDO = 0x5DB; /* 1499 */ + UNS8 CANOpenShellSlaveOD_obj12DB_Node_ID_of_the_SDO_Server = 0x5B; /* 91 */ + subindex CANOpenShellSlaveOD_Index12DB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DC : Client SDO 93 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DC_COB_ID_Client_to_Server_Transmit_SDO = 0x65C; /* 1628 */ + UNS32 CANOpenShellSlaveOD_obj12DC_COB_ID_Server_to_Client_Receive_SDO = 0x5DC; /* 1500 */ + UNS8 CANOpenShellSlaveOD_obj12DC_Node_ID_of_the_SDO_Server = 0x5C; /* 92 */ + subindex CANOpenShellSlaveOD_Index12DC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DD : Client SDO 94 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DD_COB_ID_Client_to_Server_Transmit_SDO = 0x65D; /* 1629 */ + UNS32 CANOpenShellSlaveOD_obj12DD_COB_ID_Server_to_Client_Receive_SDO = 0x5DD; /* 1501 */ + UNS8 CANOpenShellSlaveOD_obj12DD_Node_ID_of_the_SDO_Server = 0x5D; /* 93 */ + subindex CANOpenShellSlaveOD_Index12DD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DE : Client SDO 95 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DE_COB_ID_Client_to_Server_Transmit_SDO = 0x65E; /* 1630 */ + UNS32 CANOpenShellSlaveOD_obj12DE_COB_ID_Server_to_Client_Receive_SDO = 0x5DE; /* 1502 */ + UNS8 CANOpenShellSlaveOD_obj12DE_Node_ID_of_the_SDO_Server = 0x5E; /* 94 */ + subindex CANOpenShellSlaveOD_Index12DE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12DF : Client SDO 96 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12DF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12DF_COB_ID_Client_to_Server_Transmit_SDO = 0x65F; /* 1631 */ + UNS32 CANOpenShellSlaveOD_obj12DF_COB_ID_Server_to_Client_Receive_SDO = 0x5DF; /* 1503 */ + UNS8 CANOpenShellSlaveOD_obj12DF_Node_ID_of_the_SDO_Server = 0x5F; /* 95 */ + subindex CANOpenShellSlaveOD_Index12DF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12DF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12DF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12DF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E0 : Client SDO 97 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E0_COB_ID_Client_to_Server_Transmit_SDO = 0x660; /* 1632 */ + UNS32 CANOpenShellSlaveOD_obj12E0_COB_ID_Server_to_Client_Receive_SDO = 0x5E0; /* 1504 */ + UNS8 CANOpenShellSlaveOD_obj12E0_Node_ID_of_the_SDO_Server = 0x60; /* 96 */ + subindex CANOpenShellSlaveOD_Index12E0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E1 : Client SDO 98 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E1_COB_ID_Client_to_Server_Transmit_SDO = 0x661; /* 1633 */ + UNS32 CANOpenShellSlaveOD_obj12E1_COB_ID_Server_to_Client_Receive_SDO = 0x5E1; /* 1505 */ + UNS8 CANOpenShellSlaveOD_obj12E1_Node_ID_of_the_SDO_Server = 0x61; /* 97 */ + subindex CANOpenShellSlaveOD_Index12E1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E2 : Client SDO 99 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E2_COB_ID_Client_to_Server_Transmit_SDO = 0x662; /* 1634 */ + UNS32 CANOpenShellSlaveOD_obj12E2_COB_ID_Server_to_Client_Receive_SDO = 0x5E2; /* 1506 */ + UNS8 CANOpenShellSlaveOD_obj12E2_Node_ID_of_the_SDO_Server = 0x62; /* 98 */ + subindex CANOpenShellSlaveOD_Index12E2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E3 : Client SDO 100 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E3_COB_ID_Client_to_Server_Transmit_SDO = 0x663; /* 1635 */ + UNS32 CANOpenShellSlaveOD_obj12E3_COB_ID_Server_to_Client_Receive_SDO = 0x5E3; /* 1507 */ + UNS8 CANOpenShellSlaveOD_obj12E3_Node_ID_of_the_SDO_Server = 0x63; /* 99 */ + subindex CANOpenShellSlaveOD_Index12E3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E4 : Client SDO 101 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E4_COB_ID_Client_to_Server_Transmit_SDO = 0x664; /* 1636 */ + UNS32 CANOpenShellSlaveOD_obj12E4_COB_ID_Server_to_Client_Receive_SDO = 0x5E4; /* 1508 */ + UNS8 CANOpenShellSlaveOD_obj12E4_Node_ID_of_the_SDO_Server = 0x64; /* 100 */ + subindex CANOpenShellSlaveOD_Index12E4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E5 : Client SDO 102 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E5_COB_ID_Client_to_Server_Transmit_SDO = 0x665; /* 1637 */ + UNS32 CANOpenShellSlaveOD_obj12E5_COB_ID_Server_to_Client_Receive_SDO = 0x5E5; /* 1509 */ + UNS8 CANOpenShellSlaveOD_obj12E5_Node_ID_of_the_SDO_Server = 0x65; /* 101 */ + subindex CANOpenShellSlaveOD_Index12E5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E6 : Client SDO 103 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E6_COB_ID_Client_to_Server_Transmit_SDO = 0x666; /* 1638 */ + UNS32 CANOpenShellSlaveOD_obj12E6_COB_ID_Server_to_Client_Receive_SDO = 0x5E6; /* 1510 */ + UNS8 CANOpenShellSlaveOD_obj12E6_Node_ID_of_the_SDO_Server = 0x66; /* 102 */ + subindex CANOpenShellSlaveOD_Index12E6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E7 : Client SDO 104 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E7_COB_ID_Client_to_Server_Transmit_SDO = 0x667; /* 1639 */ + UNS32 CANOpenShellSlaveOD_obj12E7_COB_ID_Server_to_Client_Receive_SDO = 0x5E7; /* 1511 */ + UNS8 CANOpenShellSlaveOD_obj12E7_Node_ID_of_the_SDO_Server = 0x67; /* 103 */ + subindex CANOpenShellSlaveOD_Index12E7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E8 : Client SDO 105 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E8_COB_ID_Client_to_Server_Transmit_SDO = 0x668; /* 1640 */ + UNS32 CANOpenShellSlaveOD_obj12E8_COB_ID_Server_to_Client_Receive_SDO = 0x5E8; /* 1512 */ + UNS8 CANOpenShellSlaveOD_obj12E8_Node_ID_of_the_SDO_Server = 0x68; /* 104 */ + subindex CANOpenShellSlaveOD_Index12E8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12E9 : Client SDO 106 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12E9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12E9_COB_ID_Client_to_Server_Transmit_SDO = 0x669; /* 1641 */ + UNS32 CANOpenShellSlaveOD_obj12E9_COB_ID_Server_to_Client_Receive_SDO = 0x5E9; /* 1513 */ + UNS8 CANOpenShellSlaveOD_obj12E9_Node_ID_of_the_SDO_Server = 0x69; /* 105 */ + subindex CANOpenShellSlaveOD_Index12E9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12E9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12E9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12E9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EA : Client SDO 107 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12EA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12EA_COB_ID_Client_to_Server_Transmit_SDO = 0x66A; /* 1642 */ + UNS32 CANOpenShellSlaveOD_obj12EA_COB_ID_Server_to_Client_Receive_SDO = 0x5EA; /* 1514 */ + UNS8 CANOpenShellSlaveOD_obj12EA_Node_ID_of_the_SDO_Server = 0x6A; /* 106 */ + subindex CANOpenShellSlaveOD_Index12EA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12EA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12EA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EB : Client SDO 108 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12EB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12EB_COB_ID_Client_to_Server_Transmit_SDO = 0x66B; /* 1643 */ + UNS32 CANOpenShellSlaveOD_obj12EB_COB_ID_Server_to_Client_Receive_SDO = 0x5EB; /* 1515 */ + UNS8 CANOpenShellSlaveOD_obj12EB_Node_ID_of_the_SDO_Server = 0x6B; /* 107 */ + subindex CANOpenShellSlaveOD_Index12EB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12EB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12EB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EC : Client SDO 109 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12EC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12EC_COB_ID_Client_to_Server_Transmit_SDO = 0x66C; /* 1644 */ + UNS32 CANOpenShellSlaveOD_obj12EC_COB_ID_Server_to_Client_Receive_SDO = 0x5EC; /* 1516 */ + UNS8 CANOpenShellSlaveOD_obj12EC_Node_ID_of_the_SDO_Server = 0x6C; /* 108 */ + subindex CANOpenShellSlaveOD_Index12EC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12EC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12EC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12ED : Client SDO 110 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12ED = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12ED_COB_ID_Client_to_Server_Transmit_SDO = 0x66D; /* 1645 */ + UNS32 CANOpenShellSlaveOD_obj12ED_COB_ID_Server_to_Client_Receive_SDO = 0x5ED; /* 1517 */ + UNS8 CANOpenShellSlaveOD_obj12ED_Node_ID_of_the_SDO_Server = 0x6D; /* 109 */ + subindex CANOpenShellSlaveOD_Index12ED[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12ED }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12ED_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12ED_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12ED_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EE : Client SDO 111 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12EE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12EE_COB_ID_Client_to_Server_Transmit_SDO = 0x66E; /* 1646 */ + UNS32 CANOpenShellSlaveOD_obj12EE_COB_ID_Server_to_Client_Receive_SDO = 0x5EE; /* 1518 */ + UNS8 CANOpenShellSlaveOD_obj12EE_Node_ID_of_the_SDO_Server = 0x6E; /* 110 */ + subindex CANOpenShellSlaveOD_Index12EE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12EE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12EE_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12EF : Client SDO 112 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12EF = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12EF_COB_ID_Client_to_Server_Transmit_SDO = 0x66F; /* 1647 */ + UNS32 CANOpenShellSlaveOD_obj12EF_COB_ID_Server_to_Client_Receive_SDO = 0x5EF; /* 1519 */ + UNS8 CANOpenShellSlaveOD_obj12EF_Node_ID_of_the_SDO_Server = 0x6F; /* 111 */ + subindex CANOpenShellSlaveOD_Index12EF[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12EF }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EF_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12EF_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12EF_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F0 : Client SDO 113 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F0 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F0_COB_ID_Client_to_Server_Transmit_SDO = 0x670; /* 1648 */ + UNS32 CANOpenShellSlaveOD_obj12F0_COB_ID_Server_to_Client_Receive_SDO = 0x5F0; /* 1520 */ + UNS8 CANOpenShellSlaveOD_obj12F0_Node_ID_of_the_SDO_Server = 0x70; /* 112 */ + subindex CANOpenShellSlaveOD_Index12F0[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F0 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F0_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F0_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F0_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F1 : Client SDO 114 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F1 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F1_COB_ID_Client_to_Server_Transmit_SDO = 0x671; /* 1649 */ + UNS32 CANOpenShellSlaveOD_obj12F1_COB_ID_Server_to_Client_Receive_SDO = 0x5F1; /* 1521 */ + UNS8 CANOpenShellSlaveOD_obj12F1_Node_ID_of_the_SDO_Server = 0x71; /* 113 */ + subindex CANOpenShellSlaveOD_Index12F1[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F1 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F1_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F1_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F1_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F2 : Client SDO 115 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F2 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F2_COB_ID_Client_to_Server_Transmit_SDO = 0x672; /* 1650 */ + UNS32 CANOpenShellSlaveOD_obj12F2_COB_ID_Server_to_Client_Receive_SDO = 0x5F2; /* 1522 */ + UNS8 CANOpenShellSlaveOD_obj12F2_Node_ID_of_the_SDO_Server = 0x72; /* 114 */ + subindex CANOpenShellSlaveOD_Index12F2[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F2 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F2_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F2_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F2_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F3 : Client SDO 116 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F3 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F3_COB_ID_Client_to_Server_Transmit_SDO = 0x673; /* 1651 */ + UNS32 CANOpenShellSlaveOD_obj12F3_COB_ID_Server_to_Client_Receive_SDO = 0x5F3; /* 1523 */ + UNS8 CANOpenShellSlaveOD_obj12F3_Node_ID_of_the_SDO_Server = 0x73; /* 115 */ + subindex CANOpenShellSlaveOD_Index12F3[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F3 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F3_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F3_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F3_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F4 : Client SDO 117 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F4 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F4_COB_ID_Client_to_Server_Transmit_SDO = 0x674; /* 1652 */ + UNS32 CANOpenShellSlaveOD_obj12F4_COB_ID_Server_to_Client_Receive_SDO = 0x5F4; /* 1524 */ + UNS8 CANOpenShellSlaveOD_obj12F4_Node_ID_of_the_SDO_Server = 0x74; /* 116 */ + subindex CANOpenShellSlaveOD_Index12F4[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F4 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F4_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F4_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F4_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F5 : Client SDO 118 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F5 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F5_COB_ID_Client_to_Server_Transmit_SDO = 0x675; /* 1653 */ + UNS32 CANOpenShellSlaveOD_obj12F5_COB_ID_Server_to_Client_Receive_SDO = 0x5F5; /* 1525 */ + UNS8 CANOpenShellSlaveOD_obj12F5_Node_ID_of_the_SDO_Server = 0x75; /* 117 */ + subindex CANOpenShellSlaveOD_Index12F5[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F5 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F5_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F5_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F5_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F6 : Client SDO 119 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F6 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F6_COB_ID_Client_to_Server_Transmit_SDO = 0x676; /* 1654 */ + UNS32 CANOpenShellSlaveOD_obj12F6_COB_ID_Server_to_Client_Receive_SDO = 0x5F6; /* 1526 */ + UNS8 CANOpenShellSlaveOD_obj12F6_Node_ID_of_the_SDO_Server = 0x76; /* 118 */ + subindex CANOpenShellSlaveOD_Index12F6[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F6 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F6_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F6_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F6_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F7 : Client SDO 120 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F7 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F7_COB_ID_Client_to_Server_Transmit_SDO = 0x677; /* 1655 */ + UNS32 CANOpenShellSlaveOD_obj12F7_COB_ID_Server_to_Client_Receive_SDO = 0x5F7; /* 1527 */ + UNS8 CANOpenShellSlaveOD_obj12F7_Node_ID_of_the_SDO_Server = 0x77; /* 119 */ + subindex CANOpenShellSlaveOD_Index12F7[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F7 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F7_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F7_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F7_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F8 : Client SDO 121 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F8 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F8_COB_ID_Client_to_Server_Transmit_SDO = 0x678; /* 1656 */ + UNS32 CANOpenShellSlaveOD_obj12F8_COB_ID_Server_to_Client_Receive_SDO = 0x5F8; /* 1528 */ + UNS8 CANOpenShellSlaveOD_obj12F8_Node_ID_of_the_SDO_Server = 0x78; /* 120 */ + subindex CANOpenShellSlaveOD_Index12F8[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F8 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F8_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F8_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F8_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12F9 : Client SDO 122 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12F9 = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12F9_COB_ID_Client_to_Server_Transmit_SDO = 0x679; /* 1657 */ + UNS32 CANOpenShellSlaveOD_obj12F9_COB_ID_Server_to_Client_Receive_SDO = 0x5F9; /* 1529 */ + UNS8 CANOpenShellSlaveOD_obj12F9_Node_ID_of_the_SDO_Server = 0x79; /* 121 */ + subindex CANOpenShellSlaveOD_Index12F9[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12F9 }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F9_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12F9_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12F9_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FA : Client SDO 123 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12FA = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12FA_COB_ID_Client_to_Server_Transmit_SDO = 0x67A; /* 1658 */ + UNS32 CANOpenShellSlaveOD_obj12FA_COB_ID_Server_to_Client_Receive_SDO = 0x5FA; /* 1530 */ + UNS8 CANOpenShellSlaveOD_obj12FA_Node_ID_of_the_SDO_Server = 0x7A; /* 122 */ + subindex CANOpenShellSlaveOD_Index12FA[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12FA }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FA_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FA_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12FA_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FB : Client SDO 124 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12FB = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12FB_COB_ID_Client_to_Server_Transmit_SDO = 0x67B; /* 1659 */ + UNS32 CANOpenShellSlaveOD_obj12FB_COB_ID_Server_to_Client_Receive_SDO = 0x5FB; /* 1531 */ + UNS8 CANOpenShellSlaveOD_obj12FB_Node_ID_of_the_SDO_Server = 0x7B; /* 123 */ + subindex CANOpenShellSlaveOD_Index12FB[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12FB }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FB_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FB_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12FB_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FC : Client SDO 125 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12FC = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12FC_COB_ID_Client_to_Server_Transmit_SDO = 0x67C; /* 1660 */ + UNS32 CANOpenShellSlaveOD_obj12FC_COB_ID_Server_to_Client_Receive_SDO = 0x5FC; /* 1532 */ + UNS8 CANOpenShellSlaveOD_obj12FC_Node_ID_of_the_SDO_Server = 0x7C; /* 124 */ + subindex CANOpenShellSlaveOD_Index12FC[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12FC }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FC_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FC_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12FC_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FD : Client SDO 126 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12FD = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12FD_COB_ID_Client_to_Server_Transmit_SDO = 0x67D; /* 1661 */ + UNS32 CANOpenShellSlaveOD_obj12FD_COB_ID_Server_to_Client_Receive_SDO = 0x5FD; /* 1533 */ + UNS8 CANOpenShellSlaveOD_obj12FD_Node_ID_of_the_SDO_Server = 0x7D; /* 125 */ + subindex CANOpenShellSlaveOD_Index12FD[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12FD }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FD_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FD_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12FD_Node_ID_of_the_SDO_Server } + }; + +/* index 0x12FE : Client SDO 127 Parameter. */ + UNS8 CANOpenShellSlaveOD_highestSubIndex_obj12FE = 3; /* number of subindex - 1*/ + UNS32 CANOpenShellSlaveOD_obj12FE_COB_ID_Client_to_Server_Transmit_SDO = 0x67E; /* 1662 */ + UNS32 CANOpenShellSlaveOD_obj12FE_COB_ID_Server_to_Client_Receive_SDO = 0x5FE; /* 1534 */ + UNS8 CANOpenShellSlaveOD_obj12FE_Node_ID_of_the_SDO_Server = 0x7E; /* 126 */ + subindex CANOpenShellSlaveOD_Index12FE[] = + { + { RO, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_highestSubIndex_obj12FE }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FE_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&CANOpenShellSlaveOD_obj12FE_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&CANOpenShellSlaveOD_obj12FE_Node_ID_of_the_SDO_Server } + }; + +/**************************************************************************/ +/* Declaration of pointed variables */ +/**************************************************************************/ + +const indextable CANOpenShellSlaveOD_objdict[] = +{ + { (subindex*)CANOpenShellSlaveOD_Index1000,sizeof(CANOpenShellSlaveOD_Index1000)/sizeof(CANOpenShellSlaveOD_Index1000[0]), 0x1000}, + { (subindex*)CANOpenShellSlaveOD_Index1001,sizeof(CANOpenShellSlaveOD_Index1001)/sizeof(CANOpenShellSlaveOD_Index1001[0]), 0x1001}, + { (subindex*)CANOpenShellSlaveOD_Index1017,sizeof(CANOpenShellSlaveOD_Index1017)/sizeof(CANOpenShellSlaveOD_Index1017[0]), 0x1017}, + { (subindex*)CANOpenShellSlaveOD_Index1018,sizeof(CANOpenShellSlaveOD_Index1018)/sizeof(CANOpenShellSlaveOD_Index1018[0]), 0x1018}, + { (subindex*)CANOpenShellSlaveOD_Index1280,sizeof(CANOpenShellSlaveOD_Index1280)/sizeof(CANOpenShellSlaveOD_Index1280[0]), 0x1280}, + { (subindex*)CANOpenShellSlaveOD_Index1281,sizeof(CANOpenShellSlaveOD_Index1281)/sizeof(CANOpenShellSlaveOD_Index1281[0]), 0x1281}, + { (subindex*)CANOpenShellSlaveOD_Index1282,sizeof(CANOpenShellSlaveOD_Index1282)/sizeof(CANOpenShellSlaveOD_Index1282[0]), 0x1282}, + { (subindex*)CANOpenShellSlaveOD_Index1283,sizeof(CANOpenShellSlaveOD_Index1283)/sizeof(CANOpenShellSlaveOD_Index1283[0]), 0x1283}, + { (subindex*)CANOpenShellSlaveOD_Index1284,sizeof(CANOpenShellSlaveOD_Index1284)/sizeof(CANOpenShellSlaveOD_Index1284[0]), 0x1284}, + { (subindex*)CANOpenShellSlaveOD_Index1285,sizeof(CANOpenShellSlaveOD_Index1285)/sizeof(CANOpenShellSlaveOD_Index1285[0]), 0x1285}, + { (subindex*)CANOpenShellSlaveOD_Index1286,sizeof(CANOpenShellSlaveOD_Index1286)/sizeof(CANOpenShellSlaveOD_Index1286[0]), 0x1286}, + { (subindex*)CANOpenShellSlaveOD_Index1287,sizeof(CANOpenShellSlaveOD_Index1287)/sizeof(CANOpenShellSlaveOD_Index1287[0]), 0x1287}, + { (subindex*)CANOpenShellSlaveOD_Index1288,sizeof(CANOpenShellSlaveOD_Index1288)/sizeof(CANOpenShellSlaveOD_Index1288[0]), 0x1288}, + { (subindex*)CANOpenShellSlaveOD_Index1289,sizeof(CANOpenShellSlaveOD_Index1289)/sizeof(CANOpenShellSlaveOD_Index1289[0]), 0x1289}, + { (subindex*)CANOpenShellSlaveOD_Index128A,sizeof(CANOpenShellSlaveOD_Index128A)/sizeof(CANOpenShellSlaveOD_Index128A[0]), 0x128A}, + { (subindex*)CANOpenShellSlaveOD_Index128B,sizeof(CANOpenShellSlaveOD_Index128B)/sizeof(CANOpenShellSlaveOD_Index128B[0]), 0x128B}, + { (subindex*)CANOpenShellSlaveOD_Index128C,sizeof(CANOpenShellSlaveOD_Index128C)/sizeof(CANOpenShellSlaveOD_Index128C[0]), 0x128C}, + { (subindex*)CANOpenShellSlaveOD_Index128D,sizeof(CANOpenShellSlaveOD_Index128D)/sizeof(CANOpenShellSlaveOD_Index128D[0]), 0x128D}, + { (subindex*)CANOpenShellSlaveOD_Index128E,sizeof(CANOpenShellSlaveOD_Index128E)/sizeof(CANOpenShellSlaveOD_Index128E[0]), 0x128E}, + { (subindex*)CANOpenShellSlaveOD_Index128F,sizeof(CANOpenShellSlaveOD_Index128F)/sizeof(CANOpenShellSlaveOD_Index128F[0]), 0x128F}, + { (subindex*)CANOpenShellSlaveOD_Index1290,sizeof(CANOpenShellSlaveOD_Index1290)/sizeof(CANOpenShellSlaveOD_Index1290[0]), 0x1290}, + { (subindex*)CANOpenShellSlaveOD_Index1291,sizeof(CANOpenShellSlaveOD_Index1291)/sizeof(CANOpenShellSlaveOD_Index1291[0]), 0x1291}, + { (subindex*)CANOpenShellSlaveOD_Index1292,sizeof(CANOpenShellSlaveOD_Index1292)/sizeof(CANOpenShellSlaveOD_Index1292[0]), 0x1292}, + { (subindex*)CANOpenShellSlaveOD_Index1293,sizeof(CANOpenShellSlaveOD_Index1293)/sizeof(CANOpenShellSlaveOD_Index1293[0]), 0x1293}, + { (subindex*)CANOpenShellSlaveOD_Index1294,sizeof(CANOpenShellSlaveOD_Index1294)/sizeof(CANOpenShellSlaveOD_Index1294[0]), 0x1294}, + { (subindex*)CANOpenShellSlaveOD_Index1295,sizeof(CANOpenShellSlaveOD_Index1295)/sizeof(CANOpenShellSlaveOD_Index1295[0]), 0x1295}, + { (subindex*)CANOpenShellSlaveOD_Index1296,sizeof(CANOpenShellSlaveOD_Index1296)/sizeof(CANOpenShellSlaveOD_Index1296[0]), 0x1296}, + { (subindex*)CANOpenShellSlaveOD_Index1297,sizeof(CANOpenShellSlaveOD_Index1297)/sizeof(CANOpenShellSlaveOD_Index1297[0]), 0x1297}, + { (subindex*)CANOpenShellSlaveOD_Index1298,sizeof(CANOpenShellSlaveOD_Index1298)/sizeof(CANOpenShellSlaveOD_Index1298[0]), 0x1298}, + { (subindex*)CANOpenShellSlaveOD_Index1299,sizeof(CANOpenShellSlaveOD_Index1299)/sizeof(CANOpenShellSlaveOD_Index1299[0]), 0x1299}, + { (subindex*)CANOpenShellSlaveOD_Index129A,sizeof(CANOpenShellSlaveOD_Index129A)/sizeof(CANOpenShellSlaveOD_Index129A[0]), 0x129A}, + { (subindex*)CANOpenShellSlaveOD_Index129B,sizeof(CANOpenShellSlaveOD_Index129B)/sizeof(CANOpenShellSlaveOD_Index129B[0]), 0x129B}, + { (subindex*)CANOpenShellSlaveOD_Index129C,sizeof(CANOpenShellSlaveOD_Index129C)/sizeof(CANOpenShellSlaveOD_Index129C[0]), 0x129C}, + { (subindex*)CANOpenShellSlaveOD_Index129D,sizeof(CANOpenShellSlaveOD_Index129D)/sizeof(CANOpenShellSlaveOD_Index129D[0]), 0x129D}, + { (subindex*)CANOpenShellSlaveOD_Index129E,sizeof(CANOpenShellSlaveOD_Index129E)/sizeof(CANOpenShellSlaveOD_Index129E[0]), 0x129E}, + { (subindex*)CANOpenShellSlaveOD_Index129F,sizeof(CANOpenShellSlaveOD_Index129F)/sizeof(CANOpenShellSlaveOD_Index129F[0]), 0x129F}, + { (subindex*)CANOpenShellSlaveOD_Index12A0,sizeof(CANOpenShellSlaveOD_Index12A0)/sizeof(CANOpenShellSlaveOD_Index12A0[0]), 0x12A0}, + { (subindex*)CANOpenShellSlaveOD_Index12A1,sizeof(CANOpenShellSlaveOD_Index12A1)/sizeof(CANOpenShellSlaveOD_Index12A1[0]), 0x12A1}, + { (subindex*)CANOpenShellSlaveOD_Index12A2,sizeof(CANOpenShellSlaveOD_Index12A2)/sizeof(CANOpenShellSlaveOD_Index12A2[0]), 0x12A2}, + { (subindex*)CANOpenShellSlaveOD_Index12A3,sizeof(CANOpenShellSlaveOD_Index12A3)/sizeof(CANOpenShellSlaveOD_Index12A3[0]), 0x12A3}, + { (subindex*)CANOpenShellSlaveOD_Index12A4,sizeof(CANOpenShellSlaveOD_Index12A4)/sizeof(CANOpenShellSlaveOD_Index12A4[0]), 0x12A4}, + { (subindex*)CANOpenShellSlaveOD_Index12A5,sizeof(CANOpenShellSlaveOD_Index12A5)/sizeof(CANOpenShellSlaveOD_Index12A5[0]), 0x12A5}, + { (subindex*)CANOpenShellSlaveOD_Index12A6,sizeof(CANOpenShellSlaveOD_Index12A6)/sizeof(CANOpenShellSlaveOD_Index12A6[0]), 0x12A6}, + { (subindex*)CANOpenShellSlaveOD_Index12A7,sizeof(CANOpenShellSlaveOD_Index12A7)/sizeof(CANOpenShellSlaveOD_Index12A7[0]), 0x12A7}, + { (subindex*)CANOpenShellSlaveOD_Index12A8,sizeof(CANOpenShellSlaveOD_Index12A8)/sizeof(CANOpenShellSlaveOD_Index12A8[0]), 0x12A8}, + { (subindex*)CANOpenShellSlaveOD_Index12A9,sizeof(CANOpenShellSlaveOD_Index12A9)/sizeof(CANOpenShellSlaveOD_Index12A9[0]), 0x12A9}, + { (subindex*)CANOpenShellSlaveOD_Index12AA,sizeof(CANOpenShellSlaveOD_Index12AA)/sizeof(CANOpenShellSlaveOD_Index12AA[0]), 0x12AA}, + { (subindex*)CANOpenShellSlaveOD_Index12AB,sizeof(CANOpenShellSlaveOD_Index12AB)/sizeof(CANOpenShellSlaveOD_Index12AB[0]), 0x12AB}, + { (subindex*)CANOpenShellSlaveOD_Index12AC,sizeof(CANOpenShellSlaveOD_Index12AC)/sizeof(CANOpenShellSlaveOD_Index12AC[0]), 0x12AC}, + { (subindex*)CANOpenShellSlaveOD_Index12AD,sizeof(CANOpenShellSlaveOD_Index12AD)/sizeof(CANOpenShellSlaveOD_Index12AD[0]), 0x12AD}, + { (subindex*)CANOpenShellSlaveOD_Index12AE,sizeof(CANOpenShellSlaveOD_Index12AE)/sizeof(CANOpenShellSlaveOD_Index12AE[0]), 0x12AE}, + { (subindex*)CANOpenShellSlaveOD_Index12AF,sizeof(CANOpenShellSlaveOD_Index12AF)/sizeof(CANOpenShellSlaveOD_Index12AF[0]), 0x12AF}, + { (subindex*)CANOpenShellSlaveOD_Index12B0,sizeof(CANOpenShellSlaveOD_Index12B0)/sizeof(CANOpenShellSlaveOD_Index12B0[0]), 0x12B0}, + { (subindex*)CANOpenShellSlaveOD_Index12B1,sizeof(CANOpenShellSlaveOD_Index12B1)/sizeof(CANOpenShellSlaveOD_Index12B1[0]), 0x12B1}, + { (subindex*)CANOpenShellSlaveOD_Index12B2,sizeof(CANOpenShellSlaveOD_Index12B2)/sizeof(CANOpenShellSlaveOD_Index12B2[0]), 0x12B2}, + { (subindex*)CANOpenShellSlaveOD_Index12B3,sizeof(CANOpenShellSlaveOD_Index12B3)/sizeof(CANOpenShellSlaveOD_Index12B3[0]), 0x12B3}, + { (subindex*)CANOpenShellSlaveOD_Index12B4,sizeof(CANOpenShellSlaveOD_Index12B4)/sizeof(CANOpenShellSlaveOD_Index12B4[0]), 0x12B4}, + { (subindex*)CANOpenShellSlaveOD_Index12B5,sizeof(CANOpenShellSlaveOD_Index12B5)/sizeof(CANOpenShellSlaveOD_Index12B5[0]), 0x12B5}, + { (subindex*)CANOpenShellSlaveOD_Index12B6,sizeof(CANOpenShellSlaveOD_Index12B6)/sizeof(CANOpenShellSlaveOD_Index12B6[0]), 0x12B6}, + { (subindex*)CANOpenShellSlaveOD_Index12B7,sizeof(CANOpenShellSlaveOD_Index12B7)/sizeof(CANOpenShellSlaveOD_Index12B7[0]), 0x12B7}, + { (subindex*)CANOpenShellSlaveOD_Index12B8,sizeof(CANOpenShellSlaveOD_Index12B8)/sizeof(CANOpenShellSlaveOD_Index12B8[0]), 0x12B8}, + { (subindex*)CANOpenShellSlaveOD_Index12B9,sizeof(CANOpenShellSlaveOD_Index12B9)/sizeof(CANOpenShellSlaveOD_Index12B9[0]), 0x12B9}, + { (subindex*)CANOpenShellSlaveOD_Index12BA,sizeof(CANOpenShellSlaveOD_Index12BA)/sizeof(CANOpenShellSlaveOD_Index12BA[0]), 0x12BA}, + { (subindex*)CANOpenShellSlaveOD_Index12BB,sizeof(CANOpenShellSlaveOD_Index12BB)/sizeof(CANOpenShellSlaveOD_Index12BB[0]), 0x12BB}, + { (subindex*)CANOpenShellSlaveOD_Index12BC,sizeof(CANOpenShellSlaveOD_Index12BC)/sizeof(CANOpenShellSlaveOD_Index12BC[0]), 0x12BC}, + { (subindex*)CANOpenShellSlaveOD_Index12BD,sizeof(CANOpenShellSlaveOD_Index12BD)/sizeof(CANOpenShellSlaveOD_Index12BD[0]), 0x12BD}, + { (subindex*)CANOpenShellSlaveOD_Index12BE,sizeof(CANOpenShellSlaveOD_Index12BE)/sizeof(CANOpenShellSlaveOD_Index12BE[0]), 0x12BE}, + { (subindex*)CANOpenShellSlaveOD_Index12BF,sizeof(CANOpenShellSlaveOD_Index12BF)/sizeof(CANOpenShellSlaveOD_Index12BF[0]), 0x12BF}, + { (subindex*)CANOpenShellSlaveOD_Index12C0,sizeof(CANOpenShellSlaveOD_Index12C0)/sizeof(CANOpenShellSlaveOD_Index12C0[0]), 0x12C0}, + { (subindex*)CANOpenShellSlaveOD_Index12C1,sizeof(CANOpenShellSlaveOD_Index12C1)/sizeof(CANOpenShellSlaveOD_Index12C1[0]), 0x12C1}, + { (subindex*)CANOpenShellSlaveOD_Index12C2,sizeof(CANOpenShellSlaveOD_Index12C2)/sizeof(CANOpenShellSlaveOD_Index12C2[0]), 0x12C2}, + { (subindex*)CANOpenShellSlaveOD_Index12C3,sizeof(CANOpenShellSlaveOD_Index12C3)/sizeof(CANOpenShellSlaveOD_Index12C3[0]), 0x12C3}, + { (subindex*)CANOpenShellSlaveOD_Index12C4,sizeof(CANOpenShellSlaveOD_Index12C4)/sizeof(CANOpenShellSlaveOD_Index12C4[0]), 0x12C4}, + { (subindex*)CANOpenShellSlaveOD_Index12C5,sizeof(CANOpenShellSlaveOD_Index12C5)/sizeof(CANOpenShellSlaveOD_Index12C5[0]), 0x12C5}, + { (subindex*)CANOpenShellSlaveOD_Index12C6,sizeof(CANOpenShellSlaveOD_Index12C6)/sizeof(CANOpenShellSlaveOD_Index12C6[0]), 0x12C6}, + { (subindex*)CANOpenShellSlaveOD_Index12C7,sizeof(CANOpenShellSlaveOD_Index12C7)/sizeof(CANOpenShellSlaveOD_Index12C7[0]), 0x12C7}, + { (subindex*)CANOpenShellSlaveOD_Index12C8,sizeof(CANOpenShellSlaveOD_Index12C8)/sizeof(CANOpenShellSlaveOD_Index12C8[0]), 0x12C8}, + { (subindex*)CANOpenShellSlaveOD_Index12C9,sizeof(CANOpenShellSlaveOD_Index12C9)/sizeof(CANOpenShellSlaveOD_Index12C9[0]), 0x12C9}, + { (subindex*)CANOpenShellSlaveOD_Index12CA,sizeof(CANOpenShellSlaveOD_Index12CA)/sizeof(CANOpenShellSlaveOD_Index12CA[0]), 0x12CA}, + { (subindex*)CANOpenShellSlaveOD_Index12CB,sizeof(CANOpenShellSlaveOD_Index12CB)/sizeof(CANOpenShellSlaveOD_Index12CB[0]), 0x12CB}, + { (subindex*)CANOpenShellSlaveOD_Index12CC,sizeof(CANOpenShellSlaveOD_Index12CC)/sizeof(CANOpenShellSlaveOD_Index12CC[0]), 0x12CC}, + { (subindex*)CANOpenShellSlaveOD_Index12CD,sizeof(CANOpenShellSlaveOD_Index12CD)/sizeof(CANOpenShellSlaveOD_Index12CD[0]), 0x12CD}, + { (subindex*)CANOpenShellSlaveOD_Index12CE,sizeof(CANOpenShellSlaveOD_Index12CE)/sizeof(CANOpenShellSlaveOD_Index12CE[0]), 0x12CE}, + { (subindex*)CANOpenShellSlaveOD_Index12CF,sizeof(CANOpenShellSlaveOD_Index12CF)/sizeof(CANOpenShellSlaveOD_Index12CF[0]), 0x12CF}, + { (subindex*)CANOpenShellSlaveOD_Index12D0,sizeof(CANOpenShellSlaveOD_Index12D0)/sizeof(CANOpenShellSlaveOD_Index12D0[0]), 0x12D0}, + { (subindex*)CANOpenShellSlaveOD_Index12D1,sizeof(CANOpenShellSlaveOD_Index12D1)/sizeof(CANOpenShellSlaveOD_Index12D1[0]), 0x12D1}, + { (subindex*)CANOpenShellSlaveOD_Index12D2,sizeof(CANOpenShellSlaveOD_Index12D2)/sizeof(CANOpenShellSlaveOD_Index12D2[0]), 0x12D2}, + { (subindex*)CANOpenShellSlaveOD_Index12D3,sizeof(CANOpenShellSlaveOD_Index12D3)/sizeof(CANOpenShellSlaveOD_Index12D3[0]), 0x12D3}, + { (subindex*)CANOpenShellSlaveOD_Index12D4,sizeof(CANOpenShellSlaveOD_Index12D4)/sizeof(CANOpenShellSlaveOD_Index12D4[0]), 0x12D4}, + { (subindex*)CANOpenShellSlaveOD_Index12D5,sizeof(CANOpenShellSlaveOD_Index12D5)/sizeof(CANOpenShellSlaveOD_Index12D5[0]), 0x12D5}, + { (subindex*)CANOpenShellSlaveOD_Index12D6,sizeof(CANOpenShellSlaveOD_Index12D6)/sizeof(CANOpenShellSlaveOD_Index12D6[0]), 0x12D6}, + { (subindex*)CANOpenShellSlaveOD_Index12D7,sizeof(CANOpenShellSlaveOD_Index12D7)/sizeof(CANOpenShellSlaveOD_Index12D7[0]), 0x12D7}, + { (subindex*)CANOpenShellSlaveOD_Index12D8,sizeof(CANOpenShellSlaveOD_Index12D8)/sizeof(CANOpenShellSlaveOD_Index12D8[0]), 0x12D8}, + { (subindex*)CANOpenShellSlaveOD_Index12D9,sizeof(CANOpenShellSlaveOD_Index12D9)/sizeof(CANOpenShellSlaveOD_Index12D9[0]), 0x12D9}, + { (subindex*)CANOpenShellSlaveOD_Index12DA,sizeof(CANOpenShellSlaveOD_Index12DA)/sizeof(CANOpenShellSlaveOD_Index12DA[0]), 0x12DA}, + { (subindex*)CANOpenShellSlaveOD_Index12DB,sizeof(CANOpenShellSlaveOD_Index12DB)/sizeof(CANOpenShellSlaveOD_Index12DB[0]), 0x12DB}, + { (subindex*)CANOpenShellSlaveOD_Index12DC,sizeof(CANOpenShellSlaveOD_Index12DC)/sizeof(CANOpenShellSlaveOD_Index12DC[0]), 0x12DC}, + { (subindex*)CANOpenShellSlaveOD_Index12DD,sizeof(CANOpenShellSlaveOD_Index12DD)/sizeof(CANOpenShellSlaveOD_Index12DD[0]), 0x12DD}, + { (subindex*)CANOpenShellSlaveOD_Index12DE,sizeof(CANOpenShellSlaveOD_Index12DE)/sizeof(CANOpenShellSlaveOD_Index12DE[0]), 0x12DE}, + { (subindex*)CANOpenShellSlaveOD_Index12DF,sizeof(CANOpenShellSlaveOD_Index12DF)/sizeof(CANOpenShellSlaveOD_Index12DF[0]), 0x12DF}, + { (subindex*)CANOpenShellSlaveOD_Index12E0,sizeof(CANOpenShellSlaveOD_Index12E0)/sizeof(CANOpenShellSlaveOD_Index12E0[0]), 0x12E0}, + { (subindex*)CANOpenShellSlaveOD_Index12E1,sizeof(CANOpenShellSlaveOD_Index12E1)/sizeof(CANOpenShellSlaveOD_Index12E1[0]), 0x12E1}, + { (subindex*)CANOpenShellSlaveOD_Index12E2,sizeof(CANOpenShellSlaveOD_Index12E2)/sizeof(CANOpenShellSlaveOD_Index12E2[0]), 0x12E2}, + { (subindex*)CANOpenShellSlaveOD_Index12E3,sizeof(CANOpenShellSlaveOD_Index12E3)/sizeof(CANOpenShellSlaveOD_Index12E3[0]), 0x12E3}, + { (subindex*)CANOpenShellSlaveOD_Index12E4,sizeof(CANOpenShellSlaveOD_Index12E4)/sizeof(CANOpenShellSlaveOD_Index12E4[0]), 0x12E4}, + { (subindex*)CANOpenShellSlaveOD_Index12E5,sizeof(CANOpenShellSlaveOD_Index12E5)/sizeof(CANOpenShellSlaveOD_Index12E5[0]), 0x12E5}, + { (subindex*)CANOpenShellSlaveOD_Index12E6,sizeof(CANOpenShellSlaveOD_Index12E6)/sizeof(CANOpenShellSlaveOD_Index12E6[0]), 0x12E6}, + { (subindex*)CANOpenShellSlaveOD_Index12E7,sizeof(CANOpenShellSlaveOD_Index12E7)/sizeof(CANOpenShellSlaveOD_Index12E7[0]), 0x12E7}, + { (subindex*)CANOpenShellSlaveOD_Index12E8,sizeof(CANOpenShellSlaveOD_Index12E8)/sizeof(CANOpenShellSlaveOD_Index12E8[0]), 0x12E8}, + { (subindex*)CANOpenShellSlaveOD_Index12E9,sizeof(CANOpenShellSlaveOD_Index12E9)/sizeof(CANOpenShellSlaveOD_Index12E9[0]), 0x12E9}, + { (subindex*)CANOpenShellSlaveOD_Index12EA,sizeof(CANOpenShellSlaveOD_Index12EA)/sizeof(CANOpenShellSlaveOD_Index12EA[0]), 0x12EA}, + { (subindex*)CANOpenShellSlaveOD_Index12EB,sizeof(CANOpenShellSlaveOD_Index12EB)/sizeof(CANOpenShellSlaveOD_Index12EB[0]), 0x12EB}, + { (subindex*)CANOpenShellSlaveOD_Index12EC,sizeof(CANOpenShellSlaveOD_Index12EC)/sizeof(CANOpenShellSlaveOD_Index12EC[0]), 0x12EC}, + { (subindex*)CANOpenShellSlaveOD_Index12ED,sizeof(CANOpenShellSlaveOD_Index12ED)/sizeof(CANOpenShellSlaveOD_Index12ED[0]), 0x12ED}, + { (subindex*)CANOpenShellSlaveOD_Index12EE,sizeof(CANOpenShellSlaveOD_Index12EE)/sizeof(CANOpenShellSlaveOD_Index12EE[0]), 0x12EE}, + { (subindex*)CANOpenShellSlaveOD_Index12EF,sizeof(CANOpenShellSlaveOD_Index12EF)/sizeof(CANOpenShellSlaveOD_Index12EF[0]), 0x12EF}, + { (subindex*)CANOpenShellSlaveOD_Index12F0,sizeof(CANOpenShellSlaveOD_Index12F0)/sizeof(CANOpenShellSlaveOD_Index12F0[0]), 0x12F0}, + { (subindex*)CANOpenShellSlaveOD_Index12F1,sizeof(CANOpenShellSlaveOD_Index12F1)/sizeof(CANOpenShellSlaveOD_Index12F1[0]), 0x12F1}, + { (subindex*)CANOpenShellSlaveOD_Index12F2,sizeof(CANOpenShellSlaveOD_Index12F2)/sizeof(CANOpenShellSlaveOD_Index12F2[0]), 0x12F2}, + { (subindex*)CANOpenShellSlaveOD_Index12F3,sizeof(CANOpenShellSlaveOD_Index12F3)/sizeof(CANOpenShellSlaveOD_Index12F3[0]), 0x12F3}, + { (subindex*)CANOpenShellSlaveOD_Index12F4,sizeof(CANOpenShellSlaveOD_Index12F4)/sizeof(CANOpenShellSlaveOD_Index12F4[0]), 0x12F4}, + { (subindex*)CANOpenShellSlaveOD_Index12F5,sizeof(CANOpenShellSlaveOD_Index12F5)/sizeof(CANOpenShellSlaveOD_Index12F5[0]), 0x12F5}, + { (subindex*)CANOpenShellSlaveOD_Index12F6,sizeof(CANOpenShellSlaveOD_Index12F6)/sizeof(CANOpenShellSlaveOD_Index12F6[0]), 0x12F6}, + { (subindex*)CANOpenShellSlaveOD_Index12F7,sizeof(CANOpenShellSlaveOD_Index12F7)/sizeof(CANOpenShellSlaveOD_Index12F7[0]), 0x12F7}, + { (subindex*)CANOpenShellSlaveOD_Index12F8,sizeof(CANOpenShellSlaveOD_Index12F8)/sizeof(CANOpenShellSlaveOD_Index12F8[0]), 0x12F8}, + { (subindex*)CANOpenShellSlaveOD_Index12F9,sizeof(CANOpenShellSlaveOD_Index12F9)/sizeof(CANOpenShellSlaveOD_Index12F9[0]), 0x12F9}, + { (subindex*)CANOpenShellSlaveOD_Index12FA,sizeof(CANOpenShellSlaveOD_Index12FA)/sizeof(CANOpenShellSlaveOD_Index12FA[0]), 0x12FA}, + { (subindex*)CANOpenShellSlaveOD_Index12FB,sizeof(CANOpenShellSlaveOD_Index12FB)/sizeof(CANOpenShellSlaveOD_Index12FB[0]), 0x12FB}, + { (subindex*)CANOpenShellSlaveOD_Index12FC,sizeof(CANOpenShellSlaveOD_Index12FC)/sizeof(CANOpenShellSlaveOD_Index12FC[0]), 0x12FC}, + { (subindex*)CANOpenShellSlaveOD_Index12FD,sizeof(CANOpenShellSlaveOD_Index12FD)/sizeof(CANOpenShellSlaveOD_Index12FD[0]), 0x12FD}, + { (subindex*)CANOpenShellSlaveOD_Index12FE,sizeof(CANOpenShellSlaveOD_Index12FE)/sizeof(CANOpenShellSlaveOD_Index12FE[0]), 0x12FE}, +}; + +const indextable * CANOpenShellSlaveOD_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) +{ + int i; + *callbacks = NULL; + switch(wIndex){ + case 0x1000: i = 0;break; + case 0x1001: i = 1;break; + case 0x1017: i = 2;*callbacks = CANOpenShellSlaveOD_Index1017_callbacks; break; + case 0x1018: i = 3;break; + case 0x1280: i = 4;break; + case 0x1281: i = 5;break; + case 0x1282: i = 6;break; + case 0x1283: i = 7;break; + case 0x1284: i = 8;break; + case 0x1285: i = 9;break; + case 0x1286: i = 10;break; + case 0x1287: i = 11;break; + case 0x1288: i = 12;break; + case 0x1289: i = 13;break; + case 0x128A: i = 14;break; + case 0x128B: i = 15;break; + case 0x128C: i = 16;break; + case 0x128D: i = 17;break; + case 0x128E: i = 18;break; + case 0x128F: i = 19;break; + case 0x1290: i = 20;break; + case 0x1291: i = 21;break; + case 0x1292: i = 22;break; + case 0x1293: i = 23;break; + case 0x1294: i = 24;break; + case 0x1295: i = 25;break; + case 0x1296: i = 26;break; + case 0x1297: i = 27;break; + case 0x1298: i = 28;break; + case 0x1299: i = 29;break; + case 0x129A: i = 30;break; + case 0x129B: i = 31;break; + case 0x129C: i = 32;break; + case 0x129D: i = 33;break; + case 0x129E: i = 34;break; + case 0x129F: i = 35;break; + case 0x12A0: i = 36;break; + case 0x12A1: i = 37;break; + case 0x12A2: i = 38;break; + case 0x12A3: i = 39;break; + case 0x12A4: i = 40;break; + case 0x12A5: i = 41;break; + case 0x12A6: i = 42;break; + case 0x12A7: i = 43;break; + case 0x12A8: i = 44;break; + case 0x12A9: i = 45;break; + case 0x12AA: i = 46;break; + case 0x12AB: i = 47;break; + case 0x12AC: i = 48;break; + case 0x12AD: i = 49;break; + case 0x12AE: i = 50;break; + case 0x12AF: i = 51;break; + case 0x12B0: i = 52;break; + case 0x12B1: i = 53;break; + case 0x12B2: i = 54;break; + case 0x12B3: i = 55;break; + case 0x12B4: i = 56;break; + case 0x12B5: i = 57;break; + case 0x12B6: i = 58;break; + case 0x12B7: i = 59;break; + case 0x12B8: i = 60;break; + case 0x12B9: i = 61;break; + case 0x12BA: i = 62;break; + case 0x12BB: i = 63;break; + case 0x12BC: i = 64;break; + case 0x12BD: i = 65;break; + case 0x12BE: i = 66;break; + case 0x12BF: i = 67;break; + case 0x12C0: i = 68;break; + case 0x12C1: i = 69;break; + case 0x12C2: i = 70;break; + case 0x12C3: i = 71;break; + case 0x12C4: i = 72;break; + case 0x12C5: i = 73;break; + case 0x12C6: i = 74;break; + case 0x12C7: i = 75;break; + case 0x12C8: i = 76;break; + case 0x12C9: i = 77;break; + case 0x12CA: i = 78;break; + case 0x12CB: i = 79;break; + case 0x12CC: i = 80;break; + case 0x12CD: i = 81;break; + case 0x12CE: i = 82;break; + case 0x12CF: i = 83;break; + case 0x12D0: i = 84;break; + case 0x12D1: i = 85;break; + case 0x12D2: i = 86;break; + case 0x12D3: i = 87;break; + case 0x12D4: i = 88;break; + case 0x12D5: i = 89;break; + case 0x12D6: i = 90;break; + case 0x12D7: i = 91;break; + case 0x12D8: i = 92;break; + case 0x12D9: i = 93;break; + case 0x12DA: i = 94;break; + case 0x12DB: i = 95;break; + case 0x12DC: i = 96;break; + case 0x12DD: i = 97;break; + case 0x12DE: i = 98;break; + case 0x12DF: i = 99;break; + case 0x12E0: i = 100;break; + case 0x12E1: i = 101;break; + case 0x12E2: i = 102;break; + case 0x12E3: i = 103;break; + case 0x12E4: i = 104;break; + case 0x12E5: i = 105;break; + case 0x12E6: i = 106;break; + case 0x12E7: i = 107;break; + case 0x12E8: i = 108;break; + case 0x12E9: i = 109;break; + case 0x12EA: i = 110;break; + case 0x12EB: i = 111;break; + case 0x12EC: i = 112;break; + case 0x12ED: i = 113;break; + case 0x12EE: i = 114;break; + case 0x12EF: i = 115;break; + case 0x12F0: i = 116;break; + case 0x12F1: i = 117;break; + case 0x12F2: i = 118;break; + case 0x12F3: i = 119;break; + case 0x12F4: i = 120;break; + case 0x12F5: i = 121;break; + case 0x12F6: i = 122;break; + case 0x12F7: i = 123;break; + case 0x12F8: i = 124;break; + case 0x12F9: i = 125;break; + case 0x12FA: i = 126;break; + case 0x12FB: i = 127;break; + case 0x12FC: i = 128;break; + case 0x12FD: i = 129;break; + case 0x12FE: i = 130;break; + default: + *errorCode = OD_NO_SUCH_OBJECT; + return NULL; + } + *errorCode = OD_SUCCESSFUL; + return &CANOpenShellSlaveOD_objdict[i]; +} + +/* + * To count at which received SYNC a PDO must be sent. + * Even if no pdoTransmit are defined, at least one entry is computed + * for compilations issues. + */ +s_PDO_status CANOpenShellSlaveOD_PDO_status[1] = {s_PDO_status_Initializer}; + +const quick_index CANOpenShellSlaveOD_firstIndex = { + 0, /* SDO_SVR */ + 4, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const quick_index CANOpenShellSlaveOD_lastIndex = { + 0, /* SDO_SVR */ + 130, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const UNS16 CANOpenShellSlaveOD_ObjdictSize = sizeof(CANOpenShellSlaveOD_objdict)/sizeof(CANOpenShellSlaveOD_objdict[0]); + +CO_Data CANOpenShellSlaveOD_Data = CANOPEN_NODE_DATA_INITIALIZER(CANOpenShellSlaveOD); + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/CANOpenShell/CANOpenShellSlaveOD.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/CANOpenShell/CANOpenShellSlaveOD.h Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,16 @@ + +/* File generated by gen_cfile.py. Should not be modified. */ + +#ifndef CANOPENSHELLSLAVEOD_H +#define CANOPENSHELLSLAVEOD_H + +#include "data.h" + +/* Prototypes of function provided by object dictionnary */ +UNS32 CANOpenShellSlaveOD_valueRangeTest (UNS8 typeValue, void * value); +const indextable * CANOpenShellSlaveOD_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); + +/* Master node data struct */ +extern CO_Data CANOpenShellSlaveOD_Data; + +#endif // CANOPENSHELLSLAVEOD_H diff -r 0b33d9cdbdeb -r 438a979fda5d examples/DS401_Master/TestMasterMicroMod.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/DS401_Master/TestMasterMicroMod.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,115 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + TestMasterMicroMod + {B51A176D-5320-4534-913B-3025CED5B27E} + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + Debug\ + true + ../../Release\ + Release\ + false + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + $(OutDir)TestMasterMicroMod.exe + ../../Debug UNICODE;%(AdditionalLibraryDirectories) + true + $(OutDir)TestMasterMicroMod.pdb + Console + false + + + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + $(OutDir)TestMasterMicroMod.exe + ../../Release;%(AdditionalLibraryDirectories) + true + Console + true + true + false + + + MachineX86 + + + + + + + + + + + + + + + {50ef2507-9b87-4525-8b19-80eb42e67079} + false + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/DS401_Master/TestMasterMicroMod.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/DS401_Master/TestMasterMicroMod.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,39 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/DS401_Master/TestMasterMicroMod.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/DS401_Master/TestMasterMicroMod.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/DS401_Master/TestMasterMicroMod.vcproj --- a/examples/DS401_Master/TestMasterMicroMod.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterMicroMod/TestMasterMicroMod.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/TestMasterMicroMod/TestMasterMicroMod.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterMicroMod/TestMasterMicroMod.vcproj --- a/examples/TestMasterMicroMod/TestMasterMicroMod.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,228 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterSlave/TestMasterSlave.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/TestMasterSlave/TestMasterSlave.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterSlave/TestMasterSlave.vcproj --- a/examples/TestMasterSlave/TestMasterSlave.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,251 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterSlaveLSS/TestMasterSlaveLSS.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/TestMasterSlaveLSS/TestMasterSlaveLSS.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/TestMasterSlaveLSS/TestMasterSlaveLSS.vcproj --- a/examples/TestMasterSlaveLSS/TestMasterSlaveLSS.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/main.c --- a/examples/win32test/main.c Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/win32test/main.c Mon May 21 17:21:57 2012 +0200 @@ -76,12 +76,12 @@ return 0xFF; } -UNS8 ReadSDO(UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, void* data, UNS8* size) +UNS8 ReadSDO(UNS8 nodeId, UNS16 index, UNS8 subIndex, UNS8 dataType, void* data, UNS32* size) { UNS32 abortCode = 0; UNS8 res = SDO_UPLOAD_IN_PROGRESS; // Read SDO - UNS8 err = readNetworkDict (&win32test_Data, nodeId, index, subIndex, dataType); + UNS8 err = readNetworkDict (&win32test_Data, nodeId, index, subIndex, dataType, 0); if (err) return 0xFF; for(;;) @@ -159,7 +159,7 @@ UNS32 COB_ID_Client_to_Server_Transmit_SDO = 0x600 + node_id; UNS32 COB_ID_Server_to_Client_Receive_SDO = 0x580 + node_id; UNS32 Node_ID_of_the_SDO_Server = node_id; - UNS8 ExpectedSize = sizeof (UNS32); + UNS32 ExpectedSize = sizeof (UNS32); if (OD_SUCCESSFUL == writeLocalDict(&win32test_Data, 0x1280, 1, &COB_ID_Client_to_Server_Transmit_SDO, &ExpectedSize, RW) && OD_SUCCESSFUL == writeLocalDict(&win32test_Data, 0x1280, 2, &COB_ID_Server_to_Client_Receive_SDO, &ExpectedSize, RW) @@ -172,7 +172,7 @@ UNS32 vendor_id = 0; UNS32 prod_code = 0; UNS32 ser_num = 0; - UNS8 size; + UNS32 size; UNS8 res; printf("\nnode_id: %d (%xh) info\n",(int)node_id,(int)node_id); diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.c --- a/examples/win32test/win32test.c Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/win32test/win32test.c Mon May 21 17:21:57 2012 +0200 @@ -1,160 +1,188 @@ - -/* File generated by gen_cfile.py. Should not be modified. */ - -#include "win32test.h" - -/**************************************************************************/ -/* Declaration of the mapped variables */ -/**************************************************************************/ - -/**************************************************************************/ -/* Declaration of the value range types */ -/**************************************************************************/ - -UNS32 win32test_valueRangeTest (UNS8 typeValue, void * value) -{ - switch (typeValue) { - } - return 0; -} - -/**************************************************************************/ -/* The node id */ -/**************************************************************************/ -/* node_id default value.*/ -UNS8 win32test_bDeviceNodeId = 0x01; - -/**************************************************************************/ -/* Array of message processing information */ - -const UNS8 win32test_iam_a_slave = 0; - -TIMER_HANDLE win32test_heartBeatTimers[1]; - -/* -$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ - - OBJECT DICTIONARY - -$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ -*/ - -/* index 0x1000 : Device Type. */ - UNS32 win32test_obj1000 = 0x12D; /* 301 */ - subindex win32test_Index1000[] = - { - { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1000 } - }; - -/* index 0x1001 : Error Register. */ - UNS8 win32test_obj1001 = 0x0; /* 0 */ - subindex win32test_Index1001[] = - { - { RO, uint8, sizeof (UNS8), (void*)&win32test_obj1001 } - }; - -/* index 0x1005 : SYNC COB ID. */ - UNS32 win32test_obj1005 = 0x0; /* 0 */ - ODCallback_t win32test_Index1005_callbacks[] = - { - NULL, - }; - subindex win32test_Index1005[] = - { - { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1005 } - }; - -/* index 0x1006 : Communication / Cycle Period */ - UNS32 win32test_obj1006 = 0x0; /* 0 */ - -/* index 0x1016 : Consumer Heartbeat Time */ - UNS8 win32test_highestSubIndex_obj1016 = 0; - UNS32 win32test_obj1016[]={0}; - -/* index 0x1017 : Producer Heartbeat Time */ - UNS16 win32test_obj1017 = 0x0; /* 0 */ - -/* index 0x1018 : Identity. */ - UNS8 win32test_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ - UNS32 win32test_obj1018_Vendor_ID = 0x0; /* 0 */ - UNS32 win32test_obj1018_Product_Code = 0x0; /* 0 */ - UNS32 win32test_obj1018_Revision_Number = 0x0; /* 0 */ - UNS32 win32test_obj1018_Serial_Number = 0x0; /* 0 */ - subindex win32test_Index1018[] = - { - { RO, uint8, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1018 }, - { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Vendor_ID }, - { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Product_Code }, - { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Revision_Number }, - { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Serial_Number } - }; - -/* index 0x1280 : Client SDO 1 Parameter. */ - UNS8 win32test_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/ - UNS32 win32test_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x0; /* 0 */ - UNS32 win32test_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x0; /* 0 */ - INTEGER32 win32test_obj1280_Node_ID_of_the_SDO_Server = 0x0; /* 0 */ - subindex win32test_Index1280[] = - { - { RO, uint8, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1280 }, - { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1280_COB_ID_Client_to_Server_Transmit_SDO }, - { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1280_COB_ID_Server_to_Client_Receive_SDO }, - { RW, int32, sizeof (INTEGER32), (void*)&win32test_obj1280_Node_ID_of_the_SDO_Server } - }; - -const indextable win32test_objdict[] = -{ - { (subindex*)win32test_Index1000,sizeof(win32test_Index1000)/sizeof(win32test_Index1000[0]), 0x1000}, - { (subindex*)win32test_Index1001,sizeof(win32test_Index1001)/sizeof(win32test_Index1001[0]), 0x1001}, - { (subindex*)win32test_Index1005,sizeof(win32test_Index1005)/sizeof(win32test_Index1005[0]), 0x1005}, - { (subindex*)win32test_Index1018,sizeof(win32test_Index1018)/sizeof(win32test_Index1018[0]), 0x1018}, - { (subindex*)win32test_Index1280,sizeof(win32test_Index1280)/sizeof(win32test_Index1280[0]), 0x1280}, -}; - -const indextable * win32test_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) -{ - int i; - *callbacks = NULL; - switch(wIndex){ - case 0x1000: i = 0;break; - case 0x1001: i = 1;break; - case 0x1005: i = 2;*callbacks = win32test_Index1005_callbacks; break; - case 0x1018: i = 3;break; - case 0x1280: i = 4;break; - default: - *errorCode = OD_NO_SUCH_OBJECT; - return NULL; - } - *errorCode = OD_SUCCESSFUL; - return &win32test_objdict[i]; -} - -/* - * To count at which received SYNC a PDO must be sent. - * Even if no pdoTransmit are defined, at least one entry is computed - * for compilations issues. - */ -s_PDO_status win32test_PDO_status[1] = {s_PDO_status_Initializer}; - -quick_index win32test_firstIndex = { - 0, /* SDO_SVR */ - 4, /* SDO_CLT */ - 0, /* PDO_RCV */ - 0, /* PDO_RCV_MAP */ - 0, /* PDO_TRS */ - 0 /* PDO_TRS_MAP */ -}; - -quick_index win32test_lastIndex = { - 0, /* SDO_SVR */ - 4, /* SDO_CLT */ - 0, /* PDO_RCV */ - 0, /* PDO_RCV_MAP */ - 0, /* PDO_TRS */ - 0 /* PDO_TRS_MAP */ -}; - -UNS16 win32test_ObjdictSize = sizeof(win32test_objdict)/sizeof(win32test_objdict[0]); - -CO_Data win32test_Data = CANOPEN_NODE_DATA_INITIALIZER(win32test); - + +/* File generated by gen_cfile.py. Should not be modified. */ + +#include "win32test.h" + +/**************************************************************************/ +/* Declaration of mapped variables */ +/**************************************************************************/ + +/**************************************************************************/ +/* Declaration of value range types */ +/**************************************************************************/ + +#define valueRange_EMC 0x9F /* Type for index 0x1003 subindex 0x00 (only set of value 0 is possible) */ +UNS32 win32test_valueRangeTest (UNS8 typeValue, void * value) +{ + switch (typeValue) { + case valueRange_EMC: + if (*(UNS8*)value != (UNS8)0) return OD_VALUE_RANGE_EXCEEDED; + break; + } + return 0; +} + +/**************************************************************************/ +/* The node id */ +/**************************************************************************/ +/* node_id default value.*/ +UNS8 win32test_bDeviceNodeId = 0x00; + +/**************************************************************************/ +/* Array of message processing information */ + +const UNS8 win32test_iam_a_slave = 0; + +TIMER_HANDLE win32test_heartBeatTimers[1]; + +/* +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ + + OBJECT DICTIONARY + +$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +*/ + +/* index 0x1000 : Device Type. */ + UNS32 win32test_obj1000 = 0x12D; /* 301 */ + subindex win32test_Index1000[] = + { + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1000 } + }; + +/* index 0x1001 : Error Register. */ + UNS8 win32test_obj1001 = 0x0; /* 0 */ + subindex win32test_Index1001[] = + { + { RO, uint8, sizeof (UNS8), (void*)&win32test_obj1001 } + }; + +/* index 0x1003 : Pre-defined Error Field */ + UNS8 win32test_highestSubIndex_obj1003 = 0; /* number of subindex - 1*/ + UNS32 win32test_obj1003[] = + { + 0x0 /* 0 */ + }; + ODCallback_t win32test_Index1003_callbacks[] = + { + NULL, + NULL, + }; + subindex win32test_Index1003[] = + { + { RW, valueRange_EMC, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1003 }, + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1003[0] } + }; + +/* index 0x1005 : SYNC COB ID. */ + UNS32 win32test_obj1005 = 0x0; /* 0 */ + ODCallback_t win32test_Index1005_callbacks[] = + { + NULL, + }; + subindex win32test_Index1005[] = + { + { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1005 } + }; + +/* index 0x1006 : Communication / Cycle Period */ + UNS32 win32test_obj1006 = 0x0; /* 0 */ + +/* index 0x1014 : Emergency COB ID */ + UNS32 win32test_obj1014 = 0x80 + 0x00; /* 128 + NodeID */ + +/* index 0x1016 : Consumer Heartbeat Time */ + UNS8 win32test_highestSubIndex_obj1016 = 0; + UNS32 win32test_obj1016[]={0}; + +/* index 0x1017 : Producer Heartbeat Time */ + UNS16 win32test_obj1017 = 0x0; /* 0 */ + +/* index 0x1018 : Identity. */ + UNS8 win32test_highestSubIndex_obj1018 = 4; /* number of subindex - 1*/ + UNS32 win32test_obj1018_Vendor_ID = 0x0; /* 0 */ + UNS32 win32test_obj1018_Product_Code = 0x0; /* 0 */ + UNS32 win32test_obj1018_Revision_Number = 0x0; /* 0 */ + UNS32 win32test_obj1018_Serial_Number = 0x0; /* 0 */ + subindex win32test_Index1018[] = + { + { RO, uint8, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1018 }, + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Vendor_ID }, + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Product_Code }, + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Revision_Number }, + { RO, uint32, sizeof (UNS32), (void*)&win32test_obj1018_Serial_Number } + }; + +/* index 0x1280 : Client SDO 1 Parameter. */ + UNS8 win32test_highestSubIndex_obj1280 = 3; /* number of subindex - 1*/ + UNS32 win32test_obj1280_COB_ID_Client_to_Server_Transmit_SDO = 0x0; /* 0 */ + UNS32 win32test_obj1280_COB_ID_Server_to_Client_Receive_SDO = 0x0; /* 0 */ + UNS8 win32test_obj1280_Node_ID_of_the_SDO_Server = 0x0; /* 0 */ + subindex win32test_Index1280[] = + { + { RO, uint8, sizeof (UNS8), (void*)&win32test_highestSubIndex_obj1280 }, + { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1280_COB_ID_Client_to_Server_Transmit_SDO }, + { RW, uint32, sizeof (UNS32), (void*)&win32test_obj1280_COB_ID_Server_to_Client_Receive_SDO }, + { RW, uint8, sizeof (UNS8), (void*)&win32test_obj1280_Node_ID_of_the_SDO_Server } + }; + +/**************************************************************************/ +/* Declaration of pointed variables */ +/**************************************************************************/ + +const indextable win32test_objdict[] = +{ + { (subindex*)win32test_Index1000,sizeof(win32test_Index1000)/sizeof(win32test_Index1000[0]), 0x1000}, + { (subindex*)win32test_Index1001,sizeof(win32test_Index1001)/sizeof(win32test_Index1001[0]), 0x1001}, + { (subindex*)win32test_Index1005,sizeof(win32test_Index1005)/sizeof(win32test_Index1005[0]), 0x1005}, + { (subindex*)win32test_Index1018,sizeof(win32test_Index1018)/sizeof(win32test_Index1018[0]), 0x1018}, + { (subindex*)win32test_Index1280,sizeof(win32test_Index1280)/sizeof(win32test_Index1280[0]), 0x1280}, +}; + +const indextable * win32test_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks) +{ + int i; + *callbacks = NULL; + switch(wIndex){ + case 0x1000: i = 0;break; + case 0x1001: i = 1;break; + case 0x1005: i = 2;*callbacks = win32test_Index1005_callbacks; break; + case 0x1018: i = 3;break; + case 0x1280: i = 4;break; + default: + *errorCode = OD_NO_SUCH_OBJECT; + return NULL; + } + *errorCode = OD_SUCCESSFUL; + return &win32test_objdict[i]; +} + +/* + * To count at which received SYNC a PDO must be sent. + * Even if no pdoTransmit are defined, at least one entry is computed + * for compilations issues. + */ +s_PDO_status win32test_PDO_status[1] = {s_PDO_status_Initializer}; + +const quick_index win32test_firstIndex = { + 0, /* SDO_SVR */ + 4, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const quick_index win32test_lastIndex = { + 0, /* SDO_SVR */ + 4, /* SDO_CLT */ + 0, /* PDO_RCV */ + 0, /* PDO_RCV_MAP */ + 0, /* PDO_TRS */ + 0 /* PDO_TRS_MAP */ +}; + +const UNS16 win32test_ObjdictSize = sizeof(win32test_objdict)/sizeof(win32test_objdict[0]); + +CO_Data win32test_Data = CANOPEN_NODE_DATA_INITIALIZER(win32test); + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.h --- a/examples/win32test/win32test.h Tue Mar 27 15:29:57 2012 +0200 +++ b/examples/win32test/win32test.h Mon May 21 17:21:57 2012 +0200 @@ -1,16 +1,16 @@ - -/* File generated by gen_cfile.py. Should not be modified. */ - -#ifndef WIN32TEST_H -#define WIN32TEST_H - -#include "data.h" - -/* Prototypes of function provided by object dictionnary */ -UNS32 win32test_valueRangeTest (UNS8 typeValue, void * value); -const indextable * win32test_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); - -/* Master node data struct */ -extern CO_Data win32test_Data; - -#endif // WIN32TEST_H + +/* File generated by gen_cfile.py. Should not be modified. */ + +#ifndef WIN32TEST_H +#define WIN32TEST_H + +#include "data.h" + +/* Prototypes of function provided by object dictionnary */ +UNS32 win32test_valueRangeTest (UNS8 typeValue, void * value); +const indextable * win32test_scanIndexOD (UNS16 wIndex, UNS32 * errorCode, ODCallback_t **callbacks); + +/* Master node data struct */ +extern CO_Data win32test_Data; + +#endif // WIN32TEST_H diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.vc10.vcxproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/win32test/win32test.vc10.vcxproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,112 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + win32test + {BD8B1FE1-89CD-4F89-8275-0F553FA71059} + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + ../../Debug\ + Debug\ + true + ../../Release\ + Release\ + false + + + + Disabled + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + + + $(OutDir)win32test.exe + ../../Debug UNICODE;%(AdditionalLibraryDirectories) + true + $(OutDir)win32test.pdb + Console + false + + + MachineX86 + + + + + ../../include;../../include/win32;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + + + $(OutDir)win32test.exe + ../../Release;%(AdditionalLibraryDirectories) + true + Console + true + true + false + + + MachineX86 + + + + + + + + + + + + {50ef2507-9b87-4525-8b19-80eb42e67079} + false + + + + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.vc10.vcxproj.filters --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/win32test/win32test.vc10.vcxproj.filters Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,30 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx + + + + + Source Files + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.vc9.vcproj --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/win32test/win32test.vc9.vcproj Mon May 21 17:21:57 2012 +0200 @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 0b33d9cdbdeb -r 438a979fda5d examples/win32test/win32test.vcproj --- a/examples/win32test/win32test.vcproj Tue Mar 27 15:29:57 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,215 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 0b33d9cdbdeb -r 438a979fda5d include/AT91/Atmel/lib_AT91SAM7X256.h --- a/include/AT91/Atmel/lib_AT91SAM7X256.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/AT91/Atmel/lib_AT91SAM7X256.h Mon May 21 17:21:57 2012 +0200 @@ -1867,7 +1867,7 @@ //*---------------------------------------------------------------------------- //* \fn AT91F_SPI_Close -//* \brief Close SPI: disable IT disable transfert, close PDC +//* \brief Close SPI: disable IT disable transfer, close PDC //*---------------------------------------------------------------------------- __inline void AT91F_SPI_Close ( AT91PS_SPI pSPI) // \arg pointer to a SPI controller diff -r 0b33d9cdbdeb -r 438a979fda5d include/AT91/config.h --- a/include/AT91/config.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/AT91/config.h Mon May 21 17:21:57 2012 +0200 @@ -51,8 +51,8 @@ // Needed defines by Canfestival lib #define MAX_CAN_BUS_ID 1 -#define SDO_MAX_LENGTH_TRANSFERT 32 -#define SDO_MAX_SIMULTANEOUS_TRANSFERTS 1 +#define SDO_MAX_LENGTH_TRANSFER 32 +#define SDO_MAX_SIMULTANEOUS_TRANSFERS 1 #define NMT_MAX_NODE_ID 128 #define SDO_TIMEOUT_MS 3000U #define MAX_NB_TIMER 8 @@ -62,7 +62,7 @@ #define US_TO_TIMEVAL_FACTOR 8 -#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)\ +#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERS_TIMES(repeat)\ repeat #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)\ repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat diff -r 0b33d9cdbdeb -r 438a979fda5d include/AVR/config.h --- a/include/AVR/config.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/AVR/config.h Mon May 21 17:21:57 2012 +0200 @@ -24,17 +24,18 @@ #ifndef _CONFIG_H_ #define _CONFIG_H_ + #ifdef __IAR_SYSTEMS_ICC__ #include #include #include "iar.h" #else // GCC #include -#include -#include +#include +#include #include -#include -#include +#include +#include #endif // GCC //#define WD_SLEEP @@ -47,8 +48,9 @@ // Needed defines by Canfestival lib #define MAX_CAN_BUS_ID 1 -#define SDO_MAX_LENGTH_TRANSFERT 32 -#define SDO_MAX_SIMULTANEOUS_TRANSFERTS 1 +#define SDO_MAX_LENGTH_TRANSFER 32 +#define SDO_BLOCK_SIZE 16 +#define SDO_MAX_SIMULTANEOUS_TRANSFERS 1 #define NMT_MAX_NODE_ID 128 #define SDO_TIMEOUT_MS 3000U #define MAX_NB_TIMER 8 @@ -58,7 +60,7 @@ #define US_TO_TIMEVAL_FACTOR 8 -#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)\ +#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERS_TIMES(repeat)\ repeat #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)\ repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat diff -r 0b33d9cdbdeb -r 438a979fda5d include/can.h --- a/include/can.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/can.h Mon May 21 17:21:57 2012 +0200 @@ -25,18 +25,6 @@ #include "applicfg.h" -/* -union SHORT_CAN { - struct { UNS8 b0,b1; } b; - UNS32 w; -}; -*/ -/* -typedef struct { - UNS32 w; -} SHORT_CAN; -*/ - /** * @brief The CAN message structure * @ingroup can diff -r 0b33d9cdbdeb -r 438a979fda5d include/data.h --- a/include/data.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/data.h Mon May 21 17:21:57 2012 +0200 @@ -67,7 +67,7 @@ valueRangeTest_t valueRangeTest; /* SDO */ - s_transfer transfers[SDO_MAX_SIMULTANEOUS_TRANSFERTS]; + s_transfer transfers[SDO_MAX_SIMULTANEOUS_TRANSFERS]; /* s_sdo_parameter *sdo_parameters; */ /* State machine */ @@ -251,7 +251,7 @@ \ /* SDO, structure s_transfer */\ {\ - REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(s_transfer_Initializer)\ + REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERS_TIMES(s_transfer_Initializer)\ },\ \ /* State machine*/\ diff -r 0b33d9cdbdeb -r 438a979fda5d include/def.h --- a/include/def.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/def.h Mon May 21 17:21:57 2012 +0200 @@ -24,7 +24,7 @@ #ifndef __def_h__ #define __def_h__ -#include "config.h" +#include /** definitions used for object dictionary access. ie SDO Abort codes . (See DS 301 v.4.02 p.48) */ @@ -42,7 +42,7 @@ */ #define SDOABT_TOGGLE_NOT_ALTERNED 0x05030000 #define SDOABT_TIMED_OUT 0x05040000 -#define SDOABT_OUT_OF_MEMORY 0x05040005 /* Size data exceed SDO_MAX_LENGTH_TRANSFERT */ +#define SDOABT_OUT_OF_MEMORY 0x05040005 /* Size data exceed SDO_MAX_LENGTH_TRANSFER */ #define SDOABT_GENERAL_ERROR 0x08000000 /* Error size of SDO message */ #define SDOABT_LOCAL_CTRL_ERROR 0x08000021 @@ -82,7 +82,7 @@ */ #define SDO_PROVIDED_BUFFER_TOO_SMALL 0x8A -/* Status of the node during the SDO transfert : */ +/* Status of the node during the SDO transfer : */ #define SDO_SERVER 0x1 #define SDO_CLIENT 0x2 #define SDO_UNKNOWN 0x3 diff -r 0b33d9cdbdeb -r 438a979fda5d include/sdo.h --- a/include/sdo.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/sdo.h Mon May 21 17:21:57 2012 +0200 @@ -71,7 +71,7 @@ * WARNING s_transfer.data is subject to ENDIANISATION * (with respect to CANOPEN_BIG_ENDIAN) */ - UNS8 data [SDO_MAX_LENGTH_TRANSFERT]; + UNS8 data [SDO_MAX_LENGTH_TRANSFER]; #ifdef SDO_DYNAMIC_BUFFER_ALLOCATION UNS8 *dynamicData; UNS32 dynamicDataSize; @@ -120,7 +120,7 @@ /** - * @brief Copy the data received from the SDO line transfert to the object dictionary. + * @brief Copy the data received from the SDO line transfer to the object dictionary. * @param *d Pointer on a CAN object data structure * @param line SDO line * @return SDO error code if error. Else, returns 0. @@ -128,7 +128,7 @@ UNS32 SDOlineToObjdict (CO_Data* d, UNS8 line); /** - * @brief Copy the data from the object dictionary to the SDO line for a network transfert. + * @brief Copy the data from the object dictionary to the SDO line for a network transfer. * @param *d Pointer on a CAN object data structure * @param line SDO line * @return SDO error code if error. Else, returns 0. @@ -288,7 +288,7 @@ * @param *m Pointer on a CAN message structure * @return code : * - 0xFF if error - * - 0x80 if transfert aborted by the server + * - 0x80 if transfer aborted by the server * - 0x0 ok */ UNS8 proceedSDO (CO_Data* d, Message *m); @@ -421,8 +421,8 @@ * * @return * - SDO_FINISHED // datas are available - * - SDO_ABORTED_RCV // Transfert failed (abort SDO received) - * - SDO_ABORTED_INTERNAL // Transfert failed (internal abort) + * - SDO_ABORTED_RCV // Transfer failed (abort SDO received) + * - SDO_ABORTED_INTERNAL // Transfer failed (internal abort) * - SDO_UPLOAD_IN_PROGRESS // Datas are not yet available * - SDO_DOWNLOAD_IN_PROGRESS // Download is in progress * - SDO_PROVIDED_BUFFER_TOO_SMALL //The value *size is not enough to store the received data @@ -449,8 +449,8 @@ * * @return : * - SDO_FINISHED // datas are available - * - SDO_ABORTED_RCV // Transfert failed (abort SDO received) - * - SDO_ABORTED_INTERNAL // Transfert failed (Internal abort) + * - SDO_ABORTED_RCV // Transfer failed (abort SDO received) + * - SDO_ABORTED_INTERNAL // Transfer failed (Internal abort) * - SDO_DOWNLOAD_IN_PROGRESS // Datas are not yet available * - SDO_UPLOAD_IN_PROGRESS // Upload in progress * \n\n diff -r 0b33d9cdbdeb -r 438a979fda5d include/win32/applicfg.h --- a/include/win32/applicfg.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/win32/applicfg.h Mon May 21 17:21:57 2012 +0200 @@ -102,16 +102,13 @@ #ifdef UNICODE #define MSG(...) \ do{wchar_t msg[300];\ - swprintf(msg,L##__VA_ARGS__);\ + swprintf(msg,sizeof(msg)/sizeof(msg[0]), L##__VA_ARGS__); \ OutputDebugString(msg);}while(0) #else #define MSG(...) \ - do{printf(__VA_ARGS__);fflush(stdout);}while(0) - -/*do{char msg[300];\ +do{char msg[300];\ sprintf(msg,##__VA_ARGS__);\ OutputDebugString(msg);}while(0) -*/ #endif #else //(_MSC_VER < 1400) //For Visual Studio 2003 and below, without VA_ARGS @@ -132,6 +129,9 @@ MSG(("%s(%d) : 0x%X %s 0x%lX\n",__FILE__, __LINE__,num, str, value)); \ } +#define CANFESTIVAL_DEBUG_DRV_MSG(...)\ + MSG(__VA_ARGS__); + /// Definition of MSG_WAR // --------------------- #ifdef DEBUG_WAR_CONSOLE_ON @@ -148,6 +148,11 @@ # define MSG_ERR(num, str, val) #endif +#ifdef DEBUG_ERR_DRIVER_CONSOLE_ON +# define MSG_ERR_DRV(...) CANFESTIVAL_DEBUG_DRV_MSG(__VA_ARGS__) +#else +# define MSG_ERR_DRV(...) +#endif typedef void* CAN_HANDLE; diff -r 0b33d9cdbdeb -r 438a979fda5d include/win32/canfestival.h --- a/include/win32/canfestival.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/win32/canfestival.h Mon May 21 17:21:57 2012 +0200 @@ -32,7 +32,7 @@ typedef HINSTANCE LIB_HANDLE; UNS8 UnLoadCanDriver(LIB_HANDLE handle); -LIB_HANDLE LoadCanDriver(const char* driver_name); +LIB_HANDLE LoadCanDriver(LPCTSTR driver_name); UNS8 canSend(CAN_PORT port, Message *m); CAN_PORT canOpen(s_BOARD *board, CO_Data * d); int canClose(CO_Data * d); diff -r 0b33d9cdbdeb -r 438a979fda5d include/win32/config.h --- a/include/win32/config.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/win32/config.h Mon May 21 17:21:57 2012 +0200 @@ -25,10 +25,11 @@ #define CO_ENABLE_LSS #define MAX_CAN_BUS_ID 1 -#define SDO_DYNAMIC_BUFFER_ALLOCATION //New define, if SDO_MAX_LENGTH_TRANSFERT is exceeded allocate data buffer dynamically +#define SDO_DYNAMIC_BUFFER_ALLOCATION //New define, if SDO_MAX_LENGTH_TRANSFE is exceeded allocate data buffer dynamically #define SDO_DYNAMIC_BUFFER_ALLOCATION_SIZE (1024 * 128) -#define SDO_MAX_LENGTH_TRANSFERT 32 -#define SDO_MAX_SIMULTANEOUS_TRANSFERTS 32 +#define SDO_MAX_LENGTH_TRANSFER 32 +#define SDO_MAX_SIMULTANEOUS_TRANSFERS 32 +#define SDO_BLOCK_SIZE 16 #define NMT_MAX_NODE_ID 128 #define SDO_TIMEOUT_MS 3000 #define MAX_NB_TIMER 32 @@ -41,7 +42,7 @@ #define LSS_TIMEOUT_MS 1000 #define LSS_FS_TIMEOUT_MS 100 -#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERTS_TIMES(repeat)\ +#define REPEAT_SDO_MAX_SIMULTANEOUS_TRANSFERS_TIMES(repeat)\ repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat #define REPEAT_NMT_MAX_NODE_ID_TIMES(repeat)\ repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat repeat diff -r 0b33d9cdbdeb -r 438a979fda5d include/win32/timerscfg.h --- a/include/win32/timerscfg.h Tue Mar 27 15:29:57 2012 +0200 +++ b/include/win32/timerscfg.h Mon May 21 17:21:57 2012 +0200 @@ -26,12 +26,12 @@ #include -// Time unit : 100 ns -#define TIMEVAL unsigned long long +// Time unit : 1msec +#define TIMEVAL DWORD #define TIMEVAL_MAX ~(TIMEVAL)0 -#define MS_TO_TIMEVAL(ms) ms*10000 -#define US_TO_TIMEVAL(us) us*10 +#define MS_TO_TIMEVAL(ms) ms +#define US_TO_TIMEVAL(us) (us / 1000) #define TASK_HANDLE HANDLE diff -r 0b33d9cdbdeb -r 438a979fda5d objdictgen/Makefile.in --- a/objdictgen/Makefile.in Tue Mar 27 15:29:57 2012 +0200 +++ b/objdictgen/Makefile.in Mon May 21 17:21:57 2012 +0200 @@ -36,7 +36,7 @@ install: gnosis mkdir -p $(PREFIX)/objdictgen - cp -r *.py* config doc doc_index locale examples gnosis $(PREFIX)/objdictgen + cp -r *.py* config doc doc_index locale examples gnosis *.ico $(PREFIX)/objdictgen chmod -R a+r $(PREFIX)/objdictgen mkdir -p $(PREFIX)/bin ln -sf $(PREFIX)/objdictgen/objdictedit.py $(PREFIX)/bin/objdictedit diff -r 0b33d9cdbdeb -r 438a979fda5d objdictgen/eds_utils.py --- a/objdictgen/eds_utils.py Tue Mar 27 15:29:57 2012 +0200 +++ b/objdictgen/eds_utils.py Mon May 21 17:21:57 2012 +0200 @@ -379,19 +379,19 @@ required = set(ENTRY_TYPES[values["OBJECTTYPE"]]["require"]) # Verify that parameters defined contains all the parameters required if not keys.issuperset(required): - missing = required.difference(keys)._data.keys() + missing = required.difference(keys) if len(missing) > 1: attributes = _("Attributes %s are")%_(", ").join(["\"%s\""%attribute for attribute in missing]) else: - attributes = _("Attribute \"%s\" is")%missing[0] + attributes = _("Attribute \"%s\" is")%missing.pop() raise SyntaxError, _("Error on section \"[%s]\":\n%s required for a %s entry")%(section_name, attributes, ENTRY_TYPES[values["OBJECTTYPE"]]["name"]) # Verify that parameters defined are all in the possible parameters if not keys.issubset(possible): - unsupported = keys.difference(possible)._data.keys() + unsupported = keys.difference(possible) if len(unsupported) > 1: attributes = _("Attributes %s are")%_(", ").join(["\"%s\""%attribute for attribute in unsupported]) else: - attributes = _("Attribute \"%s\" is")%unsupported[0] + attributes = _("Attribute \"%s\" is")%unsupported.pop() raise SyntaxError, _("Error on section \"[%s]\":\n%s unsupported for a %s entry")%(section_name, attributes, ENTRY_TYPES[values["OBJECTTYPE"]]["name"]) VerifyValue(values, section_name, "ParameterValue") diff -r 0b33d9cdbdeb -r 438a979fda5d src/dcf.c --- a/src/dcf.c Tue Mar 27 15:29:57 2012 +0200 +++ b/src/dcf.c Mon May 21 17:21:57 2012 +0200 @@ -117,8 +117,21 @@ if(getWriteResultNetworkDict (d, nodeId, &abortCode) != SDO_FINISHED) goto dcferror; if(write_consise_dcf_next_entry(d, nodeId) == 0){ +#ifdef DCF_SAVE_NODE SaveNode(d, nodeId); d->dcf_status = DCF_STATUS_SAVED; +#else //DCF_SAVE_NODE + masterSendNMTstateChange (d, nodeId, NMT_Start_Node); + d->NMTable[nodeId] = Operational; + d->dcf_status = DCF_STATUS_INIT; + /* Look for other nodes waiting to be started */ + for(node = 0 ; nodeNMTable[node] != Initialisation) + continue; + if(check_and_start_node(d, node) == 2) + break; + } +#endif //DCF_SAVE_NODE } } else if(d->dcf_status == DCF_STATUS_SAVED){ @@ -149,6 +162,7 @@ /* Fetch DCF OD entry */ UNS32 errorCode; ODCallback_t *Callback; + UNS8* dcf; d->dcf_odentry = (*d->scanIndexOD)(0x1F22, &errorCode, &Callback); /* If DCF entry do not exist... Nothing to do.*/ if (errorCode != OD_SUCCESSFUL) goto DCF_finish; @@ -156,7 +170,7 @@ if(nodeId > d->dcf_odentry->bSubCount) goto DCF_finish; /* If DCF empty... Nothing to do */ if(! d->dcf_odentry->pSubindex[nodeId].size) goto DCF_finish; - UNS8* dcf = (UNS8*)d->dcf_odentry->pSubindex[nodeId].pObject; + dcf = *(UNS8**)d->dcf_odentry->pSubindex[nodeId].pObject; // printf("%.2x %.2x %.2x %.2x\n",dcf[0],dcf[1],dcf[2],dcf[3]); d->dcf_cursor = dcf + 4; d->dcf_entries_count = 0; @@ -171,12 +185,13 @@ UNS8* dcfend; UNS32 nb_entries; UNS32 szData; + UNS8* dcf; if(!d->dcf_odentry) return 0; if(nodeId > d->dcf_odentry->bSubCount) return 0; szData = d->dcf_odentry->pSubindex[nodeId].size; - UNS8* dcf = (UNS8*)d->dcf_odentry->pSubindex[nodeId].pObject; + dcf = *(UNS8**)d->dcf_odentry->pSubindex[nodeId].pObject; nb_entries = UNS32_LE(*((UNS32*)dcf)); dcfend = dcf + szData; if((UNS8*)d->dcf_cursor + 7 < (UNS8*)dcfend && d->dcf_entries_count < nb_entries){ diff -r 0b33d9cdbdeb -r 438a979fda5d src/pdo.c --- a/src/pdo.c Tue Mar 27 15:29:57 2012 +0200 +++ b/src/pdo.c Mon May 21 17:21:57 2012 +0200 @@ -410,7 +410,7 @@ Message pdo; if (buildPDO (d, numPdo, &pdo)) { - MSG_ERR (0x1948, " Couldn't build TPDO n�", numPdo); + MSG_ERR (0x1948, " Couldn't build TPDO number : ", numPdo); return 0xFF; } canSend (d->canHandle, &pdo); @@ -743,7 +743,7 @@ break; default: - MSG_ERR (0x1972, "Unknown state has been reached : %d", status); + MSG_ERR (0x1972, "Unknown state has been reached :", status); return 0xFF; } /* end switch case */ diff -r 0b33d9cdbdeb -r 438a979fda5d src/sdo.c --- a/src/sdo.c Tue Mar 27 15:29:57 2012 +0200 +++ b/src/sdo.c Mon May 21 17:21:57 2012 +0200 @@ -123,7 +123,7 @@ */ #define getSDOsubIndex(byte3) (byte3) -/** Returns the subcommand in SDO block transfert +/** Returns the subcommand in SDO block transfer */ #define getSDOblockSC(byte) (byte & 3) @@ -143,7 +143,7 @@ if ((offset == 0) || ((offset+d->transfers[id].CliServNbr) > d->lastIndex->SDO_CLT)) { return ; } - nodeId = *((UNS32*) d->objdict[offset+d->transfers[id].CliServNbr].pSubindex[3].pObject); + nodeId = (UNS8) *((UNS32*) d->objdict[offset+d->transfers[id].CliServNbr].pSubindex[3].pObject); MSG_ERR(0x1A01, "SDO timeout. SDO response not received.", 0); MSG_WAR(0x2A02, "server node id : ", nodeId); MSG_WAR(0x2A02, " index : ", d->transfers[id].index); @@ -188,7 +188,7 @@ UNS8 j; /* transfer structure initialization */ - for (j = 0 ; j < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; j++) + for (j = 0 ; j < SDO_MAX_SIMULTANEOUS_TRANSFERS ; j++) resetSDOline(d, j); } @@ -211,7 +211,7 @@ size = d->transfers[line].count; #ifdef SDO_DYNAMIC_BUFFER_ALLOCATION - if (size > SDO_MAX_LENGTH_TRANSFERT) + if (size > SDO_MAX_LENGTH_TRANSFER) { errorCode = setODentry(d, d->transfers[line].index, d->transfers[line].subIndex, (void *) d->transfers[line].dynamicData, &size, 1); @@ -243,7 +243,7 @@ **/ UNS32 objdictToSDOline (CO_Data* d, UNS8 line) { - UNS32 size = SDO_MAX_LENGTH_TRANSFERT; + UNS32 size = SDO_MAX_LENGTH_TRANSFER; UNS8 dataType; UNS32 errorCode; @@ -304,8 +304,8 @@ UNS32 offset; #ifndef SDO_DYNAMIC_BUFFER_ALLOCATION - if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { - MSG_ERR(0x1A10,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); + if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFER) { + MSG_ERR(0x1A10,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFER", nbBytes); return 0xFF; } #endif //SDO_DYNAMIC_BUFFER_ALLOCATION @@ -316,7 +316,7 @@ } offset = d->transfers[line].offset; #ifdef SDO_DYNAMIC_BUFFER_ALLOCATION - if (d->transfers[line].count <= SDO_MAX_LENGTH_TRANSFERT) + if (d->transfers[line].count <= SDO_MAX_LENGTH_TRANSFER) { for (i = 0 ; i < nbBytes ; i++) * (data + i) = d->transfers[line].data[offset + i]; @@ -354,8 +354,8 @@ UNS8 i; UNS32 offset; #ifndef SDO_DYNAMIC_BUFFER_ALLOCATION - if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { - MSG_ERR(0x1A15,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); + if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFER) { + MSG_ERR(0x1A15,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFER", nbBytes); return 0xFF; } #endif //SDO_DYNAMIC_BUFFER_ALLOCATION @@ -364,7 +364,7 @@ #ifdef SDO_DYNAMIC_BUFFER_ALLOCATION { UNS8* lineData = d->transfers[line].data; - if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFERT) { + if ((d->transfers[line].offset + nbBytes) > SDO_MAX_LENGTH_TRANSFER) { if (d->transfers[line].dynamicData == NULL) { d->transfers[line].dynamicData = (UNS8*) malloc(SDO_DYNAMIC_BUFFER_ALLOCATION_SIZE); d->transfers[line].dynamicDataSize = SDO_DYNAMIC_BUFFER_ALLOCATION_SIZE; @@ -450,7 +450,7 @@ UNS32 i; MSG_WAR(0x3A25, "reset SDO line nb : ", line); initSDOline(d, line, 0, 0, 0, SDO_RESET); - for (i = 0 ; i < SDO_MAX_LENGTH_TRANSFERT ; i++) + for (i = 0 ; i < SDO_MAX_LENGTH_TRANSFER ; i++) d->transfers[line].data[i] = 0; d->transfers[line].whoami = 0; d->transfers[line].abortCode = 0; @@ -516,7 +516,7 @@ UNS8 i; - for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ + for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERS ; i++){ if ( d->transfers[i].state == SDO_RESET ) { *line = i; d->transfers[i].whoami = whoami; @@ -542,7 +542,7 @@ UNS8 i; - for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ + for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERS ; i++){ if ( (d->transfers[i].state != SDO_RESET) && (d->transfers[i].state != SDO_ABORTED_INTERNAL) && (d->transfers[i].CliServNbr == CliServNbr) && @@ -569,7 +569,7 @@ UNS8 i; - for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERTS ; i++){ + for (i = 0 ; i < SDO_MAX_SIMULTANEOUS_TRANSFERS ; i++){ if ( (d->transfers[i].state != SDO_RESET) && (d->transfers[i].CliServNbr == CliServNbr) && (d->transfers[i].whoami == whoami) ) { @@ -639,8 +639,8 @@ UNS8 setSDOlineRestBytes (CO_Data* d, UNS8 line, UNS32 nbBytes) { #ifndef SDO_DYNAMIC_BUFFER_ALLOCATION - if (nbBytes > SDO_MAX_LENGTH_TRANSFERT) { - MSG_ERR(0x1A35,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFERT", nbBytes); + if (nbBytes > SDO_MAX_LENGTH_TRANSFER) { + MSG_ERR(0x1A35,"SDO Size of data too large. Exceed SDO_MAX_LENGTH_TRANSFER", nbBytes); return 0xFF; } #endif //SDO_DYNAMIC_BUFFER_ALLOCATION @@ -678,7 +678,7 @@ MSG_ERR(0x1A42, "SendSDO : SDO server not found", 0); return 0xFF; } - m.cob_id = *((UNS32*) d->objdict[offset+CliServNbr].pSubindex[2].pObject); + m.cob_id = (UNS16) *((UNS32*) d->objdict[offset+CliServNbr].pSubindex[2].pObject); MSG_WAR(0x3A41, "I am server Tx cobId : ", m.cob_id); } else { /*case client*/ @@ -688,7 +688,7 @@ MSG_ERR(0x1A42, "SendSDO : SDO client not found", 0); return 0xFF; } - m.cob_id = *((UNS32*) d->objdict[offset+CliServNbr].pSubindex[1].pObject); + m.cob_id = (UNS16) *((UNS32*) d->objdict[offset+CliServNbr].pSubindex[1].pObject); MSG_WAR(0x3A41, "I am client Tx cobId : ", m.cob_id); } /* message copy for sending */ @@ -761,10 +761,10 @@ UNS32 *pCobId = NULL; UNS16 offset; UNS16 lastIndex; - UNS8 SubCommand; /* Block transfert only */ - UNS8 SeqNo; /* Sequence number in block transfert */ + UNS8 SubCommand; /* Block transfer only */ + UNS8 SeqNo; /* Sequence number in block transfer */ UNS8 AckSeq; /* Sequence number of last segment that was received successfully */ - UNS8 NbBytesNoData; /* Number of bytes that do not contain data in last segment of block transfert */ + UNS8 NbBytesNoData; /* Number of bytes that do not contain data in last segment of block transfer */ MSG_WAR(0x3A60, "proceedSDO ", 0); whoami = SDO_UNKNOWN; @@ -833,12 +833,12 @@ MSG_WAR(0x3A69, "I am SERVER number ", CliServNbr); } - /* Look for an SDO transfert already initiated. */ + /* Look for an SDO transfer already initiated. */ err = getSDOlineOnUse( d, CliServNbr, whoami, &line ); /* Let's find cs value, first it is set as "not valid" */ cs = 0xFF; - /* Special cases for block transfert : in frames with segment data cs is not spécified */ + /* Special cases for block transfer : in frames with segment data cs is not spécified */ if (!err) { if ((whoami == SDO_SERVER) && (d->transfers[line].state == SDO_BLOCK_DOWNLOAD_IN_PROGRESS) || (whoami == SDO_CLIENT) && (d->transfers[line].state == SDO_BLOCK_UPLOAD_IN_PROGRESS)) { @@ -860,7 +860,7 @@ case 0: /* I am SERVER */ if (whoami == SDO_SERVER) { - /* Receiving a download segment data : an SDO transfert should have been yet initiated. */ + /* Receiving a download segment data : an SDO transfer should have been yet initiated. */ if (!err) err = d->transfers[line].state != SDO_DOWNLOAD_IN_PROGRESS; if (err) { @@ -882,7 +882,7 @@ } /* Nb of data to be downloaded */ nbBytes = 7 - getSDOn3(m->data[0]); - /* Store the data in the transfert structure. */ + /* Store the data in the transfer structure. */ err = SDOtoLine(d, line, nbBytes, (*m).data + 1); if (err) { failedSDO(d, CliServNbr, whoami, index, subIndex, SDOABT_GENERAL_ERROR); @@ -973,7 +973,7 @@ MSG_WAR(0x3A80, "Writing at index : ", index); MSG_WAR(0x3A80, "Writing at subIndex : ", subIndex); - /* Search if a SDO transfert have been yet initiated */ + /* Search if a SDO transfer have been yet initiated */ if (! err) { MSG_ERR(0x1A81, "SDO error : Transmission yet started.", 0); failedSDO(d, CliServNbr, whoami, index, subIndex, SDOABT_LOCAL_CTRL_ERROR); @@ -1001,9 +1001,9 @@ return 0xFF; } - /* SDO expedited -> transfert finished. Data can be stored in the dictionary. */ + /* SDO expedited -> transfer finished. Data can be stored in the dictionary. */ /*The line will be reseted when it is downloading in the dictionary. */ - MSG_WAR(0x3A83, "SDO Initiate Download is an expedited transfert. Finished. ", 0); + MSG_WAR(0x3A83, "SDO Initiate Download is an expedited transfer. Finished. ", 0); /* Transfering line data to object dictionary. */ errorCode = SDOlineToObjdict(d, line); if (errorCode) { @@ -1014,10 +1014,10 @@ /* Release of the line. */ resetSDOline(d, line); } - else {/* So, if it is not an expedited transfert */ + else {/* So, if it is not an expedited transfer */ if (getSDOs(m->data[0])) { nbBytes = (m->data[4]) + ((UNS32)(m->data[5])<<8) + ((UNS32)(m->data[6])<<16) + ((UNS32)(m->data[7])<<24); - err = setSDOlineRestBytes(d, CliServNbr, nbBytes); + err = setSDOlineRestBytes(d, line, nbBytes); if (err) { failedSDO(d, CliServNbr, whoami, index, subIndex, SDOABT_GENERAL_ERROR); return 0xFF; @@ -1103,7 +1103,7 @@ CliServNbr); MSG_WAR(0x3A90, "Reading at index : ", index); MSG_WAR(0x3A91, "Reading at subIndex : ", subIndex); - /* Search if a SDO transfert have been yet initiated*/ + /* Search if a SDO transfer have been yet initiated*/ if (! err) { MSG_ERR(0x1A92, "SDO error : Transmission yet started at line : ", line); MSG_WAR(0x3A93, "Server Nbr = ", CliServNbr); @@ -1131,16 +1131,16 @@ /* Preparing the response.*/ getSDOlineRestBytes(d, line, &nbBytes); /* Nb bytes to transfer ? */ if (nbBytes > 4) { - /* normal transfert. (segmented). */ + /* normal transfer. (segmented). */ /* code to send the initiate upload response. (cs = 2) */ data[0] = (2 << 5) | 1; data[1] = index & 0xFF; /* LSB */ data[2] = (index >> 8) & 0xFF; /* MSB */ data[3] = subIndex; - data[4] = nbBytes; - data[5] = nbBytes >> 8; - data[6] = nbBytes >> 16; - data[7] = nbBytes >> 24; + data[4] = (UNS8) nbBytes; + data[5] = (UNS8) (nbBytes >> 8); + data[6] = (UNS8) (nbBytes >> 16); + data[7] = (UNS8) (nbBytes >> 24); MSG_WAR(0x3A95, "SDO. Sending normal upload initiate response defined at index 0x1200 + ", nodeId); sendSDO(d, whoami, CliServNbr, data); } @@ -1189,7 +1189,7 @@ failedSDO(d, CliServNbr, whoami, index, subIndex, SDOABT_GENERAL_ERROR); return 0xFF; } - /* SDO expedited -> transfert finished. data are available via getReadResultNetworkDict(). */ + /* SDO expedited -> transfer finished. data are available via getReadResultNetworkDict(). */ MSG_WAR(0x3A98, "SDO expedited upload finished. Response received from node : ", nodeId); StopSDO_TIMER(line) d->transfers[line].count = nbBytes; @@ -1197,7 +1197,7 @@ if(d->transfers[line].Callback) (*d->transfers[line].Callback)(d,nodeId); return 0; } - else { /* So, if it is not an expedited transfert */ + else { /* So, if it is not an expedited transfer */ /* Storing the nb of data to receive. */ if (getSDOs(m->data[0])) { nbBytes = m->data[4] + ((UNS32)(m->data[5])<<8) + ((UNS32)(m->data[6])<<16) + ((UNS32)(m->data[7])<<24); @@ -1221,7 +1221,7 @@ /* I am SERVER */ if (whoami == SDO_SERVER) { /* Receiving a upload segment. */ - /* A SDO transfert should have been yet initiated. */ + /* A SDO transfer should have been yet initiated. */ if (!err) err = d->transfers[line].state != SDO_UPLOAD_IN_PROGRESS; if (err) { @@ -1366,7 +1366,7 @@ CliServNbr); MSG_WAR(0x3AB3, "Reading at index : ", index); MSG_WAR(0x3AB4, "Reading at subIndex : ", subIndex); - /* Search if a SDO transfert have been yet initiated */ + /* Search if a SDO transfer have been yet initiated */ if (! err) { MSG_ERR(0x1A93, "SDO error : Transmission yet started at line : ", line); MSG_WAR(0x3AB5, "Server Nbr = ", CliServNbr); @@ -1399,16 +1399,16 @@ data[1] = index & 0xFF; /* LSB */ data[2] = (index >> 8) & 0xFF; /* MSB */ data[3] = subIndex; - data[4] = nbBytes; - data[5] = nbBytes >> 8; - data[6] = nbBytes >> 16; - data[7] = nbBytes >> 24; + data[4] = (UNS8) nbBytes; + data[5] = (UNS8) (nbBytes >> 8); + data[6] = (UNS8) (nbBytes >> 16); + data[7] = (UNS8) (nbBytes >> 24); MSG_WAR(0x3A9A, "SDO. Sending normal block upload initiate response defined at index 0x1200 + ", nodeId); sendSDO(d, whoami, CliServNbr, data); } else if (SubCommand == SDO_BCS_END_UPLOAD_REQUEST) { MSG_WAR(0x3AA2, "Received SDO block END upload request defined at index 0x1200 + ", CliServNbr); - /* A SDO transfert should have been yet initiated. */ + /* A SDO transfer should have been yet initiated. */ if (!err) err = d->transfers[line].state != SDO_BLOCK_UPLOAD_IN_PROGRESS; if (err) { @@ -1421,7 +1421,7 @@ resetSDOline(d, line); } else if ((SubCommand == SDO_BCS_UPLOAD_RESPONSE) || (SubCommand == SDO_BCS_START_UPLOAD)) { - /* A SDO transfert should have been yet initiated. */ + /* A SDO transfer should have been yet initiated. */ if (!err) err = d->transfers[line].state != SDO_BLOCK_UPLOAD_IN_PROGRESS; if (err) { @@ -1459,7 +1459,7 @@ } else MSG_WAR(0x3AA2, "Received SDO block START upload defined at index 0x1200 + ", CliServNbr); - d->transfers[line].lastblockoffset = d->transfers[line].offset; + d->transfers[line].lastblockoffset = (UNS8) d->transfers[line].offset; for(SeqNo = 1 ; SeqNo <= d->transfers[line].blksize ; SeqNo++) { d->transfers[line].seqno = SeqNo; getSDOlineRestBytes(d, line, &nbBytes); @@ -1486,7 +1486,7 @@ data[i] = 0; MSG_WAR(0x3AA5, "SDO. Sending last upload segment defined at index 0x1200 + ", CliServNbr); sendSDO(d, whoami, CliServNbr, data); - d->transfers[line].endfield = 7 - nbBytes; + d->transfers[line].endfield = (UNS8) (7 - nbBytes); break; } } @@ -1531,7 +1531,7 @@ return 0xFF; } } - d->transfers[line].lastblockoffset = d->transfers[line].offset; + d->transfers[line].lastblockoffset = (UNS8) d->transfers[line].offset; for(SeqNo = 1 ; SeqNo <= d->transfers[line].blksize ; SeqNo++) { d->transfers[line].seqno = SeqNo; getSDOlineRestBytes(d, line, &nbBytes); @@ -1558,7 +1558,7 @@ data[i] = 0; MSG_WAR(0x3AAB, "SDO. Sending last download segment to node id ", nodeId); sendSDO(d, whoami, CliServNbr, data); - d->transfers[line].endfield = 7 - nbBytes; + d->transfers[line].endfield = (UNS8) (7 - nbBytes); break; } } @@ -1606,8 +1606,8 @@ if ((m->data[0]) & 2) /* if data set size is indicated */ d->transfers[line].objsize = (UNS32)m->data[4] + (UNS32)m->data[5]*256 + (UNS32)m->data[6]*256*256 + (UNS32)m->data[7]*256*256*256; data[0] = (5 << 5) | SDO_BSS_INITIATE_DOWNLOAD_RESPONSE; - data[1] = index; /* LSB */ - data[2] = index >> 8; /* MSB */ + data[1] = (UNS8) index; /* LSB */ + data[2] = (UNS8) (index >> 8); /* MSB */ data[3] = subIndex; data[4] = SDO_BLOCK_SIZE; data[5] = data[6] = data[7] = 0; @@ -1636,7 +1636,7 @@ else { if (SeqNo == (d->transfers[line].seqno + 1)) { d->transfers[line].seqno = SeqNo; - /* Store the data in the transfert structure. */ + /* Store the data in the transfer structure. */ err = SDOtoLine(d, line, 7, (*m).data + 1); if (err) { failedSDO(d, CliServNbr, whoami, d->transfers[line].index, d->transfers[line].subIndex, SDOABT_GENERAL_ERROR); @@ -1664,7 +1664,7 @@ } RestartSDO_TIMER(line) NbBytesNoData = (m->data[0]>>2) & 0x07; - /* Store the data in the transfert structure. */ + /* Store the data in the transfer structure. */ err = SDOtoLine(d, line, 7-NbBytesNoData, d->transfers[line].tmpData + 1); if (err) { failedSDO(d, CliServNbr, whoami, d->transfers[line].index, d->transfers[line].subIndex, SDOABT_GENERAL_ERROR); @@ -1736,7 +1736,7 @@ else { if (SeqNo == (d->transfers[line].seqno + 1)) { d->transfers[line].seqno = SeqNo; - /* Store the data in the transfert structure. */ + /* Store the data in the transfer structure. */ err = SDOtoLine(d, line, 7, (*m).data + 1); if (err) { failedSDO(d, CliServNbr, whoami, d->transfers[line].index, d->transfers[line].subIndex, SDOABT_GENERAL_ERROR); @@ -1762,7 +1762,7 @@ return 0xFF; } NbBytesNoData = (m->data[0]>>2) & 0x07; - /* Store the data in the transfert structure. */ + /* Store the data in the transfer structure. */ err = SDOtoLine(d, line, 7-NbBytesNoData, d->transfers[line].tmpData + 1); if (err) { failedSDO(d, CliServNbr, whoami, d->transfers[line].index, d->transfers[line].subIndex, SDOABT_GENERAL_ERROR); @@ -1909,7 +1909,7 @@ #ifdef SDO_DYNAMIC_BUFFER_ALLOCATION { UNS8* lineData = d->transfers[line].data; - if (count > SDO_MAX_LENGTH_TRANSFERT) + if (count > SDO_MAX_LENGTH_TRANSFER) { d->transfers[line].dynamicData = (UNS8*) malloc(count); d->transfers[line].dynamicDataSize = count; @@ -1952,13 +1952,13 @@ } else { /* Send the SDO to the server. Initiate download, cs=1. */ - if (count <= 4) { /* Expedited transfert */ + if (count <= 4) { /* Expedited transfer */ buf[0] = (UNS8)((1 << 5) | ((4 - count) << 2) | 3); for (i = 4 ; i < 8 ; i++) buf[i] = d->transfers[line].data[i - 4]; d->transfers[line].offset = count; } - else { /** Normal transfert */ + else { /** Normal transfer */ buf[0] = (1 << 5) | 1; for (i = 0 ; i < 4 ; i++) buf[i+4] = (UNS8)((count >> (i<<3))); /* i*8 */ @@ -2272,7 +2272,7 @@ return SDO_ABORTED_INTERNAL; } - /* If transfert not finished just return, but if aborted set abort code and size to 0 */ + /* If transfer not finished just return, but if aborted set abort code and size to 0 */ if (d->transfers[line].state != SDO_FINISHED) { if((d->transfers[line].state == SDO_ABORTED_RCV) || (d->transfers[line].state == SDO_ABORTED_INTERNAL)) { *abortCode = d->transfers[line].abortCode; diff -r 0b33d9cdbdeb -r 438a979fda5d src/win32/CanFestival-3.def --- a/src/win32/CanFestival-3.def Tue Mar 27 15:29:57 2012 +0200 +++ b/src/win32/CanFestival-3.def Mon May 21 17:21:57 2012 +0200 @@ -26,7 +26,7 @@ EXPORTS ; dcf.h - send_consise_dcf + check_and_start_node ; lifegrd.h _heartbeatError @@ -60,11 +60,13 @@ proceedPDO sendPDOevent _sendPDOevent - PDOInit - PDOStop - PDOEventTimerAlarm - PDOInhibitTimerAlarm - CopyBits + sendOnePDOevent + PDOInit + PDOStop + PDOEventTimerAlarm + PDOInhibitTimerAlarm + CopyBits + _RxPDO_EventTimers_Handler ; sdo.h SDOTimeoutAlarm