收发测试
This commit is contained in:
112
launch/transmitter_test.launch.py
Normal file
112
launch/transmitter_test.launch.py
Normal file
@@ -0,0 +1,112 @@
|
||||
from launch import LaunchDescription
|
||||
from launch_ros.actions import Node
|
||||
from launch.actions import DeclareLaunchArgument
|
||||
from launch.substitutions import LaunchConfiguration
|
||||
|
||||
|
||||
def generate_launch_description():
|
||||
# 声明启动参数 - 基本设置
|
||||
send_frequency_arg = DeclareLaunchArgument(
|
||||
'send_frequency',
|
||||
default_value='50.0',
|
||||
description='CAN 发送频率 (Hz)'
|
||||
)
|
||||
|
||||
tx_channel_arg = DeclareLaunchArgument(
|
||||
'tx_channel',
|
||||
default_value='0',
|
||||
description='CAN 发送通道 (0 或 1)'
|
||||
)
|
||||
|
||||
rx_channel_arg = DeclareLaunchArgument(
|
||||
'rx_channel',
|
||||
default_value='1',
|
||||
description='CAN 接收通道 (0 或 1)'
|
||||
)
|
||||
|
||||
# 声明启动参数 - CAN ID 设置
|
||||
can_id_motion_arg = DeclareLaunchArgument(
|
||||
'can_id_motion',
|
||||
default_value='329', # 0x149 = 329
|
||||
description='运动控制 CAN ID (十进制,默认 0x149=329)'
|
||||
)
|
||||
|
||||
can_id_attack_arg = DeclareLaunchArgument(
|
||||
'can_id_attack',
|
||||
default_value='393', # 0x189 = 393
|
||||
description='攻击控制 CAN ID (十进制,默认 0x189=393)'
|
||||
)
|
||||
|
||||
# 声明启动参数 - CAN 帧格式
|
||||
use_extended_frame_arg = DeclareLaunchArgument(
|
||||
'use_extended_frame',
|
||||
default_value='false',
|
||||
description='是否使用扩展帧(29位ID),false=标准帧(11位)'
|
||||
)
|
||||
|
||||
use_canfd_arg = DeclareLaunchArgument(
|
||||
'use_canfd',
|
||||
default_value='false',
|
||||
description='是否使用 CANFD,false=CAN2.0'
|
||||
)
|
||||
|
||||
use_brs_arg = DeclareLaunchArgument(
|
||||
'use_brs',
|
||||
default_value='false',
|
||||
description='CANFD 是否启用波特率切换(BRS)'
|
||||
)
|
||||
|
||||
# 声明启动参数 - 接收过滤
|
||||
rx_filter_enabled_arg = DeclareLaunchArgument(
|
||||
'rx_filter_enabled',
|
||||
default_value='false',
|
||||
description='是否启用接收 ID 过滤'
|
||||
)
|
||||
|
||||
rx_filter_id_min_arg = DeclareLaunchArgument(
|
||||
'rx_filter_id_min',
|
||||
default_value='0',
|
||||
description='接收过滤 ID 最小值'
|
||||
)
|
||||
|
||||
rx_filter_id_max_arg = DeclareLaunchArgument(
|
||||
'rx_filter_id_max',
|
||||
default_value='2047', # 0x7FF
|
||||
description='接收过滤 ID 最大值'
|
||||
)
|
||||
|
||||
# 创建节点
|
||||
transmitter_test_node = Node(
|
||||
package='amadeus_26',
|
||||
executable='transmitter_test_node',
|
||||
name='transmitter_test_node',
|
||||
output='screen',
|
||||
parameters=[{
|
||||
'send_frequency': LaunchConfiguration('send_frequency'),
|
||||
'tx_channel': LaunchConfiguration('tx_channel'),
|
||||
'rx_channel': LaunchConfiguration('rx_channel'),
|
||||
'can_id_motion': LaunchConfiguration('can_id_motion'),
|
||||
'can_id_attack': LaunchConfiguration('can_id_attack'),
|
||||
'use_extended_frame': LaunchConfiguration('use_extended_frame'),
|
||||
'use_canfd': LaunchConfiguration('use_canfd'),
|
||||
'use_brs': LaunchConfiguration('use_brs'),
|
||||
'rx_filter_enabled': LaunchConfiguration('rx_filter_enabled'),
|
||||
'rx_filter_id_min': LaunchConfiguration('rx_filter_id_min'),
|
||||
'rx_filter_id_max': LaunchConfiguration('rx_filter_id_max'),
|
||||
}],
|
||||
)
|
||||
|
||||
return LaunchDescription([
|
||||
send_frequency_arg,
|
||||
tx_channel_arg,
|
||||
rx_channel_arg,
|
||||
can_id_motion_arg,
|
||||
can_id_attack_arg,
|
||||
use_extended_frame_arg,
|
||||
use_canfd_arg,
|
||||
use_brs_arg,
|
||||
rx_filter_enabled_arg,
|
||||
rx_filter_id_min_arg,
|
||||
rx_filter_id_max_arg,
|
||||
transmitter_test_node,
|
||||
])
|
||||
Reference in New Issue
Block a user