From c6d1013005a6ac0c2aaa793cb651d72676e0de3c Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 2 Aug 2022 12:22:23 +1000 Subject: [PATCH 01/19] test lc5100.eds --- LC5100.eds | 481 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 LC5100.eds diff --git a/LC5100.eds b/LC5100.eds new file mode 100644 index 0000000..f3bba7b --- /dev/null +++ b/LC5100.eds @@ -0,0 +1,481 @@ +[FileInfo] +FileName=TestMaster.eds +FileVersion=1 +FileRevision=1 +EDSVersion=4.0 +Description= +CreationTime=01:25AM +CreationDate=08-02-2022 +CreatedBy=CANFestival +ModificationTime=01:25AM +ModificationDate=08-02-2022 +ModifiedBy=CANFestival + +[DeviceInfo] +VendorName=CANFestival +VendorNumber=0x00000000 +ProductName=TestMaster +ProductNumber=0x00000000 +RevisionNumber=0x00000000 +BaudRate_10=1 +BaudRate_20=1 +BaudRate_50=1 +BaudRate_125=1 +BaudRate_250=1 +BaudRate_500=1 +BaudRate_800=1 +BaudRate_1000=1 +SimpleBootUpMaster=1 +SimpleBootUpSlave=0 +Granularity=8 +DynamicChannelsSupported=0 +CompactPDO=0 +GroupMessaging=0 +NrOfRXPDO=1 +NrOfTXPDO=1 +LSS_Supported=0 + +[DummyUsage] +Dummy0001=0 +Dummy0002=1 +Dummy0003=1 +Dummy0004=1 +Dummy0005=1 +Dummy0006=1 +Dummy0007=1 + +[Comments] +Lines=0 + +[MandatoryObjects] +SupportedObjects=3 +1=0x1000 +2=0x1001 +3=0x1018 + +[1000] +ParameterName=Device Type +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=401 +PDOMapping=0 + +[1001] +ParameterName=Error Register +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=0 +PDOMapping=1 + +[1018] +ParameterName=Identity +ObjectType=0x9 +SubNumber=5 + +[1018sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=4 +PDOMapping=0 + +[1018sub1] +ParameterName=Vendor ID +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub2] +ParameterName=Product Code +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub3] +ParameterName=Revision Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub4] +ParameterName=Serial Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[OptionalObjects] +SupportedObjects=8 +1=0x1005 +2=0x1006 +3=0x1016 +4=0x1280 +5=0x1400 +6=0x1600 +7=0x1800 +8=0x1A00 + +[1005] +ParameterName=SYNC COB ID +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1073741952 +PDOMapping=0 + +[1006] +ParameterName=Communication Cycle Period +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=50000 +PDOMapping=0 + +[1016] +ParameterName=Consumer Heartbeat Time +ObjectType=0x8 +SubNumber=2 + +[1016sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=1 +PDOMapping=0 + +[1016sub1] +ParameterName=Consumer Heartbeat Time +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=4195804 +PDOMapping=0 + +[1280] +ParameterName=Client SDO 1 Parameter +ObjectType=0x9 +SubNumber=4 + +[1280sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=3 +PDOMapping=0 + +[1280sub1] +ParameterName=COB ID Client to Server (Transmit SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1600 +PDOMapping=0 + +[1280sub2] +ParameterName=COB ID Server to Client (Receive SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1472 +PDOMapping=0 + +[1280sub3] +ParameterName=Node ID of the SDO Server +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=64 +PDOMapping=0 + +[1400] +ParameterName=Receive PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1400sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1400sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=448 +PDOMapping=0 + +[1400sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1400sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1600] +ParameterName=Receive PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1600sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1600sub1] +ParameterName=PDO 1 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853953 +PDOMapping=0 + +[1600sub2] +ParameterName=PDO 1 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919489 +PDOMapping=0 + +[1600sub3] +ParameterName=PDO 1 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985025 +PDOMapping=0 + +[1600sub4] +ParameterName=PDO 1 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050561 +PDOMapping=0 + +[1600sub5] +ParameterName=PDO 1 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116097 +PDOMapping=0 + +[1600sub6] +ParameterName=PDO 1 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181633 +PDOMapping=0 + +[1600sub7] +ParameterName=PDO 1 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247169 +PDOMapping=0 + +[1600sub8] +ParameterName=PDO 1 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312705 +PDOMapping=0 + +[1800] +ParameterName=Transmit PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1800sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1800sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=576 +PDOMapping=0 + +[1800sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1800sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1800sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1A00] +ParameterName=Transmit PDO 1 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A00sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A00sub1] +ParameterName=PDO 1 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536870920 +PDOMapping=0 + +[ManufacturerObjects] +SupportedObjects=10 +1=0x2000 +2=0x2001 +3=0x200F +4=0x2010 +5=0x2011 +6=0x2012 +7=0x2013 +8=0x2014 +9=0x2015 +10=0x2016 + +[2000] +ParameterName=DO1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2001] +ParameterName=DO2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200F] +ParameterName=DI1 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2010] +ParameterName=DI2 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2011] +ParameterName=DI3 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2012] +ParameterName=DI4 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2013] +ParameterName=DI5 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2014] +ParameterName=DI6 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2015] +ParameterName=DI7 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2016] +ParameterName=DI8 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 From b94c13b44400b1f6eeee1288345f1ab05b12a41a Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 2 Aug 2022 12:28:55 +1000 Subject: [PATCH 02/19] Rename LC5100.eds to test_pdo/LC5100.eds create test pdo file --- LC5100.eds => test_pdo/LC5100.eds | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LC5100.eds => test_pdo/LC5100.eds (100%) diff --git a/LC5100.eds b/test_pdo/LC5100.eds similarity index 100% rename from LC5100.eds rename to test_pdo/LC5100.eds From 88cc645df3c7560a331380b377e6aaedb668b469 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 2 Aug 2022 12:29:29 +1000 Subject: [PATCH 03/19] add py node --- test_pdo/lc5100_pdo.py | 53 ++++++++++++++++++++++++++++++++++++++++++ test_pdo/slaver.py | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 test_pdo/lc5100_pdo.py create mode 100644 test_pdo/slaver.py diff --git a/test_pdo/lc5100_pdo.py b/test_pdo/lc5100_pdo.py new file mode 100644 index 0000000..a99c743 --- /dev/null +++ b/test_pdo/lc5100_pdo.py @@ -0,0 +1,53 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) + +# add node +Jetson_node_2 = canopen.RemoteNode(2, 'LC5100.eds') +#slaver_node_2 = canopen.RemoteNode(2, 'node2.eds') +network.add_node(Jetson_node_2) + +#set to pre-operational mode +Jetson_node_2.nmt.send_command(0x80) +time.sleep(5) + +#config PDO +print("config PDO device") +Jetson_node_2.rpdo.read() +Jetson_node_2.tpdo.read() +print("tpdo map (before):\t{}".format(Jetson_node_2.tpdo[1].map)) +print("tpdo enabled (before):\t{}".format(Jetson_node_2.tpdo[1].enabled)) +Jetson_node_2.tpdo[1].add_variable(0x2000, 1, 8) +print("tpdo map (after):\t{}".format(Jetson_node_2.tpdo[1].map)) +print("tpdo enabled (after):\t{}".format(Jetson_node_2.tpdo[1].enabled)) + +#set to operational mode +print("set to operational mode") +Jetson_node_2.nmt.send_command(0x01) +time.sleep(3) + +# test sending PDO to set output +print("test sending PDO to set output") +try: + write_data = 0 + while True: + write_data += 1 + if write_data > 0xFF: + write_data = 0 + print("write output value = {}".format(write_data)) + Jetson_node_2.tpdo[1][0x2000].raw = write_data + Jetson_node_2.tpdo[1].transmit() + time.sleep(1) +except KeyboardInterrupt: + print("exit from sending PDO to Jetson") + +# loop +while 1: + time.sleep(1) + print("slaver work") + #slaver_node_2.tpdo[1].transmit() \ No newline at end of file diff --git a/test_pdo/slaver.py b/test_pdo/slaver.py new file mode 100644 index 0000000..d7c654c --- /dev/null +++ b/test_pdo/slaver.py @@ -0,0 +1,42 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) +#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) + +# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" +slaver_node_2 = network.create_node(2, 'LC5100.eds') + + + +# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" +slaver_node_2.nmt.send_command(0) + +# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) +slaver_node_2.nmt.start_heartbeat(1000) + +# send pdo message +slaver_node_2.rpdo.read() +slaver_node_2.tpdo.read() +#slaver_node_2.rpdo[1].transmit() + +#slaver_node_2.tpdo[1]['Application Commands.Command Speed'].phys = 100 +#slaver_node_2.tpdo[1].start(0.1) +print("Test reading PDO to read input of Remote I/O LC5100") +try: + while True: + timestamp = slaver_node_2.tpdo[1].wait_for_reception() + read_value = slaver_node_2.tpdo[1][0x2000].raw + print("Read input value = {}, t={}".format(read_value, timestamp)) + +except KeyboardInterrupt: + print("Exit from reading PDO to LC5100") +# loop +#while 1: +# time.sleep(1) +# print("slaver work") + #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From a7d3a92b9336fd46cf2b0bcf819d04b099ffa8f5 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:46:22 +1000 Subject: [PATCH 04/19] LH_motor_node --- Left_hip_motor_node_1.eds | 481 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 481 insertions(+) create mode 100644 Left_hip_motor_node_1.eds diff --git a/Left_hip_motor_node_1.eds b/Left_hip_motor_node_1.eds new file mode 100644 index 0000000..84f07ac --- /dev/null +++ b/Left_hip_motor_node_1.eds @@ -0,0 +1,481 @@ +[FileInfo] +FileName=Left_hip_motor_node_1.eds +FileVersion=1 +FileRevision=1 +EDSVersion=4.0 +Description= +CreationTime=05:50PM +CreationDate=08-03-2022 +CreatedBy=CANFestival +ModificationTime=05:50PM +ModificationDate=08-03-2022 +ModifiedBy=CANFestival + +[DeviceInfo] +VendorName=CANFestival +VendorNumber=0x00000000 +ProductName=TestMaster +ProductNumber=0x00000000 +RevisionNumber=0x00000000 +BaudRate_10=1 +BaudRate_20=1 +BaudRate_50=1 +BaudRate_125=1 +BaudRate_250=1 +BaudRate_500=1 +BaudRate_800=1 +BaudRate_1000=1 +SimpleBootUpMaster=1 +SimpleBootUpSlave=0 +Granularity=8 +DynamicChannelsSupported=0 +CompactPDO=0 +GroupMessaging=0 +NrOfRXPDO=1 +NrOfTXPDO=1 +LSS_Supported=0 + +[DummyUsage] +Dummy0001=0 +Dummy0002=1 +Dummy0003=1 +Dummy0004=1 +Dummy0005=1 +Dummy0006=1 +Dummy0007=1 + +[Comments] +Lines=0 + +[MandatoryObjects] +SupportedObjects=3 +1=0x1000 +2=0x1001 +3=0x1018 + +[1000] +ParameterName=Device Type +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=401 +PDOMapping=0 + +[1001] +ParameterName=Error Register +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=0 +PDOMapping=1 + +[1018] +ParameterName=Identity +ObjectType=0x9 +SubNumber=5 + +[1018sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=4 +PDOMapping=0 + +[1018sub1] +ParameterName=Vendor ID +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub2] +ParameterName=Product Code +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub3] +ParameterName=Revision Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub4] +ParameterName=Serial Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[OptionalObjects] +SupportedObjects=8 +1=0x1005 +2=0x1006 +3=0x1016 +4=0x1280 +5=0x1400 +6=0x1600 +7=0x1800 +8=0x1A00 + +[1005] +ParameterName=SYNC COB ID +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1073741952 +PDOMapping=0 + +[1006] +ParameterName=Communication Cycle Period +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=50000 +PDOMapping=0 + +[1016] +ParameterName=Consumer Heartbeat Time +ObjectType=0x8 +SubNumber=2 + +[1016sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=1 +PDOMapping=0 + +[1016sub1] +ParameterName=Consumer Heartbeat Time +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=4195804 +PDOMapping=0 + +[1280] +ParameterName=Client SDO 1 Parameter +ObjectType=0x9 +SubNumber=4 + +[1280sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=3 +PDOMapping=0 + +[1280sub1] +ParameterName=COB ID Client to Server (Transmit SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1600 +PDOMapping=0 + +[1280sub2] +ParameterName=COB ID Server to Client (Receive SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1472 +PDOMapping=0 + +[1280sub3] +ParameterName=Node ID of the SDO Server +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=64 +PDOMapping=0 + +[1400] +ParameterName=Receive PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1400sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1400sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=897 +PDOMapping=0 + +[1400sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1400sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1600] +ParameterName=Receive PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1600sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1600sub1] +ParameterName=PDO 1 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853953 +PDOMapping=0 + +[1600sub2] +ParameterName=PDO 1 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919489 +PDOMapping=0 + +[1600sub3] +ParameterName=PDO 1 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985025 +PDOMapping=0 + +[1600sub4] +ParameterName=PDO 1 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050561 +PDOMapping=0 + +[1600sub5] +ParameterName=PDO 1 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116097 +PDOMapping=0 + +[1600sub6] +ParameterName=PDO 1 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181633 +PDOMapping=0 + +[1600sub7] +ParameterName=PDO 1 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247169 +PDOMapping=0 + +[1600sub8] +ParameterName=PDO 1 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312705 +PDOMapping=0 + +[1800] +ParameterName=Transmit PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1800sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1800sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=641 +PDOMapping=0 + +[1800sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1800sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1800sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1A00] +ParameterName=Transmit PDO 1 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A00sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A00sub1] +ParameterName=PDO 1 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536870920 +PDOMapping=0 + +[ManufacturerObjects] +SupportedObjects=10 +1=0x2000 +2=0x2001 +3=0x200F +4=0x2010 +5=0x2011 +6=0x2012 +7=0x2013 +8=0x2014 +9=0x2015 +10=0x2016 + +[2000] +ParameterName=DO1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2001] +ParameterName=DO2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200F] +ParameterName=DI1 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2010] +ParameterName=DI2 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2011] +ParameterName=DI3 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2012] +ParameterName=DI4 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2013] +ParameterName=DI5 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2014] +ParameterName=DI6 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2015] +ParameterName=DI7 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2016] +ParameterName=DI8 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 From 4a985d9a3b37458a0502851740cdfe60e27cce66 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:47:17 +1000 Subject: [PATCH 05/19] create file --- Left_hip_motor_node_1.eds => LH_motor/Left_hip_motor_node_1.eds | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Left_hip_motor_node_1.eds => LH_motor/Left_hip_motor_node_1.eds (100%) diff --git a/Left_hip_motor_node_1.eds b/LH_motor/Left_hip_motor_node_1.eds similarity index 100% rename from Left_hip_motor_node_1.eds rename to LH_motor/Left_hip_motor_node_1.eds From d1679b18c2839375efd0d254e2f53560816c0d4e Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Mon, 8 Aug 2022 21:48:49 +1000 Subject: [PATCH 06/19] LH_motor master and pdo python script --- LH_motor/Left_hip_motor_master.py | 29 +++++++++++++++++ LH_motor/Left_hip_motor_tpdo.py | 53 +++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 LH_motor/Left_hip_motor_master.py create mode 100644 LH_motor/Left_hip_motor_tpdo.py diff --git a/LH_motor/Left_hip_motor_master.py b/LH_motor/Left_hip_motor_master.py new file mode 100644 index 0000000..a60b33a --- /dev/null +++ b/LH_motor/Left_hip_motor_master.py @@ -0,0 +1,29 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) +#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) + +# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" +Left_hip_motor_node_1 = network.create_node(1, 'Left_hip_motor_node_1.eds') + +# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" +Left_hip_motor_node_1.nmt.send_command(0) + +# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) +Left_hip_motor_node_1.nmt.start_heartbeat(1000) + +print("Test reading PDO to read input of Remote I/O LC5100") +try: + while True: + Left_hip_motor_node_1.rpdo.read() + Left_hip_motor_node_1.tpdo.read() + +except KeyboardInterrupt: + print("Exit from reading PDO to LC5100") + + diff --git a/LH_motor/Left_hip_motor_tpdo.py b/LH_motor/Left_hip_motor_tpdo.py new file mode 100644 index 0000000..7115710 --- /dev/null +++ b/LH_motor/Left_hip_motor_tpdo.py @@ -0,0 +1,53 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) + +# add node +Left_hip_motor_node_1 = canopen.RemoteNode(1, 'Left_hip_motor_node_1.eds') +network.add_node(Left_hip_motor_node_1) + +#set to pre-operational mode +Left_hip_motor_node_1.nmt.send_command(0x80) +time.sleep(2) + +#config PDO +print("config PDO device") +Left_hip_motor_node_1.rpdo.read() +Left_hip_motor_node_1.tpdo.read() +print("tpdo map (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) +print("tpdo enabled (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) +Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) +print("tpdo map (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) +print("tpdo enabled (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) + +#set to operational mode +print("set to operational mode") +Left_hip_motor_node_1.nmt.send_command(0x01) +time.sleep(2) + +# test sending PDO to set output +print("test sending PDO to set output") +try: + write_data = 0 + while True: + write_data += 1 + if write_data > 0xFF: + write_data = 0 + + Left_hip_motor_node_1.tpdo[1][0x2000].raw = write_data + Left_hip_motor_node_1.tpdo[1].transmit() + print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) + time.sleep(1) +except KeyboardInterrupt: + print("exit from sending PDO to Jetson") + +# loop +while 1: + time.sleep(1) + print("slaver work") + #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From 85f676b9ebc98cf4525d8f02ae6a0dd1ccb59c4b Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 16 Aug 2022 13:32:06 +1000 Subject: [PATCH 07/19] new testing hip motor simulator 8 objects --- test_pdo/Left_hip_motor_master.py | 29 ++ test_pdo/Left_hip_motor_node_1.eds | 591 +++++++++++++++++++++++++++++ test_pdo/Left_hip_motor_tpdo.py | 71 ++++ 3 files changed, 691 insertions(+) create mode 100644 test_pdo/Left_hip_motor_master.py create mode 100644 test_pdo/Left_hip_motor_node_1.eds create mode 100644 test_pdo/Left_hip_motor_tpdo.py diff --git a/test_pdo/Left_hip_motor_master.py b/test_pdo/Left_hip_motor_master.py new file mode 100644 index 0000000..a60b33a --- /dev/null +++ b/test_pdo/Left_hip_motor_master.py @@ -0,0 +1,29 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) +#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) + +# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" +Left_hip_motor_node_1 = network.create_node(1, 'Left_hip_motor_node_1.eds') + +# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" +Left_hip_motor_node_1.nmt.send_command(0) + +# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) +Left_hip_motor_node_1.nmt.start_heartbeat(1000) + +print("Test reading PDO to read input of Remote I/O LC5100") +try: + while True: + Left_hip_motor_node_1.rpdo.read() + Left_hip_motor_node_1.tpdo.read() + +except KeyboardInterrupt: + print("Exit from reading PDO to LC5100") + + diff --git a/test_pdo/Left_hip_motor_node_1.eds b/test_pdo/Left_hip_motor_node_1.eds new file mode 100644 index 0000000..09059c0 --- /dev/null +++ b/test_pdo/Left_hip_motor_node_1.eds @@ -0,0 +1,591 @@ +[FileInfo] +FileName=Left_hip_motor_node_1.eds +FileVersion=1 +FileRevision=1 +EDSVersion=4.0 +Description= +CreationTime=11:11AM +CreationDate=08-16-2022 +CreatedBy=CANFestival +ModificationTime=11:11AM +ModificationDate=08-16-2022 +ModifiedBy=CANFestival + +[DeviceInfo] +VendorName=CANFestival +VendorNumber=0x00000000 +ProductName= +ProductNumber=0x00000000 +RevisionNumber=0x00000000 +BaudRate_10=1 +BaudRate_20=1 +BaudRate_50=1 +BaudRate_125=1 +BaudRate_250=1 +BaudRate_500=1 +BaudRate_800=1 +BaudRate_1000=1 +SimpleBootUpMaster=0 +SimpleBootUpSlave=1 +Granularity=8 +DynamicChannelsSupported=0 +CompactPDO=0 +GroupMessaging=0 +NrOfRXPDO=1 +NrOfTXPDO=1 +LSS_Supported=0 + +[DummyUsage] +Dummy0001=0 +Dummy0002=1 +Dummy0003=1 +Dummy0004=1 +Dummy0005=1 +Dummy0006=1 +Dummy0007=1 + +[Comments] +Lines=0 + +[MandatoryObjects] +SupportedObjects=3 +1=0x1000 +2=0x1001 +3=0x1018 + +[1000] +ParameterName=Device Type +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=401 +PDOMapping=0 + +[1001] +ParameterName=Error Register +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=0 +PDOMapping=1 + +[1018] +ParameterName=Identity +ObjectType=0x9 +SubNumber=5 + +[1018sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=4 +PDOMapping=0 + +[1018sub1] +ParameterName=Vendor ID +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub2] +ParameterName=Product Code +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub3] +ParameterName=Revision Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub4] +ParameterName=Serial Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[OptionalObjects] +SupportedObjects=8 +1=0x1005 +2=0x1006 +3=0x1016 +4=0x1280 +5=0x1400 +6=0x1600 +7=0x1800 +8=0x1A00 + +[1005] +ParameterName=SYNC COB ID +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1073741952 +PDOMapping=0 + +[1006] +ParameterName=Communication Cycle Period +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=50000 +PDOMapping=0 + +[1016] +ParameterName=Consumer Heartbeat Time +ObjectType=0x8 +SubNumber=2 + +[1016sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=1 +PDOMapping=0 + +[1016sub1] +ParameterName=Consumer Heartbeat Time +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=4195804 +PDOMapping=0 + +[1280] +ParameterName=Client SDO 1 Parameter +ObjectType=0x9 +SubNumber=4 + +[1280sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=3 +PDOMapping=0 + +[1280sub1] +ParameterName=COB ID Client to Server (Transmit SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1600 +PDOMapping=0 + +[1280sub2] +ParameterName=COB ID Server to Client (Receive SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1472 +PDOMapping=0 + +[1280sub3] +ParameterName=Node ID of the SDO Server +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=64 +PDOMapping=0 + +[1400] +ParameterName=Receive PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1400sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1400sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=897 +PDOMapping=0 + +[1400sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1400sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1600] +ParameterName=Receive PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1600sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1600sub1] +ParameterName=PDO 1 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853953 +PDOMapping=0 + +[1600sub2] +ParameterName=PDO 1 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919489 +PDOMapping=0 + +[1600sub3] +ParameterName=PDO 1 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985025 +PDOMapping=0 + +[1600sub4] +ParameterName=PDO 1 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050561 +PDOMapping=0 + +[1600sub5] +ParameterName=PDO 1 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116097 +PDOMapping=0 + +[1600sub6] +ParameterName=PDO 1 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181633 +PDOMapping=0 + +[1600sub7] +ParameterName=PDO 1 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247169 +PDOMapping=0 + +[1600sub8] +ParameterName=PDO 1 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312705 +PDOMapping=0 + +[1800] +ParameterName=Transmit PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1800sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1800sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=641 +PDOMapping=0 + +[1800sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1800sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1800sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1A00] +ParameterName=Transmit PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A00sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A00sub1] +ParameterName=PDO 1 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536870920 +PDOMapping=0 + +[1A00sub2] +ParameterName=PDO 1 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536936456 +PDOMapping=0 + +[1A00sub3] +ParameterName=PDO 1 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537001992 +PDOMapping=0 + +[1A00sub4] +ParameterName=PDO 1 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537067528 +PDOMapping=0 + +[1A00sub5] +ParameterName=PDO 1 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537133064 +PDOMapping=0 + +[1A00sub6] +ParameterName=PDO 1 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537198600 +PDOMapping=0 + +[1A00sub7] +ParameterName=PDO 1 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537264136 +PDOMapping=0 + +[1A00sub8] +ParameterName=PDO 1 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537329672 +PDOMapping=0 + +[ManufacturerObjects] +SupportedObjects=16 +1=0x2000 +2=0x2001 +3=0x2002 +4=0x2003 +5=0x2004 +6=0x2005 +7=0x2006 +8=0x2007 +9=0x200F +10=0x2010 +11=0x2011 +12=0x2012 +13=0x2013 +14=0x2014 +15=0x2015 +16=0x2016 + +[2000] +ParameterName=DO1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2001] +ParameterName=DO2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2002] +ParameterName=DO3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2003] +ParameterName=DO4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2004] +ParameterName=DO5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2005] +ParameterName=DO6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2006] +ParameterName=DO7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2007] +ParameterName=DO8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200F] +ParameterName=DI1 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2010] +ParameterName=DI2 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2011] +ParameterName=DI3 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2012] +ParameterName=DI4 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2013] +ParameterName=DI5 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2014] +ParameterName=DI6 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2015] +ParameterName=DI7 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2016] +ParameterName=DI8 +ObjectType=0x7 +DataType=0x0001 +AccessType=rw +DefaultValue=0 +PDOMapping=1 diff --git a/test_pdo/Left_hip_motor_tpdo.py b/test_pdo/Left_hip_motor_tpdo.py new file mode 100644 index 0000000..24a1c42 --- /dev/null +++ b/test_pdo/Left_hip_motor_tpdo.py @@ -0,0 +1,71 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) + +# add node +Left_hip_motor_node_1 = canopen.RemoteNode(1, 'Left_hip_motor_node_1.eds') +network.add_node(Left_hip_motor_node_1) + +#set to pre-operational mode +Left_hip_motor_node_1.nmt.send_command(0x80) +time.sleep(2) + +#config PDO +print("config PDO device") +Left_hip_motor_node_1.rpdo.read() +Left_hip_motor_node_1.tpdo.read() +print("tpdo map (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) +print("tpdo enabled (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) +# Manually add the manufacture specific variable, only need if not config in OD +# Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) + +print("tpdo map (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) +print("tpdo enabled (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) + +#set to operational mode +print("set to operational mode") +Left_hip_motor_node_1.nmt.send_command(0x01) +time.sleep(2) + +# test sending PDO to set output +print("test sending PDO to set output") +try: + write_data = 0 + while True: + write_data += 1 + if write_data > 0xFF: + write_data = 0 + + Left_hip_motor_node_1.tpdo[1][0x2000].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2001].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2002].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2003].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2004].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2005].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2006].raw = write_data + Left_hip_motor_node_1.tpdo[1][0x2007].raw = write_data + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2001].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2002].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2003].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2004].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2005].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2006].raw)) + print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2007].raw)) + + Left_hip_motor_node_1.tpdo[1].transmit() + print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) + time.sleep(1) +except KeyboardInterrupt: + print("exit from sending PDO to Jetson") + +# loop +while 1: + time.sleep(1) + print("slaver work") + #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From 8866655e6afd308ac0d257ef5589c5a04aad97af Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:28:55 +1000 Subject: [PATCH 08/19] callback py script --- Jetson_rpdo.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Jetson_rpdo.py diff --git a/Jetson_rpdo.py b/Jetson_rpdo.py new file mode 100644 index 0000000..e7eed50 --- /dev/null +++ b/Jetson_rpdo.py @@ -0,0 +1,53 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) +#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) + +# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" +Jetson_66 = network.create_node(66, 'Jetson_66_v11.eds') + +# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" +Jetson_66.nmt.send_command(0) + +# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) +Jetson_66.nmt.start_heartbeat(1000) + +# send pdo message +Jetson_66.rpdo.read() +Jetson_66.tpdo.read() + +print("Test reading PDO to read input of Exo") + +def print_pdo(message): + print('%s received' % message.name) + for var in message: + print('%s = %d' % (var.name, var.raw)) + + +Jetson_66.rpdo[1].add_callback(print_pdo) +Jetson_66.rpdo[2].add_callback(print_pdo) +Jetson_66.rpdo[3].add_callback(print_pdo) +Jetson_66.rpdo[4].add_callback(print_pdo) +Jetson_66.rpdo[5].add_callback(print_pdo) +Jetson_66.rpdo[6].add_callback(print_pdo) +Jetson_66.rpdo[7].add_callback(print_pdo) +Jetson_66.rpdo[8].add_callback(print_pdo) +Jetson_66.rpdo[9].add_callback(print_pdo) +Jetson_66.rpdo[10].add_callback(print_pdo) +Jetson_66.rpdo[11].add_callback(print_pdo) +Jetson_66.rpdo[12].add_callback(print_pdo) +Jetson_66.rpdo[13].add_callback(print_pdo) +Jetson_66.rpdo[14].add_callback(print_pdo) +Jetson_66.rpdo[15].add_callback(print_pdo) +Jetson_66.rpdo[16].add_callback(print_pdo) +Jetson_66.rpdo[17].add_callback(print_pdo) +Jetson_66.rpdo[18].add_callback(print_pdo) + + +while(True): + time.sleep(1) From f427dfb26fd6c6c98e9dc0e2c56dc71024750184 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:29:25 +1000 Subject: [PATCH 09/19] make Jetson folder --- Jetson_rpdo.py => Jetson/Jetson_rpdo.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Jetson_rpdo.py => Jetson/Jetson_rpdo.py (100%) diff --git a/Jetson_rpdo.py b/Jetson/Jetson_rpdo.py similarity index 100% rename from Jetson_rpdo.py rename to Jetson/Jetson_rpdo.py From fc2c6be8f14f9222b9f0fb13592951f945d10d7c Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Tue, 23 Aug 2022 10:29:58 +1000 Subject: [PATCH 10/19] Jetson eds --- Jetson/Jetson_66_v11.eds | 2827 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 2827 insertions(+) create mode 100644 Jetson/Jetson_66_v11.eds diff --git a/Jetson/Jetson_66_v11.eds b/Jetson/Jetson_66_v11.eds new file mode 100644 index 0000000..59a030c --- /dev/null +++ b/Jetson/Jetson_66_v11.eds @@ -0,0 +1,2827 @@ +[FileInfo] +FileName=Jetson_exo_66_v11.eds +FileVersion=1 +FileRevision=1 +EDSVersion=4.0 +Description= +CreationTime=03:45PM +CreationDate=08-15-2022 +CreatedBy=CANFestival +ModificationTime=03:45PM +ModificationDate=08-15-2022 +ModifiedBy=CANFestival + +[DeviceInfo] +VendorName=CANFestival +VendorNumber=0x00000000 +ProductName=TestMaster +ProductNumber=0x00000000 +RevisionNumber=0x00000000 +BaudRate_10=1 +BaudRate_20=1 +BaudRate_50=1 +BaudRate_125=1 +BaudRate_250=1 +BaudRate_500=1 +BaudRate_800=1 +BaudRate_1000=1 +SimpleBootUpMaster=1 +SimpleBootUpSlave=0 +Granularity=8 +DynamicChannelsSupported=0 +CompactPDO=0 +GroupMessaging=0 +NrOfRXPDO=18 +NrOfTXPDO=1 +LSS_Supported=0 + +[DummyUsage] +Dummy0001=0 +Dummy0002=1 +Dummy0003=1 +Dummy0004=1 +Dummy0005=1 +Dummy0006=1 +Dummy0007=1 + +[Comments] +Lines=0 + +[MandatoryObjects] +SupportedObjects=3 +1=0x1000 +2=0x1001 +3=0x1018 + +[1000] +ParameterName=Device Type +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=401 +PDOMapping=0 + +[1001] +ParameterName=Error Register +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=0 +PDOMapping=1 + +[1018] +ParameterName=Identity +ObjectType=0x9 +SubNumber=5 + +[1018sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=4 +PDOMapping=0 + +[1018sub1] +ParameterName=Vendor ID +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub2] +ParameterName=Product Code +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub3] +ParameterName=Revision Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub4] +ParameterName=Serial Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[OptionalObjects] +SupportedObjects=42 +1=0x1005 +2=0x1006 +3=0x1016 +4=0x1280 +5=0x1400 +6=0x1401 +7=0x1402 +8=0x1403 +9=0x1404 +10=0x1405 +11=0x1406 +12=0x1407 +13=0x1408 +14=0x1409 +15=0x140A +16=0x140B +17=0x140C +18=0x140D +19=0x140E +20=0x140F +21=0x1410 +22=0x1411 +23=0x1600 +24=0x1601 +25=0x1602 +26=0x1603 +27=0x1604 +28=0x1605 +29=0x1606 +30=0x1607 +31=0x1608 +32=0x1609 +33=0x160A +34=0x160B +35=0x160C +36=0x160D +37=0x160E +38=0x160F +39=0x1610 +40=0x1611 +41=0x1800 +42=0x1A00 + +[1005] +ParameterName=SYNC COB ID +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1073741952 +PDOMapping=0 + +[1006] +ParameterName=Communication Cycle Period +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=50000 +PDOMapping=0 + +[1016] +ParameterName=Consumer Heartbeat Time +ObjectType=0x8 +SubNumber=2 + +[1016sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=1 +PDOMapping=0 + +[1016sub1] +ParameterName=Consumer Heartbeat Time +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=4195804 +PDOMapping=0 + +[1280] +ParameterName=Client SDO 1 Parameter +ObjectType=0x9 +SubNumber=4 + +[1280sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=3 +PDOMapping=0 + +[1280sub1] +ParameterName=COB ID Client to Server (Transmit SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1600 +PDOMapping=0 + +[1280sub2] +ParameterName=COB ID Server to Client (Receive SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1472 +PDOMapping=0 + +[1280sub3] +ParameterName=Node ID of the SDO Server +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=64 +PDOMapping=0 + +[1400] +ParameterName=Receive PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1400sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1400sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=641 +PDOMapping=0 + +[1400sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1401] +ParameterName=Receive PDO 2 Parameter +ObjectType=0x9 +SubNumber=6 + +[1401sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1401sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=642 +PDOMapping=0 + +[1401sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1401sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1401sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1401sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1402] +ParameterName=Receive PDO 3 Parameter +ObjectType=0x9 +SubNumber=6 + +[1402sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1402sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=898 +PDOMapping=0 + +[1402sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1402sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1402sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1402sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1403] +ParameterName=Receive PDO 4 Parameter +ObjectType=0x9 +SubNumber=6 + +[1403sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1403sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=643 +PDOMapping=0 + +[1403sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1403sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1403sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1403sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1404] +ParameterName=Receive PDO 5 Parameter +ObjectType=0x9 +SubNumber=6 + +[1404sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1404sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=899 +PDOMapping=0 + +[1404sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1404sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1404sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1404sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1405] +ParameterName=Receive PDO 6 Parameter +ObjectType=0x9 +SubNumber=6 + +[1405sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1405sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=644 +PDOMapping=0 + +[1405sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1405sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1405sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1405sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1406] +ParameterName=Receive PDO 7 Parameter +ObjectType=0x9 +SubNumber=6 + +[1406sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1406sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=900 +PDOMapping=0 + +[1406sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1406sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1406sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1406sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1407] +ParameterName=Receive PDO 8 Parameter +ObjectType=0x9 +SubNumber=6 + +[1407sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1407sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[1407sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1407sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1407sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1407sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1408] +ParameterName=Receive PDO 9 Parameter +ObjectType=0x9 +SubNumber=6 + +[1408sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1408sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[1408sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1408sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1408sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1408sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1409] +ParameterName=Receive PDO 10 Parameter +ObjectType=0x9 +SubNumber=6 + +[1409sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1409sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[1409sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1409sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1409sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1409sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140A] +ParameterName=Receive PDO 11 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Asub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Asub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Asub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Asub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Asub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Asub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140B] +ParameterName=Receive PDO 12 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Bsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Bsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Bsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Bsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Bsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Bsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140C] +ParameterName=Receive PDO 13 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Csub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Csub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Csub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Csub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Csub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Csub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140D] +ParameterName=Receive PDO 14 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Dsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Dsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Dsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Dsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Dsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Dsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140E] +ParameterName=Receive PDO 15 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Esub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Esub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Esub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Esub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Esub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Esub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140F] +ParameterName=Receive PDO 16 Parameter +ObjectType=0x9 +SubNumber=6 + +[140Fsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[140Fsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[140Fsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Fsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Fsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[140Fsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1410] +ParameterName=Receive PDO 17 Parameter +ObjectType=0x9 +SubNumber=6 + +[1410sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1410sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[1410sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1410sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1410sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1410sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1411] +ParameterName=Receive PDO 18 Parameter +ObjectType=0x9 +SubNumber=6 + +[1411sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1411sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=2147483648 +PDOMapping=0 + +[1411sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1411sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1411sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1411sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1600] +ParameterName=Receive PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1600sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1600sub1] +ParameterName=PDO 1 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853960 +PDOMapping=0 + +[1600sub2] +ParameterName=PDO 1 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919496 +PDOMapping=0 + +[1600sub3] +ParameterName=PDO 1 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985032 +PDOMapping=0 + +[1600sub4] +ParameterName=PDO 1 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050568 +PDOMapping=0 + +[1600sub5] +ParameterName=PDO 1 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116104 +PDOMapping=0 + +[1600sub6] +ParameterName=PDO 1 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181640 +PDOMapping=0 + +[1600sub7] +ParameterName=PDO 1 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247176 +PDOMapping=0 + +[1600sub8] +ParameterName=PDO 1 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312712 +PDOMapping=0 + +[1601] +ParameterName=Receive PDO 2 Mapping +ObjectType=0x8 +SubNumber=3 + +[1601sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1601sub1] +ParameterName=PDO 2 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538378248 +PDOMapping=0 + +[1601sub2] +ParameterName=PDO 2 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538443784 +PDOMapping=0 + +[1602] +ParameterName=Receive PDO 3 Mapping +ObjectType=0x8 +SubNumber=9 + +[1602sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1602sub1] +ParameterName=PDO 3 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538509320 +PDOMapping=0 + +[1602sub2] +ParameterName=PDO 3 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538574856 +PDOMapping=0 + +[1602sub3] +ParameterName=PDO 3 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538640392 +PDOMapping=0 + +[1602sub4] +ParameterName=PDO 3 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538705928 +PDOMapping=0 + +[1602sub5] +ParameterName=PDO 3 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538771464 +PDOMapping=0 + +[1602sub6] +ParameterName=PDO 3 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538837000 +PDOMapping=0 + +[1602sub7] +ParameterName=PDO 3 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538902536 +PDOMapping=0 + +[1602sub8] +ParameterName=PDO 3 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538968072 +PDOMapping=0 + +[1603] +ParameterName=Receive PDO 4 Mapping +ObjectType=0x8 +SubNumber=3 + +[1603sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1603sub1] +ParameterName=PDO 4 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539033608 +PDOMapping=0 + +[1603sub2] +ParameterName=PDO 4 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539099144 +PDOMapping=0 + +[1604] +ParameterName=Receive PDO 5 Mapping +ObjectType=0x8 +SubNumber=9 + +[1604sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1604sub1] +ParameterName=PDO 5 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539164680 +PDOMapping=0 + +[1604sub2] +ParameterName=PDO 5 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539230216 +PDOMapping=0 + +[1604sub3] +ParameterName=PDO 5 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539295752 +PDOMapping=0 + +[1604sub4] +ParameterName=PDO 5 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539361288 +PDOMapping=0 + +[1604sub5] +ParameterName=PDO 5 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539426824 +PDOMapping=0 + +[1604sub6] +ParameterName=PDO 5 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539492360 +PDOMapping=0 + +[1604sub7] +ParameterName=PDO 5 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539557896 +PDOMapping=0 + +[1604sub8] +ParameterName=PDO 5 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539623432 +PDOMapping=0 + +[1605] +ParameterName=Receive PDO 6 Mapping +ObjectType=0x8 +SubNumber=3 + +[1605sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1605sub1] +ParameterName=PDO 6 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539688968 +PDOMapping=0 + +[1605sub2] +ParameterName=PDO 6 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539754504 +PDOMapping=0 + +[1606] +ParameterName=Receive PDO 7 Mapping +ObjectType=0x8 +SubNumber=9 + +[1606sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1606sub1] +ParameterName=PDO 7 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539820040 +PDOMapping=0 + +[1606sub2] +ParameterName=PDO 7 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539885576 +PDOMapping=0 + +[1606sub3] +ParameterName=PDO 7 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539951112 +PDOMapping=0 + +[1606sub4] +ParameterName=PDO 7 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540016648 +PDOMapping=0 + +[1606sub5] +ParameterName=PDO 7 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540082184 +PDOMapping=0 + +[1606sub6] +ParameterName=PDO 7 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540147720 +PDOMapping=0 + +[1606sub7] +ParameterName=PDO 7 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540213256 +PDOMapping=0 + +[1606sub8] +ParameterName=PDO 7 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540278792 +PDOMapping=0 + +[1607] +ParameterName=Receive PDO 8 Mapping +ObjectType=0x8 +SubNumber=3 + +[1607sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1607sub1] +ParameterName=PDO 8 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540344328 +PDOMapping=0 + +[1607sub2] +ParameterName=PDO 8 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540409864 +PDOMapping=0 + +[1608] +ParameterName=Receive PDO 9 Mapping +ObjectType=0x8 +SubNumber=9 + +[1608sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1608sub1] +ParameterName=PDO 9 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540475400 +PDOMapping=0 + +[1608sub2] +ParameterName=PDO 9 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540540936 +PDOMapping=0 + +[1608sub3] +ParameterName=PDO 9 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540606472 +PDOMapping=0 + +[1608sub4] +ParameterName=PDO 9 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540672008 +PDOMapping=0 + +[1608sub5] +ParameterName=PDO 9 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540737544 +PDOMapping=0 + +[1608sub6] +ParameterName=PDO 9 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540803080 +PDOMapping=0 + +[1608sub7] +ParameterName=PDO 9 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540868616 +PDOMapping=0 + +[1608sub8] +ParameterName=PDO 9 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540934152 +PDOMapping=0 + +[1609] +ParameterName=Receive PDO 10 Mapping +ObjectType=0x8 +SubNumber=9 + +[1609sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1609sub1] +ParameterName=PDO 10 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540999688 +PDOMapping=0 + +[1609sub2] +ParameterName=PDO 10 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541065224 +PDOMapping=0 + +[1609sub3] +ParameterName=PDO 10 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541130760 +PDOMapping=0 + +[1609sub4] +ParameterName=PDO 10 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541196296 +PDOMapping=0 + +[1609sub5] +ParameterName=PDO 10 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541261832 +PDOMapping=0 + +[1609sub6] +ParameterName=PDO 10 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541327368 +PDOMapping=0 + +[1609sub7] +ParameterName=PDO 10 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541392904 +PDOMapping=0 + +[1609sub8] +ParameterName=PDO 10 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541458440 +PDOMapping=0 + +[160A] +ParameterName=Receive PDO 11 Mapping +ObjectType=0x8 +SubNumber=9 + +[160Asub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[160Asub1] +ParameterName=PDO 11 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541523976 +PDOMapping=0 + +[160Asub2] +ParameterName=PDO 11 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541589512 +PDOMapping=0 + +[160Asub3] +ParameterName=PDO 11 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541655048 +PDOMapping=0 + +[160Asub4] +ParameterName=PDO 11 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541720584 +PDOMapping=0 + +[160Asub5] +ParameterName=PDO 11 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541786120 +PDOMapping=0 + +[160Asub6] +ParameterName=PDO 11 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541851656 +PDOMapping=0 + +[160Asub7] +ParameterName=PDO 11 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541917192 +PDOMapping=0 + +[160Asub8] +ParameterName=PDO 11 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541982728 +PDOMapping=0 + +[160B] +ParameterName=Receive PDO 12 Mapping +ObjectType=0x8 +SubNumber=9 + +[160Bsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[160Bsub1] +ParameterName=PDO 12 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542048264 +PDOMapping=0 + +[160Bsub2] +ParameterName=PDO 12 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542113800 +PDOMapping=0 + +[160Bsub3] +ParameterName=PDO 12 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542179336 +PDOMapping=0 + +[160Bsub4] +ParameterName=PDO 12 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542244872 +PDOMapping=0 + +[160Bsub5] +ParameterName=PDO 12 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542310408 +PDOMapping=0 + +[160Bsub6] +ParameterName=PDO 12 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542375944 +PDOMapping=0 + +[160Bsub7] +ParameterName=PDO 12 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542441480 +PDOMapping=0 + +[160Bsub8] +ParameterName=PDO 12 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542507016 +PDOMapping=0 + +[160C] +ParameterName=Receive PDO 13 Mapping +ObjectType=0x8 +SubNumber=2 + +[160Csub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[160Csub1] +ParameterName=PDO 13 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542572552 +PDOMapping=0 + +[160D] +ParameterName=Receive PDO 14 Mapping +ObjectType=0x8 +SubNumber=2 + +[160Dsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[160Dsub1] +ParameterName=PDO 14 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=543096840 +PDOMapping=0 + +[160E] +ParameterName=Receive PDO 15 Mapping +ObjectType=0x8 +SubNumber=2 + +[160Esub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[160Esub1] +ParameterName=PDO 15 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=543621128 +PDOMapping=0 + +[160F] +ParameterName=Receive PDO 16 Mapping +ObjectType=0x8 +SubNumber=2 + +[160Fsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[160Fsub1] +ParameterName=PDO 16 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=544145416 +PDOMapping=0 + +[1610] +ParameterName=Receive PDO 17 Mapping +ObjectType=0x8 +SubNumber=2 + +[1610sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1610sub1] +ParameterName=PDO 17 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=544669704 +PDOMapping=0 + +[1611] +ParameterName=Receive PDO 18 Mapping +ObjectType=0x8 +SubNumber=2 + +[1611sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1611sub1] +ParameterName=PDO 18 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=545193992 +PDOMapping=0 + +[1800] +ParameterName=Transmit PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1800sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1800sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=576 +PDOMapping=0 + +[1800sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1800sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1800sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1A00] +ParameterName=Transmit PDO 1 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A00sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A00sub1] +ParameterName=PDO 1 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536870920 +PDOMapping=0 + +[ManufacturerObjects] +SupportedObjects=80 +1=0x2000 +2=0x2001 +3=0x200F +4=0x2010 +5=0x2011 +6=0x2012 +7=0x2013 +8=0x2014 +9=0x2015 +10=0x2016 +11=0x2017 +12=0x2018 +13=0x2019 +14=0x201A +15=0x201B +16=0x201C +17=0x201D +18=0x201E +19=0x201F +20=0x2020 +21=0x2021 +22=0x2022 +23=0x2023 +24=0x2024 +25=0x2025 +26=0x2026 +27=0x2027 +28=0x2028 +29=0x2029 +30=0x202A +31=0x202B +32=0x202C +33=0x202D +34=0x202E +35=0x202F +36=0x2030 +37=0x2031 +38=0x2032 +39=0x2033 +40=0x2034 +41=0x2035 +42=0x2036 +43=0x2037 +44=0x2038 +45=0x2039 +46=0x203A +47=0x203B +48=0x203C +49=0x203D +50=0x203E +51=0x203F +52=0x2040 +53=0x2041 +54=0x2042 +55=0x2043 +56=0x2044 +57=0x2045 +58=0x2046 +59=0x2047 +60=0x2048 +61=0x2049 +62=0x204A +63=0x204B +64=0x204C +65=0x204D +66=0x204E +67=0x204F +68=0x2050 +69=0x2051 +70=0x2052 +71=0x2053 +72=0x2054 +73=0x2055 +74=0x2056 +75=0x2057 +76=0x205F +77=0x2067 +78=0x206F +79=0x2077 +80=0x207F + +[2000] +ParameterName=DO1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2001] +ParameterName=DO2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200F] +ParameterName=LH_Position_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2010] +ParameterName=LH_Position_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2011] +ParameterName=LH_Position_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2012] +ParameterName=LH_Position_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2013] +ParameterName=LH_Velocity_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2014] +ParameterName=LH_Velocity_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2015] +ParameterName=LH_Velocity_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2016] +ParameterName=LH_Velocity_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2017] +ParameterName=LH_Torque_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2018] +ParameterName=LH_Torque_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2019] +ParameterName=LK_Position_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201A] +ParameterName=LK_Position_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201B] +ParameterName=LK_Position_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201C] +ParameterName=LK_Position_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201D] +ParameterName=LK_Velocity_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201E] +ParameterName=LK_Velocity_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201F] +ParameterName=LK_Velocity_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2020] +ParameterName=LK_Velocity_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2021] +ParameterName=LK_Torque_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2022] +ParameterName=LK_Torque_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2023] +ParameterName=RH_Position_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2024] +ParameterName=RH_Position_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2025] +ParameterName=RH_Position_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2026] +ParameterName=RH_Position_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2027] +ParameterName=RH_Velocity_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2028] +ParameterName=RH_Velocity_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2029] +ParameterName=RH_Velocity_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202A] +ParameterName=RH_Velocity_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202B] +ParameterName=RH_Torque_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202C] +ParameterName=RH_Torque_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202D] +ParameterName=RK_Position_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202E] +ParameterName=RK_Position_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202F] +ParameterName=RK_Position_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2030] +ParameterName=RK_Position_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2031] +ParameterName=RK_Velocity_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2032] +ParameterName=RK_Velocity_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2033] +ParameterName=RK_Velocity_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2034] +ParameterName=RK_Velocity_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2035] +ParameterName=RK_Torque_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2036] +ParameterName=RK_Torque_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2037] +ParameterName=Left_Crutch_Force_Sensor_Data1_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2038] +ParameterName=Left_Crutch_Force_Sensor_Data1_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2039] +ParameterName=Left_Crutch_Force_Sensor_Data1_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203A] +ParameterName=Left_Crutch_Force_Sensor_Data1_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203B] +ParameterName=Left_Crutch_Force_Sensor_Data1_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203C] +ParameterName=Left_Crutch_Force_Sensor_Data1_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203D] +ParameterName=Left_Crutch_Force_Sensor_Data1_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203E] +ParameterName=Left_Crutch_Force_Sensor_Data1_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203F] +ParameterName=Left_Crutch_Force_Sensor_Data2_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2040] +ParameterName=Left_Crutch_Force_Sensor_Data2_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2041] +ParameterName=Left_Crutch_Force_Sensor_Data2_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2042] +ParameterName=Left_Crutch_Force_Sensor_Data2_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2043] +ParameterName=Left_Crutch_Force_Sensor_Data2_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2044] +ParameterName=Left_Crutch_Force_Sensor_Data2_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2045] +ParameterName=Left_Crutch_Force_Sensor_Data2_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2046] +ParameterName=Left_Crutch_Force_Sensor_Data2_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2047] +ParameterName=Right_Crutch_Force_Sensor_Data1_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2048] +ParameterName=Right_Crutch_Force_Sensor_Data1_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2049] +ParameterName=Right_Crutch_Force_Sensor_Data1_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204A] +ParameterName=Right_Crutch_Force_Sensor_Data1_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204B] +ParameterName=Right_Crutch_Force_Sensor_Data1_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204C] +ParameterName=Right_Crutch_Force_Sensor_Data1_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204D] +ParameterName=Right_Crutch_Force_Sensor_Data1_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204E] +ParameterName=Right_Crutch_Force_Sensor_Data1_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204F] +ParameterName=Right_Crutch_Force_Sensor_Data2_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2050] +ParameterName=Right_Crutch_Force_Sensor_Data2_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2051] +ParameterName=Right_Crutch_Force_Sensor_Data2_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2052] +ParameterName=Right_Crutch_Force_Sensor_Data2_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2053] +ParameterName=Right_Crutch_Force_Sensor_Data2_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2054] +ParameterName=Right_Crutch_Force_Sensor_Data2_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2055] +ParameterName=Right_Crutch_Force_Sensor_Data2_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2056] +ParameterName=Right_Crutch_Force_Sensor_Data2_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2057] +ParameterName=Left_Crutch_Force_Sensor_Command +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205F] +ParameterName=Right_Crutch_Force_Sensor_Command +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2067] +ParameterName=Current_State +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206F] +ParameterName=Current_Movement +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2077] +ParameterName=Next_Movement +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207F] +ParameterName=Go_Button +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 From 90831e9197ad6cb581c868e481027dc565bb5291 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Fri, 2 Sep 2022 10:45:57 +1000 Subject: [PATCH 11/19] update LH_motor testing code --- LH_motor/Left_hip_motor_master.py | 6 ++ LH_motor/Left_hip_motor_node_1.eds | 146 +++++++++++++++++++++++++---- LH_motor/Left_hip_motor_tpdo.py | 68 ++++++++++++-- 3 files changed, 194 insertions(+), 26 deletions(-) diff --git a/LH_motor/Left_hip_motor_master.py b/LH_motor/Left_hip_motor_master.py index a60b33a..4416543 100644 --- a/LH_motor/Left_hip_motor_master.py +++ b/LH_motor/Left_hip_motor_master.py @@ -1,6 +1,12 @@ import canopen import time +# enable the simulated Left hip motor: +# sudo modprobe vcan +# sudo ip link add dev vcan0 type vcan +# sudo ip link set up vcan0 +# candump -t d vcan0 #absoluted time:(-t a); related time:(-t d) + # construct a CAN network network = canopen.Network() diff --git a/LH_motor/Left_hip_motor_node_1.eds b/LH_motor/Left_hip_motor_node_1.eds index 84f07ac..09059c0 100644 --- a/LH_motor/Left_hip_motor_node_1.eds +++ b/LH_motor/Left_hip_motor_node_1.eds @@ -4,17 +4,17 @@ FileVersion=1 FileRevision=1 EDSVersion=4.0 Description= -CreationTime=05:50PM -CreationDate=08-03-2022 +CreationTime=11:11AM +CreationDate=08-16-2022 CreatedBy=CANFestival -ModificationTime=05:50PM -ModificationDate=08-03-2022 +ModificationTime=11:11AM +ModificationDate=08-16-2022 ModifiedBy=CANFestival [DeviceInfo] VendorName=CANFestival VendorNumber=0x00000000 -ProductName=TestMaster +ProductName= ProductNumber=0x00000000 RevisionNumber=0x00000000 BaudRate_10=1 @@ -25,8 +25,8 @@ BaudRate_250=1 BaudRate_500=1 BaudRate_800=1 BaudRate_1000=1 -SimpleBootUpMaster=1 -SimpleBootUpSlave=0 +SimpleBootUpMaster=0 +SimpleBootUpSlave=1 Granularity=8 DynamicChannelsSupported=0 CompactPDO=0 @@ -369,14 +369,14 @@ PDOMapping=0 [1A00] ParameterName=Transmit PDO 1 Mapping ObjectType=0x8 -SubNumber=2 +SubNumber=9 [1A00sub0] ParameterName=Number of Entries ObjectType=0x7 DataType=0x0005 AccessType=rw -DefaultValue=1 +DefaultValue=8 PDOMapping=0 [1A00sub1] @@ -387,18 +387,80 @@ AccessType=rw DefaultValue=536870920 PDOMapping=0 +[1A00sub2] +ParameterName=PDO 1 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=536936456 +PDOMapping=0 + +[1A00sub3] +ParameterName=PDO 1 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537001992 +PDOMapping=0 + +[1A00sub4] +ParameterName=PDO 1 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537067528 +PDOMapping=0 + +[1A00sub5] +ParameterName=PDO 1 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537133064 +PDOMapping=0 + +[1A00sub6] +ParameterName=PDO 1 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537198600 +PDOMapping=0 + +[1A00sub7] +ParameterName=PDO 1 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537264136 +PDOMapping=0 + +[1A00sub8] +ParameterName=PDO 1 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537329672 +PDOMapping=0 + [ManufacturerObjects] -SupportedObjects=10 +SupportedObjects=16 1=0x2000 2=0x2001 -3=0x200F -4=0x2010 -5=0x2011 -6=0x2012 -7=0x2013 -8=0x2014 -9=0x2015 -10=0x2016 +3=0x2002 +4=0x2003 +5=0x2004 +6=0x2005 +7=0x2006 +8=0x2007 +9=0x200F +10=0x2010 +11=0x2011 +12=0x2012 +13=0x2013 +14=0x2014 +15=0x2015 +16=0x2016 [2000] ParameterName=DO1 @@ -416,6 +478,54 @@ AccessType=rw DefaultValue=0 PDOMapping=1 +[2002] +ParameterName=DO3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2003] +ParameterName=DO4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2004] +ParameterName=DO5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2005] +ParameterName=DO6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2006] +ParameterName=DO7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2007] +ParameterName=DO8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + [200F] ParameterName=DI1 ObjectType=0x7 diff --git a/LH_motor/Left_hip_motor_tpdo.py b/LH_motor/Left_hip_motor_tpdo.py index 7115710..32c3ba3 100644 --- a/LH_motor/Left_hip_motor_tpdo.py +++ b/LH_motor/Left_hip_motor_tpdo.py @@ -21,7 +21,9 @@ Left_hip_motor_node_1.tpdo.read() print("tpdo map (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) print("tpdo enabled (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) -Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) +# Manually add the manufacture specific variable, only need if not config in OD +# Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) + print("tpdo map (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) print("tpdo enabled (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) @@ -30,19 +32,69 @@ Left_hip_motor_node_1.nmt.send_command(0x01) time.sleep(2) + +#convert hex signed 2's complement to int +# def hex2dec(hex_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type +# if datatype == 'int32': # motor position and velocity data type +# num_bit = 4 +# if datatype == 'int16': # motor torque data type +# num_bit = 2 +# # if datatype == 'int32': # crutch force sensor data type +# # num_bit = 2 + +# hex_seg = [0]*num_bit +# for i in range(num_bit): +# hex_seg[i] = hex_str[0:2] + +# return + +#convert int to hex signed 2's complement +def dec2hex(dec_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type + if datatype == 'int32': # motor position and velocity data type + num_bit = 4 + if datatype == 'int16': # motor torque data type + num_bit = 2 + # if datatype == 'int32': # crutch force sensor data type + # num_bit = 2 + + valueInByte = (dec_value).to_bytes(num_bit, byteorder="little", signed=True) # signed=True: include negative int + # hexadecimal_result = format(dec_value, "03X") + # hex_str = hexadecimal_result.zfill(num_bit*2) + hex_seg = [0]*num_bit + for i in range(num_bit): + hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="little") + return hex_seg + # test sending PDO to set output print("test sending PDO to set output") try: - write_data = 0 + write_data = -20 + while True: write_data += 1 - if write_data > 0xFF: - write_data = 0 - - Left_hip_motor_node_1.tpdo[1][0x2000].raw = write_data + + position_data = dec2hex(write_data, 'int32') + # if write_data > 0xFF: + # write_data = 0 + # print("position_data: %d",position_data) + # print(type(position_data[0])) + Left_hip_motor_node_1.tpdo[1][0x2000].raw = position_data[0] + Left_hip_motor_node_1.tpdo[1][0x2001].raw = position_data[1] + Left_hip_motor_node_1.tpdo[1][0x2002].raw = position_data[2] + Left_hip_motor_node_1.tpdo[1][0x2003].raw = position_data[3] + # Left_hip_motor_node_1.tpdo[1][0x2004].raw = write_data + # Left_hip_motor_node_1.tpdo[1][0x2005].raw = write_data + # Left_hip_motor_node_1.tpdo[1][0x2006].raw = write_data + # Left_hip_motor_node_1.tpdo[1][0x2007].raw = write_data + print("TPDO Transmit value = ", write_data) + # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2004].raw)) + # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2005].raw)) + # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2006].raw)) + # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2007].raw)) + Left_hip_motor_node_1.tpdo[1].transmit() - print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) - time.sleep(1) + # print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) + time.sleep(0.1) except KeyboardInterrupt: print("exit from sending PDO to Jetson") From 1c8d60ce9fa1438e1feed7e99bead9ab1e388599 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:39:20 +1000 Subject: [PATCH 12/19] new simulator eds --- Exo_test.eds | 3378 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3378 insertions(+) create mode 100644 Exo_test.eds diff --git a/Exo_test.eds b/Exo_test.eds new file mode 100644 index 0000000..3fa3cf0 --- /dev/null +++ b/Exo_test.eds @@ -0,0 +1,3378 @@ +[FileInfo] +FileName=Exo_test.eds +FileVersion=1 +FileRevision=1 +EDSVersion=4.0 +Description= +CreationTime=03:47PM +CreationDate=09-02-2022 +CreatedBy=CANFestival +ModificationTime=03:47PM +ModificationDate=09-02-2022 +ModifiedBy=CANFestival + +[DeviceInfo] +VendorName=CANFestival +VendorNumber=0x00000000 +ProductName= +ProductNumber=0x00000000 +RevisionNumber=0x00000000 +BaudRate_10=1 +BaudRate_20=1 +BaudRate_50=1 +BaudRate_125=1 +BaudRate_250=1 +BaudRate_500=1 +BaudRate_800=1 +BaudRate_1000=1 +SimpleBootUpMaster=0 +SimpleBootUpSlave=1 +Granularity=8 +DynamicChannelsSupported=0 +CompactPDO=0 +GroupMessaging=0 +NrOfRXPDO=1 +NrOfTXPDO=18 +LSS_Supported=0 + +[DummyUsage] +Dummy0001=0 +Dummy0002=1 +Dummy0003=1 +Dummy0004=1 +Dummy0005=1 +Dummy0006=1 +Dummy0007=1 + +[Comments] +Lines=0 + +[MandatoryObjects] +SupportedObjects=3 +1=0x1000 +2=0x1001 +3=0x1018 + +[1000] +ParameterName=Device Type +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=401 +PDOMapping=0 + +[1001] +ParameterName=Error Register +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=0 +PDOMapping=1 + +[1018] +ParameterName=Identity +ObjectType=0x9 +SubNumber=5 + +[1018sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=4 +PDOMapping=0 + +[1018sub1] +ParameterName=Vendor ID +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub2] +ParameterName=Product Code +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub3] +ParameterName=Revision Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[1018sub4] +ParameterName=Serial Number +ObjectType=0x7 +DataType=0x0007 +AccessType=ro +DefaultValue=0 +PDOMapping=0 + +[OptionalObjects] +SupportedObjects=42 +1=0x1005 +2=0x1006 +3=0x1016 +4=0x1280 +5=0x1400 +6=0x1600 +7=0x1800 +8=0x1801 +9=0x1802 +10=0x1803 +11=0x1804 +12=0x1805 +13=0x1806 +14=0x1807 +15=0x1808 +16=0x1809 +17=0x180A +18=0x180B +19=0x180C +20=0x180D +21=0x180E +22=0x180F +23=0x1810 +24=0x1811 +25=0x1A00 +26=0x1A01 +27=0x1A02 +28=0x1A03 +29=0x1A04 +30=0x1A05 +31=0x1A06 +32=0x1A07 +33=0x1A08 +34=0x1A09 +35=0x1A0A +36=0x1A0B +37=0x1A0C +38=0x1A0D +39=0x1A0E +40=0x1A0F +41=0x1A10 +42=0x1A11 + +[1005] +ParameterName=SYNC COB ID +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1073741952 +PDOMapping=0 + +[1006] +ParameterName=Communication Cycle Period +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=50000 +PDOMapping=0 + +[1016] +ParameterName=Consumer Heartbeat Time +ObjectType=0x8 +SubNumber=2 + +[1016sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=1 +PDOMapping=0 + +[1016sub1] +ParameterName=Consumer Heartbeat Time +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=4195804 +PDOMapping=0 + +[1280] +ParameterName=Client SDO 1 Parameter +ObjectType=0x9 +SubNumber=4 + +[1280sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=3 +PDOMapping=0 + +[1280sub1] +ParameterName=COB ID Client to Server (Transmit SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1600 +PDOMapping=0 + +[1280sub2] +ParameterName=COB ID Server to Client (Receive SDO) +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=1472 +PDOMapping=0 + +[1280sub3] +ParameterName=Node ID of the SDO Server +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=64 +PDOMapping=0 + +[1400] +ParameterName=Receive PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1400sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1400sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=897 +PDOMapping=0 + +[1400sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1400sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1400sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1600] +ParameterName=Receive PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1600sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1600sub1] +ParameterName=PDO 1 Mapping for an application object 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853960 +PDOMapping=0 + +[1600sub2] +ParameterName=PDO 1 Mapping for an application object 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919496 +PDOMapping=0 + +[1600sub3] +ParameterName=PDO 1 Mapping for an application object 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985032 +PDOMapping=0 + +[1600sub4] +ParameterName=PDO 1 Mapping for an application object 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050568 +PDOMapping=0 + +[1600sub5] +ParameterName=PDO 1 Mapping for an application object 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116104 +PDOMapping=0 + +[1600sub6] +ParameterName=PDO 1 Mapping for an application object 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181640 +PDOMapping=0 + +[1600sub7] +ParameterName=PDO 1 Mapping for an application object 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247176 +PDOMapping=0 + +[1600sub8] +ParameterName=PDO 1 Mapping for an application object 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312712 +PDOMapping=0 + +[1800] +ParameterName=Transmit PDO 1 Parameter +ObjectType=0x9 +SubNumber=5 + +[1800sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=5 +PDOMapping=0 + +[1800sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=641 +PDOMapping=0 + +[1800sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=255 +PDOMapping=0 + +[1800sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1800sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1801] +ParameterName=Transmit PDO 2 Parameter +ObjectType=0x9 +SubNumber=6 + +[1801sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1801sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=897 +PDOMapping=0 + +[1801sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1801sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1801sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1801sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1802] +ParameterName=Transmit PDO 3 Parameter +ObjectType=0x9 +SubNumber=6 + +[1802sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1802sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=642 +PDOMapping=0 + +[1802sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1802sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1802sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1802sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1803] +ParameterName=Transmit PDO 4 Parameter +ObjectType=0x9 +SubNumber=6 + +[1803sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1803sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=898 +PDOMapping=0 + +[1803sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1803sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1803sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1803sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1804] +ParameterName=Transmit PDO 5 Parameter +ObjectType=0x9 +SubNumber=6 + +[1804sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1804sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=643 +PDOMapping=0 + +[1804sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1804sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1804sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1804sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1805] +ParameterName=Transmit PDO 6 Parameter +ObjectType=0x9 +SubNumber=6 + +[1805sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1805sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=899 +PDOMapping=0 + +[1805sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1805sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1805sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1805sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1806] +ParameterName=Transmit PDO 7 Parameter +ObjectType=0x9 +SubNumber=6 + +[1806sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1806sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=644 +PDOMapping=0 + +[1806sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1806sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1806sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1806sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1807] +ParameterName=Transmit PDO 8 Parameter +ObjectType=0x9 +SubNumber=6 + +[1807sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1807sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=900 +PDOMapping=0 + +[1807sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1807sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1807sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1807sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1808] +ParameterName=Transmit PDO 9 Parameter +ObjectType=0x9 +SubNumber=6 + +[1808sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1808sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=241 +PDOMapping=0 + +[1808sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1808sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1808sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1808sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1809] +ParameterName=Transmit PDO 10 Parameter +ObjectType=0x9 +SubNumber=6 + +[1809sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1809sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=242 +PDOMapping=0 + +[1809sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1809sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1809sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1809sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180A] +ParameterName=Transmit PDO 11 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Asub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Asub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=249 +PDOMapping=0 + +[180Asub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Asub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Asub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Asub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180B] +ParameterName=Transmit PDO 12 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Bsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Bsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=250 +PDOMapping=0 + +[180Bsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Bsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Bsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Bsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180C] +ParameterName=Transmit PDO 13 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Csub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Csub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=240 +PDOMapping=0 + +[180Csub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Csub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Csub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Csub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180D] +ParameterName=Transmit PDO 14 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Dsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Dsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=248 +PDOMapping=0 + +[180Dsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Dsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Dsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Dsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180E] +ParameterName=Transmit PDO 15 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Esub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Esub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=529 +PDOMapping=0 + +[180Esub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Esub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Esub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Esub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180F] +ParameterName=Transmit PDO 16 Parameter +ObjectType=0x9 +SubNumber=6 + +[180Fsub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[180Fsub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=530 +PDOMapping=0 + +[180Fsub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Fsub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Fsub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[180Fsub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1810] +ParameterName=Transmit PDO 17 Parameter +ObjectType=0x9 +SubNumber=6 + +[1810sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1810sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=401 +PDOMapping=0 + +[1810sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1810sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1810sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1810sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1811] +ParameterName=Transmit PDO 18 Parameter +ObjectType=0x9 +SubNumber=6 + +[1811sub0] +ParameterName=Highest SubIndex Supported +ObjectType=0x7 +DataType=0x0005 +AccessType=ro +DefaultValue=6 +PDOMapping=0 + +[1811sub1] +ParameterName=COB ID used by PDO +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=402 +PDOMapping=0 + +[1811sub2] +ParameterName=Transmission Type +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1811sub3] +ParameterName=Inhibit Time +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1811sub5] +ParameterName=Event Timer +ObjectType=0x7 +DataType=0x0006 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1811sub6] +ParameterName=SYNC start value +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=0 + +[1A00] +ParameterName=Transmit PDO 1 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A00sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A00sub1] +ParameterName=PDO 1 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537853960 +PDOMapping=0 + +[1A00sub2] +ParameterName=PDO 1 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537919496 +PDOMapping=0 + +[1A00sub3] +ParameterName=PDO 1 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=537985032 +PDOMapping=0 + +[1A00sub4] +ParameterName=PDO 1 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538050568 +PDOMapping=0 + +[1A00sub5] +ParameterName=PDO 1 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538116104 +PDOMapping=0 + +[1A00sub6] +ParameterName=PDO 1 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538181640 +PDOMapping=0 + +[1A00sub7] +ParameterName=PDO 1 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538247176 +PDOMapping=0 + +[1A00sub8] +ParameterName=PDO 1 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538312712 +PDOMapping=0 + +[1A01] +ParameterName=Transmit PDO 2 Mapping +ObjectType=0x8 +SubNumber=3 + +[1A01sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1A01sub1] +ParameterName=PDO 2 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538378248 +PDOMapping=0 + +[1A01sub2] +ParameterName=PDO 2 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538443784 +PDOMapping=0 + +[1A02] +ParameterName=Transmit PDO 3 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A02sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A02sub1] +ParameterName=PDO 3 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538509320 +PDOMapping=0 + +[1A02sub2] +ParameterName=PDO 3 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538574856 +PDOMapping=0 + +[1A02sub3] +ParameterName=PDO 3 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538640392 +PDOMapping=0 + +[1A02sub4] +ParameterName=PDO 3 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538705928 +PDOMapping=0 + +[1A02sub5] +ParameterName=PDO 3 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538771464 +PDOMapping=0 + +[1A02sub6] +ParameterName=PDO 3 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538837000 +PDOMapping=0 + +[1A02sub7] +ParameterName=PDO 3 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538902536 +PDOMapping=0 + +[1A02sub8] +ParameterName=PDO 3 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=538968072 +PDOMapping=0 + +[1A03] +ParameterName=Transmit PDO 4 Mapping +ObjectType=0x8 +SubNumber=3 + +[1A03sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1A03sub1] +ParameterName=PDO 4 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539033608 +PDOMapping=0 + +[1A03sub2] +ParameterName=PDO 4 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539099144 +PDOMapping=0 + +[1A04] +ParameterName=Transmit PDO 5 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A04sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A04sub1] +ParameterName=PDO 5 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539164680 +PDOMapping=0 + +[1A04sub2] +ParameterName=PDO 5 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539230216 +PDOMapping=0 + +[1A04sub3] +ParameterName=PDO 5 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539295752 +PDOMapping=0 + +[1A04sub4] +ParameterName=PDO 5 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539361288 +PDOMapping=0 + +[1A04sub5] +ParameterName=PDO 5 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539426824 +PDOMapping=0 + +[1A04sub6] +ParameterName=PDO 5 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539492360 +PDOMapping=0 + +[1A04sub7] +ParameterName=PDO 5 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539557896 +PDOMapping=0 + +[1A04sub8] +ParameterName=PDO 5 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539623432 +PDOMapping=0 + +[1A05] +ParameterName=Transmit PDO 6 Mapping +ObjectType=0x8 +SubNumber=3 + +[1A05sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1A05sub1] +ParameterName=PDO 6 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539688968 +PDOMapping=0 + +[1A05sub2] +ParameterName=PDO 6 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539754504 +PDOMapping=0 + +[1A06] +ParameterName=Transmit PDO 7 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A06sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A06sub1] +ParameterName=PDO 7 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539820040 +PDOMapping=0 + +[1A06sub2] +ParameterName=PDO 7 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539885576 +PDOMapping=0 + +[1A06sub3] +ParameterName=PDO 7 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=539951112 +PDOMapping=0 + +[1A06sub4] +ParameterName=PDO 7 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540016648 +PDOMapping=0 + +[1A06sub5] +ParameterName=PDO 7 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540082184 +PDOMapping=0 + +[1A06sub6] +ParameterName=PDO 7 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540147720 +PDOMapping=0 + +[1A06sub7] +ParameterName=PDO 7 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540213256 +PDOMapping=0 + +[1A06sub8] +ParameterName=PDO 7 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540278792 +PDOMapping=0 + +[1A07] +ParameterName=Transmit PDO 8 Mapping +ObjectType=0x8 +SubNumber=3 + +[1A07sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=2 +PDOMapping=0 + +[1A07sub1] +ParameterName=PDO 8 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540344328 +PDOMapping=0 + +[1A07sub2] +ParameterName=PDO 8 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540409864 +PDOMapping=0 + +[1A08] +ParameterName=Transmit PDO 9 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A08sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A08sub1] +ParameterName=PDO 9 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540475400 +PDOMapping=0 + +[1A08sub2] +ParameterName=PDO 9 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540540936 +PDOMapping=0 + +[1A08sub3] +ParameterName=PDO 9 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540606472 +PDOMapping=0 + +[1A08sub4] +ParameterName=PDO 9 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540672008 +PDOMapping=0 + +[1A08sub5] +ParameterName=PDO 9 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540737544 +PDOMapping=0 + +[1A08sub6] +ParameterName=PDO 9 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540803080 +PDOMapping=0 + +[1A08sub7] +ParameterName=PDO 9 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540868616 +PDOMapping=0 + +[1A08sub8] +ParameterName=PDO 9 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540934152 +PDOMapping=0 + +[1A09] +ParameterName=Transmit PDO 10 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A09sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A09sub1] +ParameterName=PDO 10 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=540999688 +PDOMapping=0 + +[1A09sub2] +ParameterName=PDO 10 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541065224 +PDOMapping=0 + +[1A09sub3] +ParameterName=PDO 10 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541130760 +PDOMapping=0 + +[1A09sub4] +ParameterName=PDO 10 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541196296 +PDOMapping=0 + +[1A09sub5] +ParameterName=PDO 10 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541261832 +PDOMapping=0 + +[1A09sub6] +ParameterName=PDO 10 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541327368 +PDOMapping=0 + +[1A09sub7] +ParameterName=PDO 10 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541392904 +PDOMapping=0 + +[1A09sub8] +ParameterName=PDO 10 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541458440 +PDOMapping=0 + +[1A0A] +ParameterName=Transmit PDO 11 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A0Asub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A0Asub1] +ParameterName=PDO 11 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541523976 +PDOMapping=0 + +[1A0Asub2] +ParameterName=PDO 11 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541589512 +PDOMapping=0 + +[1A0Asub3] +ParameterName=PDO 11 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541655048 +PDOMapping=0 + +[1A0Asub4] +ParameterName=PDO 11 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541720584 +PDOMapping=0 + +[1A0Asub5] +ParameterName=PDO 11 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541786120 +PDOMapping=0 + +[1A0Asub6] +ParameterName=PDO 11 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541851656 +PDOMapping=0 + +[1A0Asub7] +ParameterName=PDO 11 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541917192 +PDOMapping=0 + +[1A0Asub8] +ParameterName=PDO 11 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=541982728 +PDOMapping=0 + +[1A0B] +ParameterName=Transmit PDO 12 Mapping +ObjectType=0x8 +SubNumber=9 + +[1A0Bsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=8 +PDOMapping=0 + +[1A0Bsub1] +ParameterName=PDO 12 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542048264 +PDOMapping=0 + +[1A0Bsub2] +ParameterName=PDO 12 Mapping for a process data variable 2 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542113800 +PDOMapping=0 + +[1A0Bsub3] +ParameterName=PDO 12 Mapping for a process data variable 3 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542179336 +PDOMapping=0 + +[1A0Bsub4] +ParameterName=PDO 12 Mapping for a process data variable 4 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542244872 +PDOMapping=0 + +[1A0Bsub5] +ParameterName=PDO 12 Mapping for a process data variable 5 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542310408 +PDOMapping=0 + +[1A0Bsub6] +ParameterName=PDO 12 Mapping for a process data variable 6 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542375944 +PDOMapping=0 + +[1A0Bsub7] +ParameterName=PDO 12 Mapping for a process data variable 7 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542441480 +PDOMapping=0 + +[1A0Bsub8] +ParameterName=PDO 12 Mapping for a process data variable 8 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542507016 +PDOMapping=0 + +[1A0C] +ParameterName=Transmit PDO 13 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A0Csub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A0Csub1] +ParameterName=PDO 13 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=542572552 +PDOMapping=0 + +[1A0D] +ParameterName=Transmit PDO 14 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A0Dsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A0Dsub1] +ParameterName=PDO 14 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=543096840 +PDOMapping=0 + +[1A0E] +ParameterName=Transmit PDO 15 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A0Esub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A0Esub1] +ParameterName=PDO 15 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=543621128 +PDOMapping=0 + +[1A0F] +ParameterName=Transmit PDO 16 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A0Fsub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A0Fsub1] +ParameterName=PDO 16 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=544145416 +PDOMapping=0 + +[1A10] +ParameterName=Transmit PDO 17 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A10sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A10sub1] +ParameterName=PDO 17 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=544669704 +PDOMapping=0 + +[1A11] +ParameterName=Transmit PDO 18 Mapping +ObjectType=0x8 +SubNumber=2 + +[1A11sub0] +ParameterName=Number of Entries +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=1 +PDOMapping=0 + +[1A11sub1] +ParameterName=PDO 18 Mapping for a process data variable 1 +ObjectType=0x7 +DataType=0x0007 +AccessType=rw +DefaultValue=545193992 +PDOMapping=0 + +[ManufacturerObjects] +SupportedObjects=135 +1=0x2000 +2=0x2001 +3=0x2002 +4=0x2003 +5=0x2004 +6=0x2005 +7=0x2006 +8=0x2007 +9=0x2008 +10=0x2009 +11=0x200A +12=0x200B +13=0x200C +14=0x200D +15=0x200E +16=0x200F +17=0x2010 +18=0x2011 +19=0x2012 +20=0x2013 +21=0x2014 +22=0x2015 +23=0x2016 +24=0x2017 +25=0x2018 +26=0x2019 +27=0x201A +28=0x201B +29=0x201C +30=0x201D +31=0x201E +32=0x201F +33=0x2020 +34=0x2021 +35=0x2022 +36=0x2023 +37=0x2024 +38=0x2025 +39=0x2026 +40=0x2027 +41=0x2028 +42=0x2029 +43=0x202A +44=0x202B +45=0x202C +46=0x202D +47=0x202E +48=0x202F +49=0x2030 +50=0x2031 +51=0x2032 +52=0x2033 +53=0x2034 +54=0x2035 +55=0x2036 +56=0x2037 +57=0x2038 +58=0x2039 +59=0x203A +60=0x203B +61=0x203C +62=0x203D +63=0x203E +64=0x203F +65=0x2040 +66=0x2041 +67=0x2042 +68=0x2043 +69=0x2044 +70=0x2045 +71=0x2046 +72=0x2047 +73=0x2048 +74=0x2049 +75=0x204A +76=0x204B +77=0x204C +78=0x204D +79=0x204E +80=0x204F +81=0x2050 +82=0x2051 +83=0x2052 +84=0x2053 +85=0x2054 +86=0x2055 +87=0x2056 +88=0x2057 +89=0x2058 +90=0x2059 +91=0x205A +92=0x205B +93=0x205C +94=0x205D +95=0x205E +96=0x205F +97=0x2060 +98=0x2061 +99=0x2062 +100=0x2063 +101=0x2064 +102=0x2065 +103=0x2066 +104=0x2067 +105=0x2068 +106=0x2069 +107=0x206A +108=0x206B +109=0x206C +110=0x206D +111=0x206E +112=0x206F +113=0x2070 +114=0x2071 +115=0x2072 +116=0x2073 +117=0x2074 +118=0x2075 +119=0x2076 +120=0x2077 +121=0x2078 +122=0x2079 +123=0x207A +124=0x207B +125=0x207C +126=0x207D +127=0x207E +128=0x207F +129=0x2080 +130=0x2081 +131=0x2082 +132=0x2083 +133=0x2084 +134=0x2085 +135=0x2086 + +[2000] +ParameterName=DO1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2001] +ParameterName=DO2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2002] +ParameterName=DO3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2003] +ParameterName=DO4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2004] +ParameterName=DO5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2005] +ParameterName=DO6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2006] +ParameterName=DO7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2007] +ParameterName=DO8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2008] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2009] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200A] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200B] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200C] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200D] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200E] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[200F] +ParameterName=LH_P1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2010] +ParameterName=LH_P2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2011] +ParameterName=LH_P3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2012] +ParameterName=LH_P4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2013] +ParameterName=LH_V1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2014] +ParameterName=LH_V2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2015] +ParameterName=LH_V3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2016] +ParameterName=LH_V4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=False +PDOMapping=1 + +[2017] +ParameterName=LH_T1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2018] +ParameterName=LH_T2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2019] +ParameterName=LK_P1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201A] +ParameterName=LK_P2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201B] +ParameterName=LK_P3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201C] +ParameterName=LK_P4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201D] +ParameterName=LK_V1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201E] +ParameterName=LK_V2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[201F] +ParameterName=LK_V3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2020] +ParameterName=LK_V4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2021] +ParameterName=LK_T1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2022] +ParameterName=LK_T2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2023] +ParameterName=RH_P1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2024] +ParameterName=RH_P2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2025] +ParameterName=RH_P3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2026] +ParameterName=RH_P4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2027] +ParameterName=RH_V1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2028] +ParameterName=RH_V2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2029] +ParameterName=RH_V3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202A] +ParameterName=RH_V4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202B] +ParameterName=RH_T1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202C] +ParameterName=RH_T2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202D] +ParameterName=RK_P1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202E] +ParameterName=RK_P2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[202F] +ParameterName=RK_P3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2030] +ParameterName=RK_P4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2031] +ParameterName=RK_V1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2032] +ParameterName=RK_V2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2033] +ParameterName=RK_V3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2034] +ParameterName=RK_V4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2035] +ParameterName=RK_T1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2036] +ParameterName=RK_T2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2037] +ParameterName=Left_Crutch1_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2038] +ParameterName=Left_Crutch1_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2039] +ParameterName=Left_Crutch1_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203A] +ParameterName=Left_Crutch1_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203B] +ParameterName=Left_Crutch1_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203C] +ParameterName=Left_Crutch1_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203D] +ParameterName=Left_Crutch1_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203E] +ParameterName=Left_Crutch1_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[203F] +ParameterName=Left_Crutch2_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2040] +ParameterName=Left_Crutch2_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2041] +ParameterName=Left_Crutch2_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2042] +ParameterName=Left_Crutch2_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2043] +ParameterName=Left_Crutch2_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2044] +ParameterName=Left_Crutch2_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2045] +ParameterName=Left_Crutch2_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2046] +ParameterName=Left_Crutch2_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2047] +ParameterName=Right_Crutch1_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2048] +ParameterName=Right_Crutch1_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2049] +ParameterName=Right_Crutch1_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204A] +ParameterName=Right_Crutch1_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204B] +ParameterName=Right_Crutch1_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204C] +ParameterName=Right_Crutch1_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204D] +ParameterName=Right_Crutch1_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204E] +ParameterName=Right_Crutch1_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[204F] +ParameterName=Right_Crutch2_1 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2050] +ParameterName=Right_Crutch2_2 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2051] +ParameterName=Right_Crutch2_3 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2052] +ParameterName=Right_Crutch2_4 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2053] +ParameterName=Right_Crutch2_5 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2054] +ParameterName=Right_Crutch2_6 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2055] +ParameterName=Right_Crutch2_7 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2056] +ParameterName=Right_Crutch2_8 +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2057] +ParameterName=left_crutch_force_sensor_command +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2058] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2059] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205A] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205B] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205C] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205D] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205E] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[205F] +ParameterName=right_crutch_force_sensor_command +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2060] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2061] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2062] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2063] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2064] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2065] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2066] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2067] +ParameterName=current_state +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2068] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2069] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206A] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206B] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206C] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206D] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206E] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[206F] +ParameterName=current_movement +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2070] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2071] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2072] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2073] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2074] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2075] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2076] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2077] +ParameterName=next_movement +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2078] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2079] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207A] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207B] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207C] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207D] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207E] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[207F] +ParameterName=go_button +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2080] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2081] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2082] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2083] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2084] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2085] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 + +[2086] +ParameterName=Undefined +ObjectType=0x7 +DataType=0x0005 +AccessType=rw +DefaultValue=0 +PDOMapping=1 From 8c3d535487594ea3a53da64e60df07d4835ca441 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:39:52 +1000 Subject: [PATCH 13/19] create simulator folder --- Exo_test.eds => Simulator/Exo_test.eds | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Exo_test.eds => Simulator/Exo_test.eds (100%) diff --git a/Exo_test.eds b/Simulator/Exo_test.eds similarity index 100% rename from Exo_test.eds rename to Simulator/Exo_test.eds From 22a153a7faac5204605bbe6e1b42415322bba830 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:40:29 +1000 Subject: [PATCH 14/19] upload simulator master and tpdo script --- Simulator/Exo_test_master.py | 35 ++++++ Simulator/Exo_test_tpdo.py | 223 +++++++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 Simulator/Exo_test_master.py create mode 100644 Simulator/Exo_test_tpdo.py diff --git a/Simulator/Exo_test_master.py b/Simulator/Exo_test_master.py new file mode 100644 index 0000000..683a58f --- /dev/null +++ b/Simulator/Exo_test_master.py @@ -0,0 +1,35 @@ +import canopen +import time + +# enable the simulated Left hip motor: +# sudo modprobe vcan +# sudo ip link add dev vcan0 type vcan +# sudo ip link set up vcan0 +# candump -t d vcan0 #absoluted time:(-t a); related time:(-t d) + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) +#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) + +# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" +Exo_test = network.create_node(1, 'Exo_test.eds') + +# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" +Exo_test.nmt.send_command(0) + +# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) +Exo_test.nmt.start_heartbeat(1000) + +print("Test reading PDO to read input of Remote I/O LC5100") +try: + while True: + Exo_test.rpdo.read() + Exo_test.tpdo.read() + +except KeyboardInterrupt: + print("Exit from reading PDO to LC5100") + + diff --git a/Simulator/Exo_test_tpdo.py b/Simulator/Exo_test_tpdo.py new file mode 100644 index 0000000..84b0c92 --- /dev/null +++ b/Simulator/Exo_test_tpdo.py @@ -0,0 +1,223 @@ +import canopen +import time + +# construct a CAN network +network = canopen.Network() + +# connect to the CAN network +network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) + +# add node +Exo_test = canopen.RemoteNode(1, 'Exo_test.eds') +network.add_node(Exo_test) + +#set to pre-operational mode +Exo_test.nmt.send_command(0x80) +time.sleep(2) + +#config PDO +print("config PDO device") +Exo_test.rpdo.read() +Exo_test.tpdo.read() +# print("tpdo map (before):\t{}".format(Exo_test.tpdo[1].map)) +# print("tpdo enabled (before):\t{}".format(Exo_test.tpdo[1].enabled)) +# Manually add the manufacture specific variable, only need if not config in OD +# Exo_test.tpdo[1].add_variable(0x2000, 1, 8) + +# print("tpdo map (after):\t{}".format(Exo_test.tpdo[1].map)) +# print("tpdo enabled (after):\t{}".format(Exo_test.tpdo[1].enabled)) + +#set to operational mode +print("set to operational mode") +Exo_test.nmt.send_command(0x01) +time.sleep(2) + + +#convert hex signed 2's complement to int +# def hex2dec(hex_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type +# if datatype == 'int32': # motor position and velocity data type +# num_bit = 4 +# if datatype == 'int16': # motor torque data type +# num_bit = 2 +# # if datatype == 'int32': # crutch force sensor data type +# # num_bit = 2 + +# hex_seg = [0]*num_bit +# for i in range(num_bit): +# hex_seg[i] = hex_str[0:2] + +# return + +#convert int to hex signed 2's complement +def dec2hex(dec_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type + if datatype == 'int32': # motor position and velocity data type + num_bit = 4 + if datatype == 'int16': # motor torque data type + num_bit = 2 + # if datatype == 'int32': # crutch force sensor data type + # num_bit = 2 + + valueInByte = (dec_value).to_bytes(num_bit, byteorder="little", signed=True) # signed=True: include negative int + # hexadecimal_result = format(dec_value, "03X") + # hex_str = hexadecimal_result.zfill(num_bit*2) + hex_seg = [0]*num_bit + for i in range(num_bit): + hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="little") + return hex_seg + +# test sending PDO to set output +print("test sending PDO to set output") + + +test_id = 9 + + +def config_pdo(id, value): + splited_value_1 = 0 + splited_value_2 = 0 + print("Testing TPDO:",id ) + if(id==1): + splited_value_1 = dec2hex(write_data, 'int32') + splited_value_2 = dec2hex(write_data-16, 'int32') + Exo_test.tpdo[id][0x200F].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2010].raw = splited_value_1[1] + Exo_test.tpdo[id][0x2011].raw = splited_value_1[2] + Exo_test.tpdo[id][0x2012].raw = splited_value_1[3] + Exo_test.tpdo[id][0x2013].raw = splited_value_2[0] + Exo_test.tpdo[id][0x2014].raw = splited_value_2[1] + Exo_test.tpdo[id][0x2015].raw = splited_value_2[2] + Exo_test.tpdo[id][0x2016].raw = splited_value_2[3] + print("TPDO Transmit value = ", write_data, write_data-16) + elif(id==2): + splited_value_1 = dec2hex(write_data, 'int16') + Exo_test.tpdo[id][0x2017].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2018].raw = splited_value_1[1] + print("TPDO Transmit value = ", write_data) + elif(id==3): + splited_value_1 = dec2hex(write_data, 'int32') + splited_value_2 = dec2hex(write_data-16, 'int32') + Exo_test.tpdo[id][0x2019].raw = splited_value_1[0] + Exo_test.tpdo[id][0x201A].raw = splited_value_1[1] + Exo_test.tpdo[id][0x201B].raw = splited_value_1[2] + Exo_test.tpdo[id][0x201C].raw = splited_value_1[3] + Exo_test.tpdo[id][0x201D].raw = splited_value_2[0] + Exo_test.tpdo[id][0x201E].raw = splited_value_2[1] + Exo_test.tpdo[id][0x201F].raw = splited_value_2[2] + Exo_test.tpdo[id][0x2020].raw = splited_value_2[3] + print("TPDO Transmit value = ", write_data, write_data-16) + elif(id==4): + splited_value_1 = dec2hex(write_data, 'int16') + Exo_test.tpdo[id][0x2021].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2022].raw = splited_value_1[1] + print("TPDO Transmit value = ", write_data) + elif(id==5): + splited_value_1 = dec2hex(write_data, 'int32') + splited_value_2 = dec2hex(write_data-16, 'int32') + Exo_test.tpdo[id][0x2023].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2024].raw = splited_value_1[1] + Exo_test.tpdo[id][0x2025].raw = splited_value_1[2] + Exo_test.tpdo[id][0x2026].raw = splited_value_1[3] + Exo_test.tpdo[id][0x2027].raw = splited_value_2[0] + Exo_test.tpdo[id][0x2028].raw = splited_value_2[1] + Exo_test.tpdo[id][0x2029].raw = splited_value_2[2] + Exo_test.tpdo[id][0x202A].raw = splited_value_2[3] + print("TPDO Transmit value = ", write_data, write_data-16) + elif(id==6): + splited_value_1 = dec2hex(write_data, 'int16') + Exo_test.tpdo[id][0x202B].raw = splited_value_1[0] + Exo_test.tpdo[id][0x202C].raw = splited_value_1[1] + print("TPDO Transmit value = ", write_data) + elif(id==7): + splited_value_1 = dec2hex(write_data, 'int32') + splited_value_2 = dec2hex(write_data-16, 'int32') + Exo_test.tpdo[id][0x202D].raw = splited_value_1[0] + Exo_test.tpdo[id][0x202E].raw = splited_value_1[1] + Exo_test.tpdo[id][0x202F].raw = splited_value_1[2] + Exo_test.tpdo[id][0x2030].raw = splited_value_1[3] + Exo_test.tpdo[id][0x2031].raw = splited_value_2[0] + Exo_test.tpdo[id][0x2032].raw = splited_value_2[1] + Exo_test.tpdo[id][0x2033].raw = splited_value_2[2] + Exo_test.tpdo[id][0x2034].raw = splited_value_2[3] + print("TPDO Transmit value = ", write_data, write_data-16) + elif(id==8): + splited_value_1 = dec2hex(write_data, 'int16') + Exo_test.tpdo[id][0x2035].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2036].raw = splited_value_1[1] + print("TPDO Transmit value = ", write_data) + elif(id==9): + print("Testing TPDO:",id) + splited_value_1 = dec2hex(write_data, 'int32') + splited_value_2 = dec2hex(write_data-16, 'int32') + Exo_test.tpdo[id][0x2037].raw = splited_value_1[0] + Exo_test.tpdo[id][0x2038].raw = splited_value_1[1] + Exo_test.tpdo[id][0x2039].raw = splited_value_1[2] + Exo_test.tpdo[id][0x203A].raw = splited_value_1[3] + Exo_test.tpdo[id][0x203B].raw = splited_value_2[0] + Exo_test.tpdo[id][0x203C].raw = splited_value_2[1] + Exo_test.tpdo[id][0x203D].raw = splited_value_2[2] + Exo_test.tpdo[id][0x203E].raw = splited_value_2[3] + print("TPDO Transmit value = ", write_data, write_data-16) + elif(id==10): + print("Testing TPDO:",id) + elif(id==11): + print("Testing TPDO:",id) + elif(id==12): + print("Testing TPDO:",id) + elif(id==13): + print("Testing TPDO:",id) + elif(id==14): + print("Testing TPDO:",id) + elif(id==15): + print("Testing TPDO:",id) + elif(id==16): + print("Testing TPDO:",id) + elif(id==17): + print("Testing TPDO:",id) + elif(id==18): + print("Testing TPDO:",id) + + Exo_test.tpdo[id].transmit() + + + + + + +try: + write_data = -20 + + while True: + write_data += 1 + + position_data = dec2hex(write_data, 'int32') + + config_pdo(test_id, write_data) + # if write_data > 0xFF: + # write_data = 0 + # print("position_data: %d",position_data) + # print(type(position_data[0])) + # Exo_test.tpdo[1][0x200F].raw = position_data[0] + # Exo_test.tpdo[1][0x2010].raw = position_data[1] + # Exo_test.tpdo[1][0x2011].raw = position_data[2] + # Exo_test.tpdo[1][0x2012].raw = position_data[3] + # Exo_test.tpdo[1][0x2004].raw = write_data + # Exo_test.tpdo[1][0x2005].raw = write_data + # Exo_test.tpdo[1][0x2006].raw = write_data + # Exo_test.tpdo[1][0x2007].raw = write_data + # print("TPDO Transmit value = ", write_data) + # print("before value = {}".format(Exo_test.tpdo[1][0x2004].raw)) + # print("before value = {}".format(Exo_test.tpdo[1][0x2005].raw)) + # print("before value = {}".format(Exo_test.tpdo[1][0x2006].raw)) + # print("before value = {}".format(Exo_test.tpdo[1][0x2007].raw)) + + # Exo_test.tpdo[1].transmit() + # print("write output value = {}".format(Exo_test.tpdo[1][0x2000].raw)) + time.sleep(0.1) +except KeyboardInterrupt: + print("exit from sending PDO to Jetson") + +# loop +while 1: + time.sleep(1) + print("slaver work") + #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From 8cbcc0c663f7d00db6ce1efad4c080fdca34215b Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:41:08 +1000 Subject: [PATCH 15/19] remove old version testing code --- LH_motor/Left_hip_motor_master.py | 35 -- LH_motor/Left_hip_motor_node_1.eds | 591 ----------------------------- LH_motor/Left_hip_motor_tpdo.py | 105 ----- 3 files changed, 731 deletions(-) delete mode 100644 LH_motor/Left_hip_motor_master.py delete mode 100644 LH_motor/Left_hip_motor_node_1.eds delete mode 100644 LH_motor/Left_hip_motor_tpdo.py diff --git a/LH_motor/Left_hip_motor_master.py b/LH_motor/Left_hip_motor_master.py deleted file mode 100644 index 4416543..0000000 --- a/LH_motor/Left_hip_motor_master.py +++ /dev/null @@ -1,35 +0,0 @@ -import canopen -import time - -# enable the simulated Left hip motor: -# sudo modprobe vcan -# sudo ip link add dev vcan0 type vcan -# sudo ip link set up vcan0 -# candump -t d vcan0 #absoluted time:(-t a); related time:(-t d) - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) -#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) - -# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" -Left_hip_motor_node_1 = network.create_node(1, 'Left_hip_motor_node_1.eds') - -# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" -Left_hip_motor_node_1.nmt.send_command(0) - -# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) -Left_hip_motor_node_1.nmt.start_heartbeat(1000) - -print("Test reading PDO to read input of Remote I/O LC5100") -try: - while True: - Left_hip_motor_node_1.rpdo.read() - Left_hip_motor_node_1.tpdo.read() - -except KeyboardInterrupt: - print("Exit from reading PDO to LC5100") - - diff --git a/LH_motor/Left_hip_motor_node_1.eds b/LH_motor/Left_hip_motor_node_1.eds deleted file mode 100644 index 09059c0..0000000 --- a/LH_motor/Left_hip_motor_node_1.eds +++ /dev/null @@ -1,591 +0,0 @@ -[FileInfo] -FileName=Left_hip_motor_node_1.eds -FileVersion=1 -FileRevision=1 -EDSVersion=4.0 -Description= -CreationTime=11:11AM -CreationDate=08-16-2022 -CreatedBy=CANFestival -ModificationTime=11:11AM -ModificationDate=08-16-2022 -ModifiedBy=CANFestival - -[DeviceInfo] -VendorName=CANFestival -VendorNumber=0x00000000 -ProductName= -ProductNumber=0x00000000 -RevisionNumber=0x00000000 -BaudRate_10=1 -BaudRate_20=1 -BaudRate_50=1 -BaudRate_125=1 -BaudRate_250=1 -BaudRate_500=1 -BaudRate_800=1 -BaudRate_1000=1 -SimpleBootUpMaster=0 -SimpleBootUpSlave=1 -Granularity=8 -DynamicChannelsSupported=0 -CompactPDO=0 -GroupMessaging=0 -NrOfRXPDO=1 -NrOfTXPDO=1 -LSS_Supported=0 - -[DummyUsage] -Dummy0001=0 -Dummy0002=1 -Dummy0003=1 -Dummy0004=1 -Dummy0005=1 -Dummy0006=1 -Dummy0007=1 - -[Comments] -Lines=0 - -[MandatoryObjects] -SupportedObjects=3 -1=0x1000 -2=0x1001 -3=0x1018 - -[1000] -ParameterName=Device Type -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=401 -PDOMapping=0 - -[1001] -ParameterName=Error Register -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=0 -PDOMapping=1 - -[1018] -ParameterName=Identity -ObjectType=0x9 -SubNumber=5 - -[1018sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=4 -PDOMapping=0 - -[1018sub1] -ParameterName=Vendor ID -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub2] -ParameterName=Product Code -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub3] -ParameterName=Revision Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub4] -ParameterName=Serial Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[OptionalObjects] -SupportedObjects=8 -1=0x1005 -2=0x1006 -3=0x1016 -4=0x1280 -5=0x1400 -6=0x1600 -7=0x1800 -8=0x1A00 - -[1005] -ParameterName=SYNC COB ID -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1073741952 -PDOMapping=0 - -[1006] -ParameterName=Communication Cycle Period -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=50000 -PDOMapping=0 - -[1016] -ParameterName=Consumer Heartbeat Time -ObjectType=0x8 -SubNumber=2 - -[1016sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=1 -PDOMapping=0 - -[1016sub1] -ParameterName=Consumer Heartbeat Time -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=4195804 -PDOMapping=0 - -[1280] -ParameterName=Client SDO 1 Parameter -ObjectType=0x9 -SubNumber=4 - -[1280sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=3 -PDOMapping=0 - -[1280sub1] -ParameterName=COB ID Client to Server (Transmit SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1600 -PDOMapping=0 - -[1280sub2] -ParameterName=COB ID Server to Client (Receive SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1472 -PDOMapping=0 - -[1280sub3] -ParameterName=Node ID of the SDO Server -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=64 -PDOMapping=0 - -[1400] -ParameterName=Receive PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1400sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1400sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=897 -PDOMapping=0 - -[1400sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1400sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1400sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1600] -ParameterName=Receive PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1600sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1600sub1] -ParameterName=PDO 1 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537853953 -PDOMapping=0 - -[1600sub2] -ParameterName=PDO 1 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537919489 -PDOMapping=0 - -[1600sub3] -ParameterName=PDO 1 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537985025 -PDOMapping=0 - -[1600sub4] -ParameterName=PDO 1 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538050561 -PDOMapping=0 - -[1600sub5] -ParameterName=PDO 1 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538116097 -PDOMapping=0 - -[1600sub6] -ParameterName=PDO 1 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538181633 -PDOMapping=0 - -[1600sub7] -ParameterName=PDO 1 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538247169 -PDOMapping=0 - -[1600sub8] -ParameterName=PDO 1 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538312705 -PDOMapping=0 - -[1800] -ParameterName=Transmit PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1800sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1800sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=641 -PDOMapping=0 - -[1800sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1800sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1800sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1A00] -ParameterName=Transmit PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1A00sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1A00sub1] -ParameterName=PDO 1 Mapping for a process data variable 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536870920 -PDOMapping=0 - -[1A00sub2] -ParameterName=PDO 1 Mapping for a process data variable 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536936456 -PDOMapping=0 - -[1A00sub3] -ParameterName=PDO 1 Mapping for a process data variable 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537001992 -PDOMapping=0 - -[1A00sub4] -ParameterName=PDO 1 Mapping for a process data variable 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537067528 -PDOMapping=0 - -[1A00sub5] -ParameterName=PDO 1 Mapping for a process data variable 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537133064 -PDOMapping=0 - -[1A00sub6] -ParameterName=PDO 1 Mapping for a process data variable 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537198600 -PDOMapping=0 - -[1A00sub7] -ParameterName=PDO 1 Mapping for a process data variable 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537264136 -PDOMapping=0 - -[1A00sub8] -ParameterName=PDO 1 Mapping for a process data variable 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537329672 -PDOMapping=0 - -[ManufacturerObjects] -SupportedObjects=16 -1=0x2000 -2=0x2001 -3=0x2002 -4=0x2003 -5=0x2004 -6=0x2005 -7=0x2006 -8=0x2007 -9=0x200F -10=0x2010 -11=0x2011 -12=0x2012 -13=0x2013 -14=0x2014 -15=0x2015 -16=0x2016 - -[2000] -ParameterName=DO1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2001] -ParameterName=DO2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2002] -ParameterName=DO3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2003] -ParameterName=DO4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2004] -ParameterName=DO5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2005] -ParameterName=DO6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2006] -ParameterName=DO7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2007] -ParameterName=DO8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[200F] -ParameterName=DI1 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2010] -ParameterName=DI2 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2011] -ParameterName=DI3 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2012] -ParameterName=DI4 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2013] -ParameterName=DI5 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2014] -ParameterName=DI6 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2015] -ParameterName=DI7 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2016] -ParameterName=DI8 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 diff --git a/LH_motor/Left_hip_motor_tpdo.py b/LH_motor/Left_hip_motor_tpdo.py deleted file mode 100644 index 32c3ba3..0000000 --- a/LH_motor/Left_hip_motor_tpdo.py +++ /dev/null @@ -1,105 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) - -# add node -Left_hip_motor_node_1 = canopen.RemoteNode(1, 'Left_hip_motor_node_1.eds') -network.add_node(Left_hip_motor_node_1) - -#set to pre-operational mode -Left_hip_motor_node_1.nmt.send_command(0x80) -time.sleep(2) - -#config PDO -print("config PDO device") -Left_hip_motor_node_1.rpdo.read() -Left_hip_motor_node_1.tpdo.read() -print("tpdo map (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) -print("tpdo enabled (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) -# Manually add the manufacture specific variable, only need if not config in OD -# Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) - -print("tpdo map (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) -print("tpdo enabled (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) - -#set to operational mode -print("set to operational mode") -Left_hip_motor_node_1.nmt.send_command(0x01) -time.sleep(2) - - -#convert hex signed 2's complement to int -# def hex2dec(hex_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type -# if datatype == 'int32': # motor position and velocity data type -# num_bit = 4 -# if datatype == 'int16': # motor torque data type -# num_bit = 2 -# # if datatype == 'int32': # crutch force sensor data type -# # num_bit = 2 - -# hex_seg = [0]*num_bit -# for i in range(num_bit): -# hex_seg[i] = hex_str[0:2] - -# return - -#convert int to hex signed 2's complement -def dec2hex(dec_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type - if datatype == 'int32': # motor position and velocity data type - num_bit = 4 - if datatype == 'int16': # motor torque data type - num_bit = 2 - # if datatype == 'int32': # crutch force sensor data type - # num_bit = 2 - - valueInByte = (dec_value).to_bytes(num_bit, byteorder="little", signed=True) # signed=True: include negative int - # hexadecimal_result = format(dec_value, "03X") - # hex_str = hexadecimal_result.zfill(num_bit*2) - hex_seg = [0]*num_bit - for i in range(num_bit): - hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="little") - return hex_seg - -# test sending PDO to set output -print("test sending PDO to set output") -try: - write_data = -20 - - while True: - write_data += 1 - - position_data = dec2hex(write_data, 'int32') - # if write_data > 0xFF: - # write_data = 0 - # print("position_data: %d",position_data) - # print(type(position_data[0])) - Left_hip_motor_node_1.tpdo[1][0x2000].raw = position_data[0] - Left_hip_motor_node_1.tpdo[1][0x2001].raw = position_data[1] - Left_hip_motor_node_1.tpdo[1][0x2002].raw = position_data[2] - Left_hip_motor_node_1.tpdo[1][0x2003].raw = position_data[3] - # Left_hip_motor_node_1.tpdo[1][0x2004].raw = write_data - # Left_hip_motor_node_1.tpdo[1][0x2005].raw = write_data - # Left_hip_motor_node_1.tpdo[1][0x2006].raw = write_data - # Left_hip_motor_node_1.tpdo[1][0x2007].raw = write_data - print("TPDO Transmit value = ", write_data) - # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2004].raw)) - # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2005].raw)) - # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2006].raw)) - # print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2007].raw)) - - Left_hip_motor_node_1.tpdo[1].transmit() - # print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) - time.sleep(0.1) -except KeyboardInterrupt: - print("exit from sending PDO to Jetson") - -# loop -while 1: - time.sleep(1) - print("slaver work") - #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From 3f56b050dbdccf0081b1fdf2ec676743c07b189c Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Sun, 4 Sep 2022 13:41:30 +1000 Subject: [PATCH 16/19] remove old version testing code --- test_pdo/LC5100.eds | 481 ----------------------- test_pdo/Left_hip_motor_master.py | 29 -- test_pdo/Left_hip_motor_node_1.eds | 591 ----------------------------- test_pdo/Left_hip_motor_tpdo.py | 71 ---- test_pdo/lc5100_pdo.py | 53 --- test_pdo/slaver.py | 42 -- 6 files changed, 1267 deletions(-) delete mode 100644 test_pdo/LC5100.eds delete mode 100644 test_pdo/Left_hip_motor_master.py delete mode 100644 test_pdo/Left_hip_motor_node_1.eds delete mode 100644 test_pdo/Left_hip_motor_tpdo.py delete mode 100644 test_pdo/lc5100_pdo.py delete mode 100644 test_pdo/slaver.py diff --git a/test_pdo/LC5100.eds b/test_pdo/LC5100.eds deleted file mode 100644 index f3bba7b..0000000 --- a/test_pdo/LC5100.eds +++ /dev/null @@ -1,481 +0,0 @@ -[FileInfo] -FileName=TestMaster.eds -FileVersion=1 -FileRevision=1 -EDSVersion=4.0 -Description= -CreationTime=01:25AM -CreationDate=08-02-2022 -CreatedBy=CANFestival -ModificationTime=01:25AM -ModificationDate=08-02-2022 -ModifiedBy=CANFestival - -[DeviceInfo] -VendorName=CANFestival -VendorNumber=0x00000000 -ProductName=TestMaster -ProductNumber=0x00000000 -RevisionNumber=0x00000000 -BaudRate_10=1 -BaudRate_20=1 -BaudRate_50=1 -BaudRate_125=1 -BaudRate_250=1 -BaudRate_500=1 -BaudRate_800=1 -BaudRate_1000=1 -SimpleBootUpMaster=1 -SimpleBootUpSlave=0 -Granularity=8 -DynamicChannelsSupported=0 -CompactPDO=0 -GroupMessaging=0 -NrOfRXPDO=1 -NrOfTXPDO=1 -LSS_Supported=0 - -[DummyUsage] -Dummy0001=0 -Dummy0002=1 -Dummy0003=1 -Dummy0004=1 -Dummy0005=1 -Dummy0006=1 -Dummy0007=1 - -[Comments] -Lines=0 - -[MandatoryObjects] -SupportedObjects=3 -1=0x1000 -2=0x1001 -3=0x1018 - -[1000] -ParameterName=Device Type -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=401 -PDOMapping=0 - -[1001] -ParameterName=Error Register -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=0 -PDOMapping=1 - -[1018] -ParameterName=Identity -ObjectType=0x9 -SubNumber=5 - -[1018sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=4 -PDOMapping=0 - -[1018sub1] -ParameterName=Vendor ID -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub2] -ParameterName=Product Code -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub3] -ParameterName=Revision Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub4] -ParameterName=Serial Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[OptionalObjects] -SupportedObjects=8 -1=0x1005 -2=0x1006 -3=0x1016 -4=0x1280 -5=0x1400 -6=0x1600 -7=0x1800 -8=0x1A00 - -[1005] -ParameterName=SYNC COB ID -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1073741952 -PDOMapping=0 - -[1006] -ParameterName=Communication Cycle Period -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=50000 -PDOMapping=0 - -[1016] -ParameterName=Consumer Heartbeat Time -ObjectType=0x8 -SubNumber=2 - -[1016sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=1 -PDOMapping=0 - -[1016sub1] -ParameterName=Consumer Heartbeat Time -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=4195804 -PDOMapping=0 - -[1280] -ParameterName=Client SDO 1 Parameter -ObjectType=0x9 -SubNumber=4 - -[1280sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=3 -PDOMapping=0 - -[1280sub1] -ParameterName=COB ID Client to Server (Transmit SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1600 -PDOMapping=0 - -[1280sub2] -ParameterName=COB ID Server to Client (Receive SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1472 -PDOMapping=0 - -[1280sub3] -ParameterName=Node ID of the SDO Server -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=64 -PDOMapping=0 - -[1400] -ParameterName=Receive PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1400sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1400sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=448 -PDOMapping=0 - -[1400sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1400sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1400sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1600] -ParameterName=Receive PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1600sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1600sub1] -ParameterName=PDO 1 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537853953 -PDOMapping=0 - -[1600sub2] -ParameterName=PDO 1 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537919489 -PDOMapping=0 - -[1600sub3] -ParameterName=PDO 1 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537985025 -PDOMapping=0 - -[1600sub4] -ParameterName=PDO 1 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538050561 -PDOMapping=0 - -[1600sub5] -ParameterName=PDO 1 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538116097 -PDOMapping=0 - -[1600sub6] -ParameterName=PDO 1 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538181633 -PDOMapping=0 - -[1600sub7] -ParameterName=PDO 1 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538247169 -PDOMapping=0 - -[1600sub8] -ParameterName=PDO 1 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538312705 -PDOMapping=0 - -[1800] -ParameterName=Transmit PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1800sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1800sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=576 -PDOMapping=0 - -[1800sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1800sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1800sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1A00] -ParameterName=Transmit PDO 1 Mapping -ObjectType=0x8 -SubNumber=2 - -[1A00sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1A00sub1] -ParameterName=PDO 1 Mapping for a process data variable 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536870920 -PDOMapping=0 - -[ManufacturerObjects] -SupportedObjects=10 -1=0x2000 -2=0x2001 -3=0x200F -4=0x2010 -5=0x2011 -6=0x2012 -7=0x2013 -8=0x2014 -9=0x2015 -10=0x2016 - -[2000] -ParameterName=DO1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2001] -ParameterName=DO2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[200F] -ParameterName=DI1 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2010] -ParameterName=DI2 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2011] -ParameterName=DI3 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2012] -ParameterName=DI4 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2013] -ParameterName=DI5 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2014] -ParameterName=DI6 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2015] -ParameterName=DI7 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2016] -ParameterName=DI8 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 diff --git a/test_pdo/Left_hip_motor_master.py b/test_pdo/Left_hip_motor_master.py deleted file mode 100644 index a60b33a..0000000 --- a/test_pdo/Left_hip_motor_master.py +++ /dev/null @@ -1,29 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) -#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) - -# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" -Left_hip_motor_node_1 = network.create_node(1, 'Left_hip_motor_node_1.eds') - -# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" -Left_hip_motor_node_1.nmt.send_command(0) - -# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) -Left_hip_motor_node_1.nmt.start_heartbeat(1000) - -print("Test reading PDO to read input of Remote I/O LC5100") -try: - while True: - Left_hip_motor_node_1.rpdo.read() - Left_hip_motor_node_1.tpdo.read() - -except KeyboardInterrupt: - print("Exit from reading PDO to LC5100") - - diff --git a/test_pdo/Left_hip_motor_node_1.eds b/test_pdo/Left_hip_motor_node_1.eds deleted file mode 100644 index 09059c0..0000000 --- a/test_pdo/Left_hip_motor_node_1.eds +++ /dev/null @@ -1,591 +0,0 @@ -[FileInfo] -FileName=Left_hip_motor_node_1.eds -FileVersion=1 -FileRevision=1 -EDSVersion=4.0 -Description= -CreationTime=11:11AM -CreationDate=08-16-2022 -CreatedBy=CANFestival -ModificationTime=11:11AM -ModificationDate=08-16-2022 -ModifiedBy=CANFestival - -[DeviceInfo] -VendorName=CANFestival -VendorNumber=0x00000000 -ProductName= -ProductNumber=0x00000000 -RevisionNumber=0x00000000 -BaudRate_10=1 -BaudRate_20=1 -BaudRate_50=1 -BaudRate_125=1 -BaudRate_250=1 -BaudRate_500=1 -BaudRate_800=1 -BaudRate_1000=1 -SimpleBootUpMaster=0 -SimpleBootUpSlave=1 -Granularity=8 -DynamicChannelsSupported=0 -CompactPDO=0 -GroupMessaging=0 -NrOfRXPDO=1 -NrOfTXPDO=1 -LSS_Supported=0 - -[DummyUsage] -Dummy0001=0 -Dummy0002=1 -Dummy0003=1 -Dummy0004=1 -Dummy0005=1 -Dummy0006=1 -Dummy0007=1 - -[Comments] -Lines=0 - -[MandatoryObjects] -SupportedObjects=3 -1=0x1000 -2=0x1001 -3=0x1018 - -[1000] -ParameterName=Device Type -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=401 -PDOMapping=0 - -[1001] -ParameterName=Error Register -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=0 -PDOMapping=1 - -[1018] -ParameterName=Identity -ObjectType=0x9 -SubNumber=5 - -[1018sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=4 -PDOMapping=0 - -[1018sub1] -ParameterName=Vendor ID -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub2] -ParameterName=Product Code -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub3] -ParameterName=Revision Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub4] -ParameterName=Serial Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[OptionalObjects] -SupportedObjects=8 -1=0x1005 -2=0x1006 -3=0x1016 -4=0x1280 -5=0x1400 -6=0x1600 -7=0x1800 -8=0x1A00 - -[1005] -ParameterName=SYNC COB ID -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1073741952 -PDOMapping=0 - -[1006] -ParameterName=Communication Cycle Period -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=50000 -PDOMapping=0 - -[1016] -ParameterName=Consumer Heartbeat Time -ObjectType=0x8 -SubNumber=2 - -[1016sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=1 -PDOMapping=0 - -[1016sub1] -ParameterName=Consumer Heartbeat Time -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=4195804 -PDOMapping=0 - -[1280] -ParameterName=Client SDO 1 Parameter -ObjectType=0x9 -SubNumber=4 - -[1280sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=3 -PDOMapping=0 - -[1280sub1] -ParameterName=COB ID Client to Server (Transmit SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1600 -PDOMapping=0 - -[1280sub2] -ParameterName=COB ID Server to Client (Receive SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1472 -PDOMapping=0 - -[1280sub3] -ParameterName=Node ID of the SDO Server -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=64 -PDOMapping=0 - -[1400] -ParameterName=Receive PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1400sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1400sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=897 -PDOMapping=0 - -[1400sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1400sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1400sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1600] -ParameterName=Receive PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1600sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1600sub1] -ParameterName=PDO 1 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537853953 -PDOMapping=0 - -[1600sub2] -ParameterName=PDO 1 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537919489 -PDOMapping=0 - -[1600sub3] -ParameterName=PDO 1 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537985025 -PDOMapping=0 - -[1600sub4] -ParameterName=PDO 1 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538050561 -PDOMapping=0 - -[1600sub5] -ParameterName=PDO 1 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538116097 -PDOMapping=0 - -[1600sub6] -ParameterName=PDO 1 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538181633 -PDOMapping=0 - -[1600sub7] -ParameterName=PDO 1 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538247169 -PDOMapping=0 - -[1600sub8] -ParameterName=PDO 1 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538312705 -PDOMapping=0 - -[1800] -ParameterName=Transmit PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1800sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1800sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=641 -PDOMapping=0 - -[1800sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1800sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1800sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1A00] -ParameterName=Transmit PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1A00sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1A00sub1] -ParameterName=PDO 1 Mapping for a process data variable 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536870920 -PDOMapping=0 - -[1A00sub2] -ParameterName=PDO 1 Mapping for a process data variable 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536936456 -PDOMapping=0 - -[1A00sub3] -ParameterName=PDO 1 Mapping for a process data variable 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537001992 -PDOMapping=0 - -[1A00sub4] -ParameterName=PDO 1 Mapping for a process data variable 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537067528 -PDOMapping=0 - -[1A00sub5] -ParameterName=PDO 1 Mapping for a process data variable 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537133064 -PDOMapping=0 - -[1A00sub6] -ParameterName=PDO 1 Mapping for a process data variable 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537198600 -PDOMapping=0 - -[1A00sub7] -ParameterName=PDO 1 Mapping for a process data variable 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537264136 -PDOMapping=0 - -[1A00sub8] -ParameterName=PDO 1 Mapping for a process data variable 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537329672 -PDOMapping=0 - -[ManufacturerObjects] -SupportedObjects=16 -1=0x2000 -2=0x2001 -3=0x2002 -4=0x2003 -5=0x2004 -6=0x2005 -7=0x2006 -8=0x2007 -9=0x200F -10=0x2010 -11=0x2011 -12=0x2012 -13=0x2013 -14=0x2014 -15=0x2015 -16=0x2016 - -[2000] -ParameterName=DO1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2001] -ParameterName=DO2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2002] -ParameterName=DO3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2003] -ParameterName=DO4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2004] -ParameterName=DO5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2005] -ParameterName=DO6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2006] -ParameterName=DO7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2007] -ParameterName=DO8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[200F] -ParameterName=DI1 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2010] -ParameterName=DI2 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2011] -ParameterName=DI3 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2012] -ParameterName=DI4 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2013] -ParameterName=DI5 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2014] -ParameterName=DI6 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2015] -ParameterName=DI7 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2016] -ParameterName=DI8 -ObjectType=0x7 -DataType=0x0001 -AccessType=rw -DefaultValue=0 -PDOMapping=1 diff --git a/test_pdo/Left_hip_motor_tpdo.py b/test_pdo/Left_hip_motor_tpdo.py deleted file mode 100644 index 24a1c42..0000000 --- a/test_pdo/Left_hip_motor_tpdo.py +++ /dev/null @@ -1,71 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) - -# add node -Left_hip_motor_node_1 = canopen.RemoteNode(1, 'Left_hip_motor_node_1.eds') -network.add_node(Left_hip_motor_node_1) - -#set to pre-operational mode -Left_hip_motor_node_1.nmt.send_command(0x80) -time.sleep(2) - -#config PDO -print("config PDO device") -Left_hip_motor_node_1.rpdo.read() -Left_hip_motor_node_1.tpdo.read() -print("tpdo map (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) -print("tpdo enabled (before):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) -# Manually add the manufacture specific variable, only need if not config in OD -# Left_hip_motor_node_1.tpdo[1].add_variable(0x2000, 1, 8) - -print("tpdo map (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].map)) -print("tpdo enabled (after):\t{}".format(Left_hip_motor_node_1.tpdo[1].enabled)) - -#set to operational mode -print("set to operational mode") -Left_hip_motor_node_1.nmt.send_command(0x01) -time.sleep(2) - -# test sending PDO to set output -print("test sending PDO to set output") -try: - write_data = 0 - while True: - write_data += 1 - if write_data > 0xFF: - write_data = 0 - - Left_hip_motor_node_1.tpdo[1][0x2000].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2001].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2002].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2003].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2004].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2005].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2006].raw = write_data - Left_hip_motor_node_1.tpdo[1][0x2007].raw = write_data - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2001].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2002].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2003].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2004].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2005].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2006].raw)) - print("before value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2007].raw)) - - Left_hip_motor_node_1.tpdo[1].transmit() - print("write output value = {}".format(Left_hip_motor_node_1.tpdo[1][0x2000].raw)) - time.sleep(1) -except KeyboardInterrupt: - print("exit from sending PDO to Jetson") - -# loop -while 1: - time.sleep(1) - print("slaver work") - #slaver_node_2.tpdo[1].transmit() \ No newline at end of file diff --git a/test_pdo/lc5100_pdo.py b/test_pdo/lc5100_pdo.py deleted file mode 100644 index a99c743..0000000 --- a/test_pdo/lc5100_pdo.py +++ /dev/null @@ -1,53 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) - -# add node -Jetson_node_2 = canopen.RemoteNode(2, 'LC5100.eds') -#slaver_node_2 = canopen.RemoteNode(2, 'node2.eds') -network.add_node(Jetson_node_2) - -#set to pre-operational mode -Jetson_node_2.nmt.send_command(0x80) -time.sleep(5) - -#config PDO -print("config PDO device") -Jetson_node_2.rpdo.read() -Jetson_node_2.tpdo.read() -print("tpdo map (before):\t{}".format(Jetson_node_2.tpdo[1].map)) -print("tpdo enabled (before):\t{}".format(Jetson_node_2.tpdo[1].enabled)) -Jetson_node_2.tpdo[1].add_variable(0x2000, 1, 8) -print("tpdo map (after):\t{}".format(Jetson_node_2.tpdo[1].map)) -print("tpdo enabled (after):\t{}".format(Jetson_node_2.tpdo[1].enabled)) - -#set to operational mode -print("set to operational mode") -Jetson_node_2.nmt.send_command(0x01) -time.sleep(3) - -# test sending PDO to set output -print("test sending PDO to set output") -try: - write_data = 0 - while True: - write_data += 1 - if write_data > 0xFF: - write_data = 0 - print("write output value = {}".format(write_data)) - Jetson_node_2.tpdo[1][0x2000].raw = write_data - Jetson_node_2.tpdo[1].transmit() - time.sleep(1) -except KeyboardInterrupt: - print("exit from sending PDO to Jetson") - -# loop -while 1: - time.sleep(1) - print("slaver work") - #slaver_node_2.tpdo[1].transmit() \ No newline at end of file diff --git a/test_pdo/slaver.py b/test_pdo/slaver.py deleted file mode 100644 index d7c654c..0000000 --- a/test_pdo/slaver.py +++ /dev/null @@ -1,42 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) -#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) - -# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" -slaver_node_2 = network.create_node(2, 'LC5100.eds') - - - -# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" -slaver_node_2.nmt.send_command(0) - -# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) -slaver_node_2.nmt.start_heartbeat(1000) - -# send pdo message -slaver_node_2.rpdo.read() -slaver_node_2.tpdo.read() -#slaver_node_2.rpdo[1].transmit() - -#slaver_node_2.tpdo[1]['Application Commands.Command Speed'].phys = 100 -#slaver_node_2.tpdo[1].start(0.1) -print("Test reading PDO to read input of Remote I/O LC5100") -try: - while True: - timestamp = slaver_node_2.tpdo[1].wait_for_reception() - read_value = slaver_node_2.tpdo[1][0x2000].raw - print("Read input value = {}, t={}".format(read_value, timestamp)) - -except KeyboardInterrupt: - print("Exit from reading PDO to LC5100") -# loop -#while 1: -# time.sleep(1) -# print("slaver work") - #slaver_node_2.tpdo[1].transmit() \ No newline at end of file From 0ccd67ff406d03b763b777e000f0a2415eac3be4 Mon Sep 17 00:00:00 2001 From: wilson455039 <70258492+wilson455039@users.noreply.github.com> Date: Mon, 5 Sep 2022 17:44:58 +1000 Subject: [PATCH 17/19] update crutch simulator --- Simulator/Exo_test_tpdo.py | 125 ++++++++++++++++++++++++++++--------- 1 file changed, 97 insertions(+), 28 deletions(-) diff --git a/Simulator/Exo_test_tpdo.py b/Simulator/Exo_test_tpdo.py index 84b0c92..c3b76b7 100644 --- a/Simulator/Exo_test_tpdo.py +++ b/Simulator/Exo_test_tpdo.py @@ -36,14 +36,14 @@ #convert hex signed 2's complement to int # def hex2dec(hex_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type # if datatype == 'int32': # motor position and velocity data type -# num_bit = 4 +# num_byte = 4 # if datatype == 'int16': # motor torque data type -# num_bit = 2 +# num_byte = 2 # # if datatype == 'int32': # crutch force sensor data type -# # num_bit = 2 +# # num_byte = 2 -# hex_seg = [0]*num_bit -# for i in range(num_bit): +# hex_seg = [0]*num_byte +# for i in range(num_byte): # hex_seg[i] = hex_str[0:2] # return @@ -51,28 +51,64 @@ #convert int to hex signed 2's complement def dec2hex(dec_value, datatype): # hex_value = object of rpdo in str matrix, datatype = desired decimal data type if datatype == 'int32': # motor position and velocity data type - num_bit = 4 + num_byte = 4 if datatype == 'int16': # motor torque data type - num_bit = 2 + num_byte = 2 # if datatype == 'int32': # crutch force sensor data type - # num_bit = 2 + # num_byte = 2 - valueInByte = (dec_value).to_bytes(num_bit, byteorder="little", signed=True) # signed=True: include negative int + valueInByte = (dec_value).to_bytes(num_byte, byteorder="little", signed=True) # signed=True: include negative int # hexadecimal_result = format(dec_value, "03X") - # hex_str = hexadecimal_result.zfill(num_bit*2) - hex_seg = [0]*num_bit - for i in range(num_bit): + # hex_str = hexadecimal_result.zfill(num_byte*2) + hex_seg = [0]*num_byte + for i in range(num_byte): hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="little") return hex_seg +# def config_pdo(value): +# input_value = [value]*6 +# for i in range(len(input_value)): +# input_value[i] = value - 16*i + +def crutch2can(value, datatype): #convert a float to 2 one bye can message force_H and force_L + if datatype == 'force': # motor position and velocity data type + den = 50 + if datatype == 'torque': # motor torque data type + den = 2000 + signed16bit_raw = int(value*den) + #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 + unsigned16bit_raw = signed16bit_raw + 2^16 + # signed=False: NOT include negative int + # 2: 2 byte means int16 + num_byte = 2 + valueInByte = (unsigned16bit_raw).to_bytes(num_byte, byteorder="big", signed=True) + hex_seg = [0]*num_byte + for i in range(num_byte): + hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="big") + return hex_seg + # test sending PDO to set output print("test sending PDO to set output") test_id = 9 +# test list: (ignore this list) +# id = 0: No one +# id = 1: All +# id = 2: Left Hip Motor +# id = 3: Left Knee Motor +# id = 4: Right Hip Motor +# id = 5: Right Knee Motor +# id = 6: Left Crutch +# id = 7: Right Crutch +# id = 8: Logger +# id = 9: Main Exo Controller +# id = 10: Crutch UI Controller + + -def config_pdo(id, value): +def transmit_pdo(id, value): splited_value_1 = 0 splited_value_2 = 0 print("Testing TPDO:",id ) @@ -145,22 +181,53 @@ def config_pdo(id, value): Exo_test.tpdo[id][0x2036].raw = splited_value_1[1] print("TPDO Transmit value = ", write_data) elif(id==9): - print("Testing TPDO:",id) - splited_value_1 = dec2hex(write_data, 'int32') - splited_value_2 = dec2hex(write_data-16, 'int32') - Exo_test.tpdo[id][0x2037].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2038].raw = splited_value_1[1] - Exo_test.tpdo[id][0x2039].raw = splited_value_1[2] - Exo_test.tpdo[id][0x203A].raw = splited_value_1[3] - Exo_test.tpdo[id][0x203B].raw = splited_value_2[0] - Exo_test.tpdo[id][0x203C].raw = splited_value_2[1] - Exo_test.tpdo[id][0x203D].raw = splited_value_2[2] - Exo_test.tpdo[id][0x203E].raw = splited_value_2[3] - print("TPDO Transmit value = ", write_data, write_data-16) + #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 + crutch_input_force_data = write_data/50 + crutch_input_torque_data = write_data/2000 + force_can = crutch2can(crutch_input_force_data, "force") + torque_can = crutch2can(crutch_input_torque_data, "torque") + Exo_test.tpdo[9][0x2037].raw = 0 + Exo_test.tpdo[9][0x2038].raw = force_can[0] + Exo_test.tpdo[9][0x2039].raw = force_can[1] + Exo_test.tpdo[9][0x203A].raw = force_can[0] + Exo_test.tpdo[9][0x203B].raw = force_can[1] + Exo_test.tpdo[9][0x203C].raw = force_can[0] + Exo_test.tpdo[9][0x203D].raw = force_can[1] + Exo_test.tpdo[9][0x203E].raw = torque_can[0] + Exo_test.tpdo[10][0x203F].raw = torque_can[1] + Exo_test.tpdo[10][0x2040].raw = torque_can[0] + Exo_test.tpdo[10][0x2041].raw = torque_can[1] + Exo_test.tpdo[10][0x2042].raw = torque_can[0] + Exo_test.tpdo[10][0x2043].raw = torque_can[1] + Exo_test.tpdo[10][0x2044].raw = 0 + Exo_test.tpdo[10][0x2045].raw = 0 + Exo_test.tpdo[10][0x2046].raw = 0 + print("TPDO Transmit value = ", crutch_input_force_data, crutch_input_torque_data) elif(id==10): print("Testing TPDO:",id) elif(id==11): - print("Testing TPDO:",id) + #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 + crutch_input_force_data = write_data/50 + crutch_input_torque_data = write_data/2000 + force_can = crutch2can(crutch_input_force_data, "force") + torque_can = crutch2can(crutch_input_torque_data, "torque") + Exo_test.tpdo[11][0x2047].raw = 0 + Exo_test.tpdo[11][0x2048].raw = force_can[0] + Exo_test.tpdo[11][0x2049].raw = force_can[1] + Exo_test.tpdo[11][0x204A].raw = force_can[0] + Exo_test.tpdo[11][0x204B].raw = force_can[1] + Exo_test.tpdo[11][0x204C].raw = force_can[0] + Exo_test.tpdo[11][0x204D].raw = force_can[1] + Exo_test.tpdo[11][0x204E].raw = torque_can[0] + Exo_test.tpdo[12][0x204F].raw = torque_can[1] + Exo_test.tpdo[12][0x2050].raw = torque_can[0] + Exo_test.tpdo[12][0x2051].raw = torque_can[1] + Exo_test.tpdo[12][0x2052].raw = torque_can[0] + Exo_test.tpdo[12][0x2053].raw = torque_can[1] + Exo_test.tpdo[12][0x2054].raw = 0 + Exo_test.tpdo[12][0x2055].raw = 0 + Exo_test.tpdo[12][0x2056].raw = 0 + print("TPDO Transmit value = ", crutch_input_force_data, crutch_input_torque_data) elif(id==12): print("Testing TPDO:",id) elif(id==13): @@ -177,6 +244,8 @@ def config_pdo(id, value): print("Testing TPDO:",id) Exo_test.tpdo[id].transmit() + if(id>=9): + Exo_test.tpdo[id+1].transmit() @@ -191,7 +260,7 @@ def config_pdo(id, value): position_data = dec2hex(write_data, 'int32') - config_pdo(test_id, write_data) + transmit_pdo(test_id, write_data) # if write_data > 0xFF: # write_data = 0 # print("position_data: %d",position_data) @@ -212,7 +281,7 @@ def config_pdo(id, value): # Exo_test.tpdo[1].transmit() # print("write output value = {}".format(Exo_test.tpdo[1][0x2000].raw)) - time.sleep(0.1) + time.sleep(1) except KeyboardInterrupt: print("exit from sending PDO to Jetson") From 2bf14edc8589c94cdd782d0393d0c6b86dc716eb Mon Sep 17 00:00:00 2001 From: Wilson <70258492+wilson455039@users.noreply.github.com> Date: Tue, 6 Sep 2022 01:41:11 +1000 Subject: [PATCH 18/19] Delete old version Jetson code for learning PDO --- Jetson/Jetson_66_v11.eds | 2827 -------------------------------------- Jetson/Jetson_rpdo.py | 53 - 2 files changed, 2880 deletions(-) delete mode 100644 Jetson/Jetson_66_v11.eds delete mode 100644 Jetson/Jetson_rpdo.py diff --git a/Jetson/Jetson_66_v11.eds b/Jetson/Jetson_66_v11.eds deleted file mode 100644 index 59a030c..0000000 --- a/Jetson/Jetson_66_v11.eds +++ /dev/null @@ -1,2827 +0,0 @@ -[FileInfo] -FileName=Jetson_exo_66_v11.eds -FileVersion=1 -FileRevision=1 -EDSVersion=4.0 -Description= -CreationTime=03:45PM -CreationDate=08-15-2022 -CreatedBy=CANFestival -ModificationTime=03:45PM -ModificationDate=08-15-2022 -ModifiedBy=CANFestival - -[DeviceInfo] -VendorName=CANFestival -VendorNumber=0x00000000 -ProductName=TestMaster -ProductNumber=0x00000000 -RevisionNumber=0x00000000 -BaudRate_10=1 -BaudRate_20=1 -BaudRate_50=1 -BaudRate_125=1 -BaudRate_250=1 -BaudRate_500=1 -BaudRate_800=1 -BaudRate_1000=1 -SimpleBootUpMaster=1 -SimpleBootUpSlave=0 -Granularity=8 -DynamicChannelsSupported=0 -CompactPDO=0 -GroupMessaging=0 -NrOfRXPDO=18 -NrOfTXPDO=1 -LSS_Supported=0 - -[DummyUsage] -Dummy0001=0 -Dummy0002=1 -Dummy0003=1 -Dummy0004=1 -Dummy0005=1 -Dummy0006=1 -Dummy0007=1 - -[Comments] -Lines=0 - -[MandatoryObjects] -SupportedObjects=3 -1=0x1000 -2=0x1001 -3=0x1018 - -[1000] -ParameterName=Device Type -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=401 -PDOMapping=0 - -[1001] -ParameterName=Error Register -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=0 -PDOMapping=1 - -[1018] -ParameterName=Identity -ObjectType=0x9 -SubNumber=5 - -[1018sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=4 -PDOMapping=0 - -[1018sub1] -ParameterName=Vendor ID -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub2] -ParameterName=Product Code -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub3] -ParameterName=Revision Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[1018sub4] -ParameterName=Serial Number -ObjectType=0x7 -DataType=0x0007 -AccessType=ro -DefaultValue=0 -PDOMapping=0 - -[OptionalObjects] -SupportedObjects=42 -1=0x1005 -2=0x1006 -3=0x1016 -4=0x1280 -5=0x1400 -6=0x1401 -7=0x1402 -8=0x1403 -9=0x1404 -10=0x1405 -11=0x1406 -12=0x1407 -13=0x1408 -14=0x1409 -15=0x140A -16=0x140B -17=0x140C -18=0x140D -19=0x140E -20=0x140F -21=0x1410 -22=0x1411 -23=0x1600 -24=0x1601 -25=0x1602 -26=0x1603 -27=0x1604 -28=0x1605 -29=0x1606 -30=0x1607 -31=0x1608 -32=0x1609 -33=0x160A -34=0x160B -35=0x160C -36=0x160D -37=0x160E -38=0x160F -39=0x1610 -40=0x1611 -41=0x1800 -42=0x1A00 - -[1005] -ParameterName=SYNC COB ID -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1073741952 -PDOMapping=0 - -[1006] -ParameterName=Communication Cycle Period -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=50000 -PDOMapping=0 - -[1016] -ParameterName=Consumer Heartbeat Time -ObjectType=0x8 -SubNumber=2 - -[1016sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=1 -PDOMapping=0 - -[1016sub1] -ParameterName=Consumer Heartbeat Time -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=4195804 -PDOMapping=0 - -[1280] -ParameterName=Client SDO 1 Parameter -ObjectType=0x9 -SubNumber=4 - -[1280sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=3 -PDOMapping=0 - -[1280sub1] -ParameterName=COB ID Client to Server (Transmit SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1600 -PDOMapping=0 - -[1280sub2] -ParameterName=COB ID Server to Client (Receive SDO) -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=1472 -PDOMapping=0 - -[1280sub3] -ParameterName=Node ID of the SDO Server -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=64 -PDOMapping=0 - -[1400] -ParameterName=Receive PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1400sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1400sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=641 -PDOMapping=0 - -[1400sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1400sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1400sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1401] -ParameterName=Receive PDO 2 Parameter -ObjectType=0x9 -SubNumber=6 - -[1401sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1401sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=642 -PDOMapping=0 - -[1401sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1401sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1401sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1401sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1402] -ParameterName=Receive PDO 3 Parameter -ObjectType=0x9 -SubNumber=6 - -[1402sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1402sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=898 -PDOMapping=0 - -[1402sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1402sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1402sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1402sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1403] -ParameterName=Receive PDO 4 Parameter -ObjectType=0x9 -SubNumber=6 - -[1403sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1403sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=643 -PDOMapping=0 - -[1403sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1403sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1403sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1403sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1404] -ParameterName=Receive PDO 5 Parameter -ObjectType=0x9 -SubNumber=6 - -[1404sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1404sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=899 -PDOMapping=0 - -[1404sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1404sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1404sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1404sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1405] -ParameterName=Receive PDO 6 Parameter -ObjectType=0x9 -SubNumber=6 - -[1405sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1405sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=644 -PDOMapping=0 - -[1405sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1405sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1405sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1405sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1406] -ParameterName=Receive PDO 7 Parameter -ObjectType=0x9 -SubNumber=6 - -[1406sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1406sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=900 -PDOMapping=0 - -[1406sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1406sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1406sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1406sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1407] -ParameterName=Receive PDO 8 Parameter -ObjectType=0x9 -SubNumber=6 - -[1407sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1407sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[1407sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1407sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1407sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1407sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1408] -ParameterName=Receive PDO 9 Parameter -ObjectType=0x9 -SubNumber=6 - -[1408sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1408sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[1408sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1408sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1408sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1408sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1409] -ParameterName=Receive PDO 10 Parameter -ObjectType=0x9 -SubNumber=6 - -[1409sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1409sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[1409sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1409sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1409sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1409sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140A] -ParameterName=Receive PDO 11 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Asub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Asub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Asub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Asub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Asub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Asub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140B] -ParameterName=Receive PDO 12 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Bsub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Bsub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Bsub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Bsub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Bsub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Bsub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140C] -ParameterName=Receive PDO 13 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Csub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Csub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Csub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Csub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Csub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Csub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140D] -ParameterName=Receive PDO 14 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Dsub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Dsub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Dsub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Dsub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Dsub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Dsub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140E] -ParameterName=Receive PDO 15 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Esub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Esub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Esub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Esub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Esub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Esub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140F] -ParameterName=Receive PDO 16 Parameter -ObjectType=0x9 -SubNumber=6 - -[140Fsub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[140Fsub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[140Fsub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Fsub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Fsub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[140Fsub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1410] -ParameterName=Receive PDO 17 Parameter -ObjectType=0x9 -SubNumber=6 - -[1410sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1410sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[1410sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1410sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1410sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1410sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1411] -ParameterName=Receive PDO 18 Parameter -ObjectType=0x9 -SubNumber=6 - -[1411sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=6 -PDOMapping=0 - -[1411sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=2147483648 -PDOMapping=0 - -[1411sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1411sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1411sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1411sub6] -ParameterName=SYNC start value -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1600] -ParameterName=Receive PDO 1 Mapping -ObjectType=0x8 -SubNumber=9 - -[1600sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1600sub1] -ParameterName=PDO 1 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537853960 -PDOMapping=0 - -[1600sub2] -ParameterName=PDO 1 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537919496 -PDOMapping=0 - -[1600sub3] -ParameterName=PDO 1 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=537985032 -PDOMapping=0 - -[1600sub4] -ParameterName=PDO 1 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538050568 -PDOMapping=0 - -[1600sub5] -ParameterName=PDO 1 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538116104 -PDOMapping=0 - -[1600sub6] -ParameterName=PDO 1 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538181640 -PDOMapping=0 - -[1600sub7] -ParameterName=PDO 1 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538247176 -PDOMapping=0 - -[1600sub8] -ParameterName=PDO 1 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538312712 -PDOMapping=0 - -[1601] -ParameterName=Receive PDO 2 Mapping -ObjectType=0x8 -SubNumber=3 - -[1601sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=2 -PDOMapping=0 - -[1601sub1] -ParameterName=PDO 2 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538378248 -PDOMapping=0 - -[1601sub2] -ParameterName=PDO 2 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538443784 -PDOMapping=0 - -[1602] -ParameterName=Receive PDO 3 Mapping -ObjectType=0x8 -SubNumber=9 - -[1602sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1602sub1] -ParameterName=PDO 3 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538509320 -PDOMapping=0 - -[1602sub2] -ParameterName=PDO 3 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538574856 -PDOMapping=0 - -[1602sub3] -ParameterName=PDO 3 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538640392 -PDOMapping=0 - -[1602sub4] -ParameterName=PDO 3 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538705928 -PDOMapping=0 - -[1602sub5] -ParameterName=PDO 3 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538771464 -PDOMapping=0 - -[1602sub6] -ParameterName=PDO 3 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538837000 -PDOMapping=0 - -[1602sub7] -ParameterName=PDO 3 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538902536 -PDOMapping=0 - -[1602sub8] -ParameterName=PDO 3 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=538968072 -PDOMapping=0 - -[1603] -ParameterName=Receive PDO 4 Mapping -ObjectType=0x8 -SubNumber=3 - -[1603sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=2 -PDOMapping=0 - -[1603sub1] -ParameterName=PDO 4 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539033608 -PDOMapping=0 - -[1603sub2] -ParameterName=PDO 4 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539099144 -PDOMapping=0 - -[1604] -ParameterName=Receive PDO 5 Mapping -ObjectType=0x8 -SubNumber=9 - -[1604sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1604sub1] -ParameterName=PDO 5 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539164680 -PDOMapping=0 - -[1604sub2] -ParameterName=PDO 5 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539230216 -PDOMapping=0 - -[1604sub3] -ParameterName=PDO 5 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539295752 -PDOMapping=0 - -[1604sub4] -ParameterName=PDO 5 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539361288 -PDOMapping=0 - -[1604sub5] -ParameterName=PDO 5 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539426824 -PDOMapping=0 - -[1604sub6] -ParameterName=PDO 5 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539492360 -PDOMapping=0 - -[1604sub7] -ParameterName=PDO 5 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539557896 -PDOMapping=0 - -[1604sub8] -ParameterName=PDO 5 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539623432 -PDOMapping=0 - -[1605] -ParameterName=Receive PDO 6 Mapping -ObjectType=0x8 -SubNumber=3 - -[1605sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=2 -PDOMapping=0 - -[1605sub1] -ParameterName=PDO 6 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539688968 -PDOMapping=0 - -[1605sub2] -ParameterName=PDO 6 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539754504 -PDOMapping=0 - -[1606] -ParameterName=Receive PDO 7 Mapping -ObjectType=0x8 -SubNumber=9 - -[1606sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1606sub1] -ParameterName=PDO 7 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539820040 -PDOMapping=0 - -[1606sub2] -ParameterName=PDO 7 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539885576 -PDOMapping=0 - -[1606sub3] -ParameterName=PDO 7 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=539951112 -PDOMapping=0 - -[1606sub4] -ParameterName=PDO 7 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540016648 -PDOMapping=0 - -[1606sub5] -ParameterName=PDO 7 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540082184 -PDOMapping=0 - -[1606sub6] -ParameterName=PDO 7 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540147720 -PDOMapping=0 - -[1606sub7] -ParameterName=PDO 7 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540213256 -PDOMapping=0 - -[1606sub8] -ParameterName=PDO 7 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540278792 -PDOMapping=0 - -[1607] -ParameterName=Receive PDO 8 Mapping -ObjectType=0x8 -SubNumber=3 - -[1607sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=2 -PDOMapping=0 - -[1607sub1] -ParameterName=PDO 8 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540344328 -PDOMapping=0 - -[1607sub2] -ParameterName=PDO 8 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540409864 -PDOMapping=0 - -[1608] -ParameterName=Receive PDO 9 Mapping -ObjectType=0x8 -SubNumber=9 - -[1608sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1608sub1] -ParameterName=PDO 9 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540475400 -PDOMapping=0 - -[1608sub2] -ParameterName=PDO 9 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540540936 -PDOMapping=0 - -[1608sub3] -ParameterName=PDO 9 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540606472 -PDOMapping=0 - -[1608sub4] -ParameterName=PDO 9 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540672008 -PDOMapping=0 - -[1608sub5] -ParameterName=PDO 9 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540737544 -PDOMapping=0 - -[1608sub6] -ParameterName=PDO 9 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540803080 -PDOMapping=0 - -[1608sub7] -ParameterName=PDO 9 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540868616 -PDOMapping=0 - -[1608sub8] -ParameterName=PDO 9 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540934152 -PDOMapping=0 - -[1609] -ParameterName=Receive PDO 10 Mapping -ObjectType=0x8 -SubNumber=9 - -[1609sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[1609sub1] -ParameterName=PDO 10 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=540999688 -PDOMapping=0 - -[1609sub2] -ParameterName=PDO 10 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541065224 -PDOMapping=0 - -[1609sub3] -ParameterName=PDO 10 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541130760 -PDOMapping=0 - -[1609sub4] -ParameterName=PDO 10 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541196296 -PDOMapping=0 - -[1609sub5] -ParameterName=PDO 10 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541261832 -PDOMapping=0 - -[1609sub6] -ParameterName=PDO 10 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541327368 -PDOMapping=0 - -[1609sub7] -ParameterName=PDO 10 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541392904 -PDOMapping=0 - -[1609sub8] -ParameterName=PDO 10 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541458440 -PDOMapping=0 - -[160A] -ParameterName=Receive PDO 11 Mapping -ObjectType=0x8 -SubNumber=9 - -[160Asub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[160Asub1] -ParameterName=PDO 11 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541523976 -PDOMapping=0 - -[160Asub2] -ParameterName=PDO 11 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541589512 -PDOMapping=0 - -[160Asub3] -ParameterName=PDO 11 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541655048 -PDOMapping=0 - -[160Asub4] -ParameterName=PDO 11 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541720584 -PDOMapping=0 - -[160Asub5] -ParameterName=PDO 11 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541786120 -PDOMapping=0 - -[160Asub6] -ParameterName=PDO 11 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541851656 -PDOMapping=0 - -[160Asub7] -ParameterName=PDO 11 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541917192 -PDOMapping=0 - -[160Asub8] -ParameterName=PDO 11 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=541982728 -PDOMapping=0 - -[160B] -ParameterName=Receive PDO 12 Mapping -ObjectType=0x8 -SubNumber=9 - -[160Bsub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=8 -PDOMapping=0 - -[160Bsub1] -ParameterName=PDO 12 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542048264 -PDOMapping=0 - -[160Bsub2] -ParameterName=PDO 12 Mapping for an application object 2 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542113800 -PDOMapping=0 - -[160Bsub3] -ParameterName=PDO 12 Mapping for an application object 3 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542179336 -PDOMapping=0 - -[160Bsub4] -ParameterName=PDO 12 Mapping for an application object 4 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542244872 -PDOMapping=0 - -[160Bsub5] -ParameterName=PDO 12 Mapping for an application object 5 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542310408 -PDOMapping=0 - -[160Bsub6] -ParameterName=PDO 12 Mapping for an application object 6 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542375944 -PDOMapping=0 - -[160Bsub7] -ParameterName=PDO 12 Mapping for an application object 7 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542441480 -PDOMapping=0 - -[160Bsub8] -ParameterName=PDO 12 Mapping for an application object 8 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542507016 -PDOMapping=0 - -[160C] -ParameterName=Receive PDO 13 Mapping -ObjectType=0x8 -SubNumber=2 - -[160Csub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[160Csub1] -ParameterName=PDO 13 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=542572552 -PDOMapping=0 - -[160D] -ParameterName=Receive PDO 14 Mapping -ObjectType=0x8 -SubNumber=2 - -[160Dsub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[160Dsub1] -ParameterName=PDO 14 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=543096840 -PDOMapping=0 - -[160E] -ParameterName=Receive PDO 15 Mapping -ObjectType=0x8 -SubNumber=2 - -[160Esub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[160Esub1] -ParameterName=PDO 15 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=543621128 -PDOMapping=0 - -[160F] -ParameterName=Receive PDO 16 Mapping -ObjectType=0x8 -SubNumber=2 - -[160Fsub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[160Fsub1] -ParameterName=PDO 16 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=544145416 -PDOMapping=0 - -[1610] -ParameterName=Receive PDO 17 Mapping -ObjectType=0x8 -SubNumber=2 - -[1610sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1610sub1] -ParameterName=PDO 17 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=544669704 -PDOMapping=0 - -[1611] -ParameterName=Receive PDO 18 Mapping -ObjectType=0x8 -SubNumber=2 - -[1611sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1611sub1] -ParameterName=PDO 18 Mapping for an application object 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=545193992 -PDOMapping=0 - -[1800] -ParameterName=Transmit PDO 1 Parameter -ObjectType=0x9 -SubNumber=5 - -[1800sub0] -ParameterName=Highest SubIndex Supported -ObjectType=0x7 -DataType=0x0005 -AccessType=ro -DefaultValue=5 -PDOMapping=0 - -[1800sub1] -ParameterName=COB ID used by PDO -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=576 -PDOMapping=0 - -[1800sub2] -ParameterName=Transmission Type -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1800sub3] -ParameterName=Inhibit Time -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1800sub5] -ParameterName=Event Timer -ObjectType=0x7 -DataType=0x0006 -AccessType=rw -DefaultValue=0 -PDOMapping=0 - -[1A00] -ParameterName=Transmit PDO 1 Mapping -ObjectType=0x8 -SubNumber=2 - -[1A00sub0] -ParameterName=Number of Entries -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=1 -PDOMapping=0 - -[1A00sub1] -ParameterName=PDO 1 Mapping for a process data variable 1 -ObjectType=0x7 -DataType=0x0007 -AccessType=rw -DefaultValue=536870920 -PDOMapping=0 - -[ManufacturerObjects] -SupportedObjects=80 -1=0x2000 -2=0x2001 -3=0x200F -4=0x2010 -5=0x2011 -6=0x2012 -7=0x2013 -8=0x2014 -9=0x2015 -10=0x2016 -11=0x2017 -12=0x2018 -13=0x2019 -14=0x201A -15=0x201B -16=0x201C -17=0x201D -18=0x201E -19=0x201F -20=0x2020 -21=0x2021 -22=0x2022 -23=0x2023 -24=0x2024 -25=0x2025 -26=0x2026 -27=0x2027 -28=0x2028 -29=0x2029 -30=0x202A -31=0x202B -32=0x202C -33=0x202D -34=0x202E -35=0x202F -36=0x2030 -37=0x2031 -38=0x2032 -39=0x2033 -40=0x2034 -41=0x2035 -42=0x2036 -43=0x2037 -44=0x2038 -45=0x2039 -46=0x203A -47=0x203B -48=0x203C -49=0x203D -50=0x203E -51=0x203F -52=0x2040 -53=0x2041 -54=0x2042 -55=0x2043 -56=0x2044 -57=0x2045 -58=0x2046 -59=0x2047 -60=0x2048 -61=0x2049 -62=0x204A -63=0x204B -64=0x204C -65=0x204D -66=0x204E -67=0x204F -68=0x2050 -69=0x2051 -70=0x2052 -71=0x2053 -72=0x2054 -73=0x2055 -74=0x2056 -75=0x2057 -76=0x205F -77=0x2067 -78=0x206F -79=0x2077 -80=0x207F - -[2000] -ParameterName=DO1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2001] -ParameterName=DO2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[200F] -ParameterName=LH_Position_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2010] -ParameterName=LH_Position_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2011] -ParameterName=LH_Position_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2012] -ParameterName=LH_Position_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2013] -ParameterName=LH_Velocity_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2014] -ParameterName=LH_Velocity_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2015] -ParameterName=LH_Velocity_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2016] -ParameterName=LH_Velocity_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2017] -ParameterName=LH_Torque_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2018] -ParameterName=LH_Torque_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2019] -ParameterName=LK_Position_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201A] -ParameterName=LK_Position_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201B] -ParameterName=LK_Position_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201C] -ParameterName=LK_Position_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201D] -ParameterName=LK_Velocity_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201E] -ParameterName=LK_Velocity_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[201F] -ParameterName=LK_Velocity_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2020] -ParameterName=LK_Velocity_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2021] -ParameterName=LK_Torque_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2022] -ParameterName=LK_Torque_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2023] -ParameterName=RH_Position_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2024] -ParameterName=RH_Position_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2025] -ParameterName=RH_Position_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2026] -ParameterName=RH_Position_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2027] -ParameterName=RH_Velocity_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2028] -ParameterName=RH_Velocity_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2029] -ParameterName=RH_Velocity_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202A] -ParameterName=RH_Velocity_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202B] -ParameterName=RH_Torque_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202C] -ParameterName=RH_Torque_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202D] -ParameterName=RK_Position_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202E] -ParameterName=RK_Position_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[202F] -ParameterName=RK_Position_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2030] -ParameterName=RK_Position_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2031] -ParameterName=RK_Velocity_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2032] -ParameterName=RK_Velocity_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2033] -ParameterName=RK_Velocity_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2034] -ParameterName=RK_Velocity_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2035] -ParameterName=RK_Torque_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2036] -ParameterName=RK_Torque_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2037] -ParameterName=Left_Crutch_Force_Sensor_Data1_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2038] -ParameterName=Left_Crutch_Force_Sensor_Data1_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2039] -ParameterName=Left_Crutch_Force_Sensor_Data1_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203A] -ParameterName=Left_Crutch_Force_Sensor_Data1_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203B] -ParameterName=Left_Crutch_Force_Sensor_Data1_5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203C] -ParameterName=Left_Crutch_Force_Sensor_Data1_6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203D] -ParameterName=Left_Crutch_Force_Sensor_Data1_7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203E] -ParameterName=Left_Crutch_Force_Sensor_Data1_8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[203F] -ParameterName=Left_Crutch_Force_Sensor_Data2_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2040] -ParameterName=Left_Crutch_Force_Sensor_Data2_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2041] -ParameterName=Left_Crutch_Force_Sensor_Data2_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2042] -ParameterName=Left_Crutch_Force_Sensor_Data2_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2043] -ParameterName=Left_Crutch_Force_Sensor_Data2_5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2044] -ParameterName=Left_Crutch_Force_Sensor_Data2_6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2045] -ParameterName=Left_Crutch_Force_Sensor_Data2_7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2046] -ParameterName=Left_Crutch_Force_Sensor_Data2_8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2047] -ParameterName=Right_Crutch_Force_Sensor_Data1_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2048] -ParameterName=Right_Crutch_Force_Sensor_Data1_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2049] -ParameterName=Right_Crutch_Force_Sensor_Data1_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204A] -ParameterName=Right_Crutch_Force_Sensor_Data1_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204B] -ParameterName=Right_Crutch_Force_Sensor_Data1_5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204C] -ParameterName=Right_Crutch_Force_Sensor_Data1_6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204D] -ParameterName=Right_Crutch_Force_Sensor_Data1_7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204E] -ParameterName=Right_Crutch_Force_Sensor_Data1_8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[204F] -ParameterName=Right_Crutch_Force_Sensor_Data2_1 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2050] -ParameterName=Right_Crutch_Force_Sensor_Data2_2 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2051] -ParameterName=Right_Crutch_Force_Sensor_Data2_3 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2052] -ParameterName=Right_Crutch_Force_Sensor_Data2_4 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2053] -ParameterName=Right_Crutch_Force_Sensor_Data2_5 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2054] -ParameterName=Right_Crutch_Force_Sensor_Data2_6 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2055] -ParameterName=Right_Crutch_Force_Sensor_Data2_7 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2056] -ParameterName=Right_Crutch_Force_Sensor_Data2_8 -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2057] -ParameterName=Left_Crutch_Force_Sensor_Command -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[205F] -ParameterName=Right_Crutch_Force_Sensor_Command -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2067] -ParameterName=Current_State -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[206F] -ParameterName=Current_Movement -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[2077] -ParameterName=Next_Movement -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 - -[207F] -ParameterName=Go_Button -ObjectType=0x7 -DataType=0x0005 -AccessType=rw -DefaultValue=0 -PDOMapping=1 diff --git a/Jetson/Jetson_rpdo.py b/Jetson/Jetson_rpdo.py deleted file mode 100644 index e7eed50..0000000 --- a/Jetson/Jetson_rpdo.py +++ /dev/null @@ -1,53 +0,0 @@ -import canopen -import time - -# construct a CAN network -network = canopen.Network() - -# connect to the CAN network -network.connect(bustype='socketcan', channel='vcan0', bitrate=1000000) -#network.connect(bustype='socketcan', channel='can0', bitrate=1000000) - -# create a slaver node with id 2(need to match with master.py) and Object Dictionary "Slaver.eds" -Jetson_66 = network.create_node(66, 'Jetson_66_v11.eds') - -# Node send the boot-up message to the CAN network COB-ID:0x700+node-ID detail: "0" -Jetson_66.nmt.send_command(0) - -# With the heartbeat configuration in object Dictionary, use the function by following command every 1s(1000ms) -Jetson_66.nmt.start_heartbeat(1000) - -# send pdo message -Jetson_66.rpdo.read() -Jetson_66.tpdo.read() - -print("Test reading PDO to read input of Exo") - -def print_pdo(message): - print('%s received' % message.name) - for var in message: - print('%s = %d' % (var.name, var.raw)) - - -Jetson_66.rpdo[1].add_callback(print_pdo) -Jetson_66.rpdo[2].add_callback(print_pdo) -Jetson_66.rpdo[3].add_callback(print_pdo) -Jetson_66.rpdo[4].add_callback(print_pdo) -Jetson_66.rpdo[5].add_callback(print_pdo) -Jetson_66.rpdo[6].add_callback(print_pdo) -Jetson_66.rpdo[7].add_callback(print_pdo) -Jetson_66.rpdo[8].add_callback(print_pdo) -Jetson_66.rpdo[9].add_callback(print_pdo) -Jetson_66.rpdo[10].add_callback(print_pdo) -Jetson_66.rpdo[11].add_callback(print_pdo) -Jetson_66.rpdo[12].add_callback(print_pdo) -Jetson_66.rpdo[13].add_callback(print_pdo) -Jetson_66.rpdo[14].add_callback(print_pdo) -Jetson_66.rpdo[15].add_callback(print_pdo) -Jetson_66.rpdo[16].add_callback(print_pdo) -Jetson_66.rpdo[17].add_callback(print_pdo) -Jetson_66.rpdo[18].add_callback(print_pdo) - - -while(True): - time.sleep(1) From 6f1ced536848c932290d02691abb04ab1b4006d3 Mon Sep 17 00:00:00 2001 From: Wilson <70258492+wilson455039@users.noreply.github.com> Date: Tue, 6 Sep 2022 01:42:05 +1000 Subject: [PATCH 19/19] clean up code structure --- Simulator/Exo_test_tpdo.py | 236 ++++++++++++++++++++----------------- 1 file changed, 131 insertions(+), 105 deletions(-) diff --git a/Simulator/Exo_test_tpdo.py b/Simulator/Exo_test_tpdo.py index c3b76b7..dc41286 100644 --- a/Simulator/Exo_test_tpdo.py +++ b/Simulator/Exo_test_tpdo.py @@ -87,11 +87,120 @@ def crutch2can(value, datatype): #convert a float to 2 one bye can message force hex_seg[i] = int.from_bytes(valueInByte[0+i:1+i], byteorder="big") return hex_seg +def config_all(value): + splited_value_1 = 0 + splited_value_2 = 0 + # pdo 1 + splited_value_1 = dec2hex(value, 'int32') + splited_value_2 = dec2hex(value-16, 'int32') + # print("splited_value_1 = ",splited_value_1) + # print("splited_value_2 = ",splited_value_2) + Exo_test.tpdo[1][0x200F].raw = splited_value_1[0] + Exo_test.tpdo[1][0x2010].raw = splited_value_1[1] + Exo_test.tpdo[1][0x2011].raw = splited_value_1[2] + Exo_test.tpdo[1][0x2012].raw = splited_value_1[3] + Exo_test.tpdo[1][0x2013].raw = splited_value_2[0] + Exo_test.tpdo[1][0x2014].raw = splited_value_2[1] + Exo_test.tpdo[1][0x2015].raw = splited_value_2[2] + Exo_test.tpdo[1][0x2016].raw = splited_value_2[3] + # pdo 2 + splited_value_1 = dec2hex(value, 'int16') + Exo_test.tpdo[2][0x2017].raw = splited_value_1[0] + Exo_test.tpdo[2][0x2018].raw = splited_value_1[1] + # pdo 3 + splited_value_1 = dec2hex(value, 'int32') + splited_value_2 = dec2hex(value-16, 'int32') + Exo_test.tpdo[3][0x2019].raw = splited_value_1[0] + Exo_test.tpdo[3][0x201A].raw = splited_value_1[1] + Exo_test.tpdo[3][0x201B].raw = splited_value_1[2] + Exo_test.tpdo[3][0x201C].raw = splited_value_1[3] + Exo_test.tpdo[3][0x201D].raw = splited_value_2[0] + Exo_test.tpdo[3][0x201E].raw = splited_value_2[1] + Exo_test.tpdo[3][0x201F].raw = splited_value_2[2] + Exo_test.tpdo[3][0x2020].raw = splited_value_2[3] + # pdo 4 + splited_value_1 = dec2hex(value, 'int16') + Exo_test.tpdo[4][0x2021].raw = splited_value_1[0] + Exo_test.tpdo[4][0x2022].raw = splited_value_1[1] + # pdo 5 + splited_value_1 = dec2hex(value, 'int32') + splited_value_2 = dec2hex(value-16, 'int32') + Exo_test.tpdo[5][0x2023].raw = splited_value_1[0] + Exo_test.tpdo[5][0x2024].raw = splited_value_1[1] + Exo_test.tpdo[5][0x2025].raw = splited_value_1[2] + Exo_test.tpdo[5][0x2026].raw = splited_value_1[3] + Exo_test.tpdo[5][0x2027].raw = splited_value_2[0] + Exo_test.tpdo[5][0x2028].raw = splited_value_2[1] + Exo_test.tpdo[5][0x2029].raw = splited_value_2[2] + Exo_test.tpdo[5][0x202A].raw = splited_value_2[3] + # pdo 6 + splited_value_1 = dec2hex(value, 'int16') + Exo_test.tpdo[6][0x202B].raw = splited_value_1[0] + Exo_test.tpdo[6][0x202C].raw = splited_value_1[1] + # pdo 7 + splited_value_1 = dec2hex(value, 'int32') + splited_value_2 = dec2hex(value-16, 'int32') + Exo_test.tpdo[7][0x202D].raw = splited_value_1[0] + Exo_test.tpdo[7][0x202E].raw = splited_value_1[1] + Exo_test.tpdo[7][0x202F].raw = splited_value_1[2] + Exo_test.tpdo[7][0x2030].raw = splited_value_1[3] + Exo_test.tpdo[7][0x2031].raw = splited_value_2[0] + Exo_test.tpdo[7][0x2032].raw = splited_value_2[1] + Exo_test.tpdo[7][0x2033].raw = splited_value_2[2] + Exo_test.tpdo[7][0x2034].raw = splited_value_2[3] + # pdo 8 + splited_value_1 = dec2hex(value, 'int16') + Exo_test.tpdo[8][0x2035].raw = splited_value_1[0] + Exo_test.tpdo[8][0x2036].raw = splited_value_1[1] + # pdo 9 & 10 + #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 + crutch_input_force_data = value/50 + crutch_input_torque_data = value/2000 + force_can = crutch2can(crutch_input_force_data, "force") + torque_can = crutch2can(crutch_input_torque_data, "torque") + Exo_test.tpdo[9][0x2037].raw = 0 + Exo_test.tpdo[9][0x2038].raw = force_can[0] + Exo_test.tpdo[9][0x2039].raw = force_can[1] + Exo_test.tpdo[9][0x203A].raw = force_can[0] + Exo_test.tpdo[9][0x203B].raw = force_can[1] + Exo_test.tpdo[9][0x203C].raw = force_can[0] + Exo_test.tpdo[9][0x203D].raw = force_can[1] + Exo_test.tpdo[9][0x203E].raw = torque_can[0] + Exo_test.tpdo[10][0x203F].raw = torque_can[1] + Exo_test.tpdo[10][0x2040].raw = torque_can[0] + Exo_test.tpdo[10][0x2041].raw = torque_can[1] + Exo_test.tpdo[10][0x2042].raw = torque_can[0] + Exo_test.tpdo[10][0x2043].raw = torque_can[1] + Exo_test.tpdo[10][0x2044].raw = 0 + Exo_test.tpdo[10][0x2045].raw = 0 + Exo_test.tpdo[10][0x2046].raw = 0 + # pdo 11 & 12 + #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 + crutch_input_force_data = value/50 + crutch_input_torque_data = value/2000 + force_can = crutch2can(crutch_input_force_data, "force") + torque_can = crutch2can(crutch_input_torque_data, "torque") + Exo_test.tpdo[11][0x2047].raw = 0 + Exo_test.tpdo[11][0x2048].raw = force_can[0] + Exo_test.tpdo[11][0x2049].raw = force_can[1] + Exo_test.tpdo[11][0x204A].raw = force_can[0] + Exo_test.tpdo[11][0x204B].raw = force_can[1] + Exo_test.tpdo[11][0x204C].raw = force_can[0] + Exo_test.tpdo[11][0x204D].raw = force_can[1] + Exo_test.tpdo[11][0x204E].raw = torque_can[0] + Exo_test.tpdo[12][0x204F].raw = torque_can[1] + Exo_test.tpdo[12][0x2050].raw = torque_can[0] + Exo_test.tpdo[12][0x2051].raw = torque_can[1] + Exo_test.tpdo[12][0x2052].raw = torque_can[0] + Exo_test.tpdo[12][0x2053].raw = torque_can[1] + Exo_test.tpdo[12][0x2054].raw = 0 + Exo_test.tpdo[12][0x2055].raw = 0 + Exo_test.tpdo[12][0x2056].raw = 0 + # test sending PDO to set output print("test sending PDO to set output") - -test_id = 9 +test_id = 0 # test list: (ignore this list) # id = 0: No one # id = 1: All @@ -106,128 +215,48 @@ def crutch2can(value, datatype): #convert a float to 2 one bye can message force # id = 10: Crutch UI Controller - - def transmit_pdo(id, value): splited_value_1 = 0 splited_value_2 = 0 print("Testing TPDO:",id ) - if(id==1): - splited_value_1 = dec2hex(write_data, 'int32') - splited_value_2 = dec2hex(write_data-16, 'int32') - Exo_test.tpdo[id][0x200F].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2010].raw = splited_value_1[1] - Exo_test.tpdo[id][0x2011].raw = splited_value_1[2] - Exo_test.tpdo[id][0x2012].raw = splited_value_1[3] - Exo_test.tpdo[id][0x2013].raw = splited_value_2[0] - Exo_test.tpdo[id][0x2014].raw = splited_value_2[1] - Exo_test.tpdo[id][0x2015].raw = splited_value_2[2] - Exo_test.tpdo[id][0x2016].raw = splited_value_2[3] + config_all(value) + if(id==0): # transmit ALL PDO + for i in range(1,13): + Exo_test.tpdo[i].transmit() + elif(id==1): print("TPDO Transmit value = ", write_data, write_data-16) + Exo_test.tpdo[id].transmit() elif(id==2): - splited_value_1 = dec2hex(write_data, 'int16') - Exo_test.tpdo[id][0x2017].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2018].raw = splited_value_1[1] print("TPDO Transmit value = ", write_data) + Exo_test.tpdo[id].transmit() elif(id==3): - splited_value_1 = dec2hex(write_data, 'int32') - splited_value_2 = dec2hex(write_data-16, 'int32') - Exo_test.tpdo[id][0x2019].raw = splited_value_1[0] - Exo_test.tpdo[id][0x201A].raw = splited_value_1[1] - Exo_test.tpdo[id][0x201B].raw = splited_value_1[2] - Exo_test.tpdo[id][0x201C].raw = splited_value_1[3] - Exo_test.tpdo[id][0x201D].raw = splited_value_2[0] - Exo_test.tpdo[id][0x201E].raw = splited_value_2[1] - Exo_test.tpdo[id][0x201F].raw = splited_value_2[2] - Exo_test.tpdo[id][0x2020].raw = splited_value_2[3] print("TPDO Transmit value = ", write_data, write_data-16) + Exo_test.tpdo[id].transmit() elif(id==4): - splited_value_1 = dec2hex(write_data, 'int16') - Exo_test.tpdo[id][0x2021].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2022].raw = splited_value_1[1] print("TPDO Transmit value = ", write_data) + Exo_test.tpdo[id].transmit() elif(id==5): - splited_value_1 = dec2hex(write_data, 'int32') - splited_value_2 = dec2hex(write_data-16, 'int32') - Exo_test.tpdo[id][0x2023].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2024].raw = splited_value_1[1] - Exo_test.tpdo[id][0x2025].raw = splited_value_1[2] - Exo_test.tpdo[id][0x2026].raw = splited_value_1[3] - Exo_test.tpdo[id][0x2027].raw = splited_value_2[0] - Exo_test.tpdo[id][0x2028].raw = splited_value_2[1] - Exo_test.tpdo[id][0x2029].raw = splited_value_2[2] - Exo_test.tpdo[id][0x202A].raw = splited_value_2[3] print("TPDO Transmit value = ", write_data, write_data-16) + Exo_test.tpdo[id].transmit() elif(id==6): - splited_value_1 = dec2hex(write_data, 'int16') - Exo_test.tpdo[id][0x202B].raw = splited_value_1[0] - Exo_test.tpdo[id][0x202C].raw = splited_value_1[1] print("TPDO Transmit value = ", write_data) + Exo_test.tpdo[id].transmit() elif(id==7): - splited_value_1 = dec2hex(write_data, 'int32') - splited_value_2 = dec2hex(write_data-16, 'int32') - Exo_test.tpdo[id][0x202D].raw = splited_value_1[0] - Exo_test.tpdo[id][0x202E].raw = splited_value_1[1] - Exo_test.tpdo[id][0x202F].raw = splited_value_1[2] - Exo_test.tpdo[id][0x2030].raw = splited_value_1[3] - Exo_test.tpdo[id][0x2031].raw = splited_value_2[0] - Exo_test.tpdo[id][0x2032].raw = splited_value_2[1] - Exo_test.tpdo[id][0x2033].raw = splited_value_2[2] - Exo_test.tpdo[id][0x2034].raw = splited_value_2[3] print("TPDO Transmit value = ", write_data, write_data-16) + Exo_test.tpdo[id].transmit() elif(id==8): - splited_value_1 = dec2hex(write_data, 'int16') - Exo_test.tpdo[id][0x2035].raw = splited_value_1[0] - Exo_test.tpdo[id][0x2036].raw = splited_value_1[1] print("TPDO Transmit value = ", write_data) + Exo_test.tpdo[id].transmit() elif(id==9): - #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 - crutch_input_force_data = write_data/50 - crutch_input_torque_data = write_data/2000 - force_can = crutch2can(crutch_input_force_data, "force") - torque_can = crutch2can(crutch_input_torque_data, "torque") - Exo_test.tpdo[9][0x2037].raw = 0 - Exo_test.tpdo[9][0x2038].raw = force_can[0] - Exo_test.tpdo[9][0x2039].raw = force_can[1] - Exo_test.tpdo[9][0x203A].raw = force_can[0] - Exo_test.tpdo[9][0x203B].raw = force_can[1] - Exo_test.tpdo[9][0x203C].raw = force_can[0] - Exo_test.tpdo[9][0x203D].raw = force_can[1] - Exo_test.tpdo[9][0x203E].raw = torque_can[0] - Exo_test.tpdo[10][0x203F].raw = torque_can[1] - Exo_test.tpdo[10][0x2040].raw = torque_can[0] - Exo_test.tpdo[10][0x2041].raw = torque_can[1] - Exo_test.tpdo[10][0x2042].raw = torque_can[0] - Exo_test.tpdo[10][0x2043].raw = torque_can[1] - Exo_test.tpdo[10][0x2044].raw = 0 - Exo_test.tpdo[10][0x2045].raw = 0 - Exo_test.tpdo[10][0x2046].raw = 0 - print("TPDO Transmit value = ", crutch_input_force_data, crutch_input_torque_data) + print("TPDO Transmit value = ", write_data/50, write_data/2000) + Exo_test.tpdo[id].transmit() + Exo_test.tpdo[id+1].transmit() elif(id==10): print("Testing TPDO:",id) elif(id==11): - #convert unsigned 16 bit to signed 16 bit: signed int16 = unsigned int16 - 2^16 - crutch_input_force_data = write_data/50 - crutch_input_torque_data = write_data/2000 - force_can = crutch2can(crutch_input_force_data, "force") - torque_can = crutch2can(crutch_input_torque_data, "torque") - Exo_test.tpdo[11][0x2047].raw = 0 - Exo_test.tpdo[11][0x2048].raw = force_can[0] - Exo_test.tpdo[11][0x2049].raw = force_can[1] - Exo_test.tpdo[11][0x204A].raw = force_can[0] - Exo_test.tpdo[11][0x204B].raw = force_can[1] - Exo_test.tpdo[11][0x204C].raw = force_can[0] - Exo_test.tpdo[11][0x204D].raw = force_can[1] - Exo_test.tpdo[11][0x204E].raw = torque_can[0] - Exo_test.tpdo[12][0x204F].raw = torque_can[1] - Exo_test.tpdo[12][0x2050].raw = torque_can[0] - Exo_test.tpdo[12][0x2051].raw = torque_can[1] - Exo_test.tpdo[12][0x2052].raw = torque_can[0] - Exo_test.tpdo[12][0x2053].raw = torque_can[1] - Exo_test.tpdo[12][0x2054].raw = 0 - Exo_test.tpdo[12][0x2055].raw = 0 - Exo_test.tpdo[12][0x2056].raw = 0 - print("TPDO Transmit value = ", crutch_input_force_data, crutch_input_torque_data) + print("TPDO Transmit value = ", write_data/50, write_data/2000) + Exo_test.tpdo[id].transmit() + Exo_test.tpdo[id+1].transmit() elif(id==12): print("Testing TPDO:",id) elif(id==13): @@ -243,9 +272,6 @@ def transmit_pdo(id, value): elif(id==18): print("Testing TPDO:",id) - Exo_test.tpdo[id].transmit() - if(id>=9): - Exo_test.tpdo[id+1].transmit() @@ -281,7 +307,7 @@ def transmit_pdo(id, value): # Exo_test.tpdo[1].transmit() # print("write output value = {}".format(Exo_test.tpdo[1][0x2000].raw)) - time.sleep(1) + time.sleep(0.1) except KeyboardInterrupt: print("exit from sending PDO to Jetson")