diff --git a/src/modelec_core/launch/modelec.launch.py b/src/modelec_core/launch/modelec.launch.py new file mode 100644 index 0000000..2686fe2 --- /dev/null +++ b/src/modelec_core/launch/modelec.launch.py @@ -0,0 +1,60 @@ +from launch import LaunchDescription +from launch.actions import RegisterEventHandler, Shutdown +from launch.event_handlers import OnProcessExit +from launch_ros.actions import Node + +def generate_launch_description(): + # Qt GUI node + gui_node = Node( + package='modelec_gui', + executable='modelec_gui', + name='modelec_gui' + ) + + # Shut down all nodes when GUI exits + shutdown_on_gui_exit = RegisterEventHandler( + OnProcessExit( + target_action=gui_node, + on_exit=[Shutdown()] + ) + ) + + return LaunchDescription([ + Node( + package='modelec_com', + executable='serial_listener', + name='serial_listener' + ), + Node( + package='modelec_com', + executable='pcb_odo_interface', + name='pcb_odo_interface' + ), + Node( + package='modelec_com', + executable='pcb_alim_interface', + name='pcb_alim_interface' + ), + Node( + package='modelec_com', + executable='pcb_action_interface', + name='pcb_action_interface' + ), + gui_node, + shutdown_on_gui_exit, + Node( + package='modelec_core', + executable='speed_result', + name='speed_result' + ), + Node( + package='modelec_strat', + executable='strat_fsm', + name='strat_fsm' + ), + Node( + package='modelec_strat', + executable='pami_manager', + name='pami_manager' + ) + ]) diff --git a/src/modelec_core/launch/modelec.launch.yml b/src/modelec_core/launch/modelec.launch.yml deleted file mode 100644 index 88b37a8..0000000 --- a/src/modelec_core/launch/modelec.launch.yml +++ /dev/null @@ -1,41 +0,0 @@ -launch: - -- node: - pkg: 'modelec_com' - exec: "serial_listener" - name: "serial_listener" - -- node: - pkg: 'modelec_com' - exec: 'pcb_odo_interface' - name: 'pcb_odo_interface' - -- node: - pkg: 'modelec_com' - exec: 'pcb_alim_interface' - name: 'pcb_alim_interface' - -- node: - pkg: 'modelec_com' - exec: 'pca9685_controller' - name: 'pca9685_controller' - -- node: - pkg: 'modelec' - exec: 'solenoid_controller' - name: 'solenoid_controller' - -- node: - pkg: 'modelec' - exec: 'tirette_controller' - name: 'tirette_controller' - -- node: - pkg: 'modelec' - exec: 'arm_controller' - name: 'arm_controller' - -- node: - pkg: 'modelec' - exec: 'button_gpio_controller' - name: 'button_gpio_controller'