A new Level 2 ROS test is defined, that is similar to the DDS loopback test and can be used to measure the round trip time between a server and a client. L2_Testbench_ROS_Lib6 is the server implementation, while L2_Testbench_ROS_Lib7 is the client implementation. A custom (ROS) type is also defined (Type1). Read the comments in L2_ROS_Loopback_test1 for implementation details.
125 lines
6.4 KiB
Plaintext
125 lines
6.4 KiB
Plaintext
onerror {resume}
|
|
radix define ROS_RETCODE {
|
|
"10#0#" "ROS_RET_OK",
|
|
"10#1#" "ROS_RET_ERROR",
|
|
"10#2#" "ROS_RET_TIMEOUT",
|
|
"10#3#" "ROS_RET_UNSUPPORTED",
|
|
"10#10#" "ROS_RET_BAD_ALLOC",
|
|
"10#11#" "ROS_RET_INVALID_ARGUMENT",
|
|
"10#12#" "ROS_RET_INCORRECT_RMW_IMPLEMENTATION",
|
|
"10#100#" "ROS_RET_ALREADY_INIT",
|
|
"10#101#" "ROS_RET_NOT_INIT",
|
|
"10#102#" "ROS_RET_MISMATCHED_RMW",
|
|
"10#103#" "ROS_RET_TOPIC_NAME_INVALID",
|
|
"10#104#" "ROS_RET_SERVICE_NAME_INVALID",
|
|
"10#105#" "ROS_RET_UNKNOWN_SUBSTITUTION",
|
|
"10#106#" "ROS_RET_ALREADY_SHUTDOWN",
|
|
"10#200#" "ROS_RET_NODE_INVALID",
|
|
"10#201#" "ROS_RET_NODE_INVALID_NAME",
|
|
"10#202#" "ROS_RET_NODE_INVALID_NAMESPACE",
|
|
"10#203#" "ROS_RET_NODE_NAME_NON_EXISTENT",
|
|
"10#400#" "ROS_RET_SUBSCRIPTION_INVALID",
|
|
"10#401#" "ROS_RET_SUBSCRIPTION_TAKE_FAILED",
|
|
"10#500#" "ROS_RET_CLIENT_INVALID",
|
|
"10#501#" "ROS_RET_CLIENT_TAKE_FAILED",
|
|
"10#600#" "ROS_RET_SERVICE_INVALID",
|
|
"10#601#" "ROS_RET_SERVICE_TAKE_FAILED",
|
|
"10#800#" "ROS_RET_TIMER_INVALID",
|
|
"10#801#" "ROS_RET_TIMER_CANCELED",
|
|
"10#900#" "ROS_RET_WAIT_SET_INVALID",
|
|
"10#901#" "ROS_RET_WAIT_SET_EMPTY",
|
|
"10#902#" "ROS_RET_WAIT_SET_FULL",
|
|
"10#1001#" "ROS_RET_INVALID_REMAP_RULE",
|
|
"10#1002#" "ROS_RET_WRONG_LEXEME",
|
|
"10#1003#" "ROS_RET_INVALID_ROS_ARGS",
|
|
"10#1010#" "ROS_RET_INVALID_PARAM_RULE",
|
|
"10#1020#" "ROS_RET_INVALID_LOG_LEVEL_RULE",
|
|
"10#2001#" "ROS_RET_EVENT_TAKE_FAILED",
|
|
"10#2000#" "ROS_RET_ACTION_NAME_INVALID",
|
|
"10#2100#" "ROS_RET_ACTION_GOAL_ACCEPTED",
|
|
"10#2101#" "ROS_RET_ACTION_GOAL_REJECTED",
|
|
"10#2102#" "ROS_RET_ACTION_CLIENT_INVALID",
|
|
"10#2103#" "ROS_RET_ACTION_CLIENT_TAKE_FAILED",
|
|
"10#2200#" "ROS_RET_ACTION_SERVER_INVALID",
|
|
"10#2201#" "ROS_RET_ACTION_SERVER_TAKE_FAILED",
|
|
"10#2300#" "ROS_RET_ACTION_GOAL_HANDLE_INVALID",
|
|
"10#2301#" "ROS_RET_ACTION_GOAL_EVENT_INVALID",
|
|
"10#3000#" "ROS_RET_LIFECYCLE_STATE_REGISTERED",
|
|
"10#3001#" "ROS_RET_LIFECYCLE_STATE_NOT_REGISTERED",
|
|
-default unsigned
|
|
}
|
|
radix define GOAL_STATUS {
|
|
"10#0#" "STATUS_UNKNOWN",
|
|
"10#1#" "STATUS_ACCEPTED",
|
|
"10#2#" "STATUS_EXECUTING",
|
|
"10#3#" "STATUS_CANCELING",
|
|
"10#4#" "STATUS_SUCCEEDED",
|
|
"10#5#" "STATUS_CANCELED",
|
|
"10#6#" "STATUS_ABORTED",
|
|
-default unsigned
|
|
}
|
|
quietly WaveActivateNextPane {} 0
|
|
add wave -noupdate -divider SYSTEM
|
|
add wave -noupdate /l2_ros_loopback_test1/clk
|
|
add wave -noupdate /l2_ros_loopback_test1/reset
|
|
add wave -noupdate -divider {Lib7 ROS Publish}
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/start_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/opcode_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/ack_user
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/id
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/a
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/done_user
|
|
add wave -noupdate -radix ROS_RETCODE /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/return_code_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_pub_inst/stage
|
|
add wave -noupdate -divider {Lib6 ROS Subscriber}
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/start_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/opcode_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/ack_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/done_user
|
|
add wave -noupdate -radix ROS_RETCODE /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/return_code_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/data_available_user
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/id
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/a
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/message_info_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/taken_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_sub_inst/stage
|
|
add wave -noupdate -divider {Lib6 ROS Publisher}
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/start_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/opcode_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/ack_user
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/id
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/a
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/done_user
|
|
add wave -noupdate -radix ROS_RETCODE /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/return_code_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib6_inst/Type1_ros_pub_inst/stage
|
|
add wave -noupdate -divider {Lib7 ROS Subscribe}
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/start_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/opcode_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/ack_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/done_user
|
|
add wave -noupdate -radix ROS_RETCODE /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/return_code_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/data_available_user
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/id
|
|
add wave -noupdate -radix unsigned /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/a
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/message_info_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/taken_user
|
|
add wave -noupdate /l2_ros_loopback_test1/Lib7_inst/Type1_ros_sub_inst/stage
|
|
TreeUpdate [SetDefaultTree]
|
|
WaveRestoreCursors {{Cursor 1} {2981796 ps} 0}
|
|
quietly wave cursor active 1
|
|
configure wave -namecolwidth 150
|
|
configure wave -valuecolwidth 100
|
|
configure wave -justifyvalue left
|
|
configure wave -signalnamewidth 1
|
|
configure wave -snapdistance 10
|
|
configure wave -datasetprefix 0
|
|
configure wave -rowmargin 4
|
|
configure wave -childrowmargin 2
|
|
configure wave -gridoffset 0
|
|
configure wave -gridperiod 1
|
|
configure wave -griddelta 40
|
|
configure wave -timeline 0
|
|
configure wave -timelineunits ns
|
|
update
|
|
WaveRestoreZoom {0 ps} {2042496 ps}
|