mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 05:15:10 +00:00
Initial commit
This commit is contained in:
89
unilabos_msgs/CMakeLists.txt
Normal file
89
unilabos_msgs/CMakeLists.txt
Normal file
@@ -0,0 +1,89 @@
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
project(unilabos_msgs)
|
||||
|
||||
# Default to C99
|
||||
if(NOT CMAKE_C_STANDARD)
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
endif()
|
||||
|
||||
# Default to C++14
|
||||
if(NOT CMAKE_CXX_STANDARD)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
add_compile_options(-Wall -Wextra -Wpedantic)
|
||||
endif()
|
||||
|
||||
# find dependencies
|
||||
find_package(ament_cmake REQUIRED)
|
||||
find_package(std_msgs REQUIRED)
|
||||
find_package(rosidl_default_generators REQUIRED)
|
||||
find_package(geometry_msgs REQUIRED)
|
||||
|
||||
set(action_files
|
||||
"action/SendCmd.action"
|
||||
"action/Stir.action"
|
||||
"action/HeatChill.action"
|
||||
"action/HeatChillStart.action"
|
||||
"action/HeatChillStop.action"
|
||||
|
||||
"action/LiquidHandlerAspirate.action"
|
||||
"action/LiquidHandlerDiscardTips.action"
|
||||
"action/LiquidHandlerDispense.action"
|
||||
"action/LiquidHandlerDropTips.action"
|
||||
"action/LiquidHandlerDropTips96.action"
|
||||
"action/LiquidHandlerMoveLid.action"
|
||||
"action/LiquidHandlerMovePlate.action"
|
||||
"action/LiquidHandlerMoveResource.action"
|
||||
"action/LiquidHandlerPickUpTips.action"
|
||||
"action/LiquidHandlerPickUpTips96.action"
|
||||
"action/LiquidHandlerReturnTips.action"
|
||||
"action/LiquidHandlerReturnTips96.action"
|
||||
"action/LiquidHandlerStamp.action"
|
||||
"action/LiquidHandlerTransfer.action"
|
||||
|
||||
"action/PumpTransfer.action"
|
||||
"action/Clean.action"
|
||||
"action/Separate.action"
|
||||
"action/Evaporate.action"
|
||||
"action/EvacuateAndRefill.action"
|
||||
|
||||
"action/WorkStationRun.action"
|
||||
"action/AGVTransfer.action"
|
||||
)
|
||||
|
||||
set(srv_files
|
||||
"srv/Stop.srv"
|
||||
"srv/SerialCommand.srv"
|
||||
"srv/ResourceGet.srv"
|
||||
"srv/ResourceList.srv"
|
||||
"srv/ResourceAdd.srv"
|
||||
"srv/ResourceUpdate.srv"
|
||||
"srv/ResourceDelete.srv"
|
||||
)
|
||||
|
||||
set(msg_files
|
||||
"msg/State.msg"
|
||||
"msg/Resource.msg"
|
||||
)
|
||||
|
||||
rosidl_generate_interfaces(${PROJECT_NAME}
|
||||
${msg_files}
|
||||
${srv_files}
|
||||
${action_files}
|
||||
DEPENDENCIES std_msgs geometry_msgs
|
||||
)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
find_package(ament_lint_auto REQUIRED)
|
||||
# the following line skips the linter which checks for copyrights
|
||||
# uncomment the line when a copyright and license is not present in all source files
|
||||
#set(ament_cmake_copyright_FOUND TRUE)
|
||||
# the following line skips cpplint (only works in a git repo)
|
||||
# uncomment the line when this package is not in a git repo
|
||||
#set(ament_cmake_cpplint_FOUND TRUE)
|
||||
ament_lint_auto_find_test_dependencies()
|
||||
endif()
|
||||
|
||||
ament_package()
|
||||
3
unilabos_msgs/CONTRIBUTING.md
Normal file
3
unilabos_msgs/CONTRIBUTING.md
Normal file
@@ -0,0 +1,3 @@
|
||||
Any contribution that you make to this repository will
|
||||
be under the MIT license, as dictated by that
|
||||
[license](https://opensource.org/licenses/MIT).
|
||||
17
unilabos_msgs/LICENSE
Normal file
17
unilabos_msgs/LICENSE
Normal file
@@ -0,0 +1,17 @@
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
2
unilabos_msgs/README.md
Normal file
2
unilabos_msgs/README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# unilabos_msgs
|
||||
Messages, Services and Actions for interacting with Uni-Lab devices
|
||||
9
unilabos_msgs/action/AGVTransfer.action
Normal file
9
unilabos_msgs/action/AGVTransfer.action
Normal file
@@ -0,0 +1,9 @@
|
||||
# MobileRobot
|
||||
Resource from_repo
|
||||
string from_repo_position
|
||||
Resource to_repo
|
||||
string to_repo_position
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
13
unilabos_msgs/action/Clean.action
Normal file
13
unilabos_msgs/action/Clean.action
Normal file
@@ -0,0 +1,13 @@
|
||||
# Organic
|
||||
string vessel # Vessel to clean.
|
||||
string solvent # Solvent to clean vessel with.
|
||||
float64 volume # Optional. Volume of solvent to clean vessel with.
|
||||
float64 temp # Optional. Temperature to heat vessel to while cleaning.
|
||||
int32 repeats # Optional. Number of cleaning cycles to perform.
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string current_device
|
||||
builtin_interfaces/Duration time_spent
|
||||
builtin_interfaces/Duration time_remaining
|
||||
11
unilabos_msgs/action/EvacuateAndRefill.action
Normal file
11
unilabos_msgs/action/EvacuateAndRefill.action
Normal file
@@ -0,0 +1,11 @@
|
||||
# Organic
|
||||
string vessel
|
||||
string gas
|
||||
int32 repeats
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string current_device
|
||||
builtin_interfaces/Duration time_spent
|
||||
builtin_interfaces/Duration time_remaining
|
||||
13
unilabos_msgs/action/Evaporate.action
Normal file
13
unilabos_msgs/action/Evaporate.action
Normal file
@@ -0,0 +1,13 @@
|
||||
# Organic
|
||||
string vessel
|
||||
float64 pressure
|
||||
float64 temp
|
||||
float64 time
|
||||
float64 stir_speed
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string current_device
|
||||
builtin_interfaces/Duration time_spent
|
||||
builtin_interfaces/Duration time_remaining
|
||||
11
unilabos_msgs/action/HeatChill.action
Normal file
11
unilabos_msgs/action/HeatChill.action
Normal file
@@ -0,0 +1,11 @@
|
||||
# Organic
|
||||
string vessel
|
||||
float64 temp
|
||||
float64 time
|
||||
bool stir
|
||||
float64 stir_speed
|
||||
string purpose
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
8
unilabos_msgs/action/HeatChillStart.action
Normal file
8
unilabos_msgs/action/HeatChillStart.action
Normal file
@@ -0,0 +1,8 @@
|
||||
# Organic
|
||||
string vessel
|
||||
float64 temp
|
||||
string purpose
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
6
unilabos_msgs/action/HeatChillStop.action
Normal file
6
unilabos_msgs/action/HeatChillStop.action
Normal file
@@ -0,0 +1,6 @@
|
||||
# Organic
|
||||
string vessel
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
12
unilabos_msgs/action/LiquidHandlerAspirate.action
Normal file
12
unilabos_msgs/action/LiquidHandlerAspirate.action
Normal file
@@ -0,0 +1,12 @@
|
||||
# Bio
|
||||
Resource[] resources
|
||||
float64[] vols
|
||||
int32[] use_channels
|
||||
float64[] flow_rates
|
||||
float64 end_delay
|
||||
geometry_msgs/Point[] offsets
|
||||
float64[] liquid_height
|
||||
float64[] blow_out_air_volume
|
||||
---
|
||||
bool success
|
||||
---
|
||||
8
unilabos_msgs/action/LiquidHandlerDiscardTips.action
Normal file
8
unilabos_msgs/action/LiquidHandlerDiscardTips.action
Normal file
@@ -0,0 +1,8 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
int32[] use_channels
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
14
unilabos_msgs/action/LiquidHandlerDispense.action
Normal file
14
unilabos_msgs/action/LiquidHandlerDispense.action
Normal file
@@ -0,0 +1,14 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource[] resources
|
||||
float64[] vols
|
||||
int32[] use_channels
|
||||
float64[] flow_rates
|
||||
geometry_msgs/Point[] offsets
|
||||
int32[] blow_out_air_volume
|
||||
string spread
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
11
unilabos_msgs/action/LiquidHandlerDropTips.action
Normal file
11
unilabos_msgs/action/LiquidHandlerDropTips.action
Normal file
@@ -0,0 +1,11 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource[] tip_spots
|
||||
int32[] use_channels
|
||||
geometry_msgs/Point[] offsets
|
||||
bool allow_nonzero_volume
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
10
unilabos_msgs/action/LiquidHandlerDropTips96.action
Normal file
10
unilabos_msgs/action/LiquidHandlerDropTips96.action
Normal file
@@ -0,0 +1,10 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource tip_rack
|
||||
geometry_msgs/Point offset
|
||||
bool allow_nonzero_volume
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
17
unilabos_msgs/action/LiquidHandlerMoveLid.action
Normal file
17
unilabos_msgs/action/LiquidHandlerMoveLid.action
Normal file
@@ -0,0 +1,17 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource lid
|
||||
Resource to
|
||||
geometry_msgs/Point[] intermediate_locations
|
||||
geometry_msgs/Point resource_offset
|
||||
geometry_msgs/Point destination_offset
|
||||
string pickup_direction
|
||||
string drop_direction
|
||||
string get_direction
|
||||
string put_direction
|
||||
float64 pickup_distance_from_top
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
18
unilabos_msgs/action/LiquidHandlerMovePlate.action
Normal file
18
unilabos_msgs/action/LiquidHandlerMovePlate.action
Normal file
@@ -0,0 +1,18 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource plate
|
||||
Resource to
|
||||
geometry_msgs/Point[] intermediate_locations
|
||||
geometry_msgs/Point resource_offset
|
||||
geometry_msgs/Point pickup_offset
|
||||
geometry_msgs/Point destination_offset
|
||||
string pickup_direction
|
||||
string drop_direction
|
||||
string get_direction
|
||||
string put_direction
|
||||
float64 pickup_distance_from_top
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
17
unilabos_msgs/action/LiquidHandlerMoveResource.action
Normal file
17
unilabos_msgs/action/LiquidHandlerMoveResource.action
Normal file
@@ -0,0 +1,17 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource resource
|
||||
geometry_msgs/Point to
|
||||
geometry_msgs/Point[] intermediate_locations
|
||||
geometry_msgs/Point resource_offset
|
||||
geometry_msgs/Point destination_offset
|
||||
float64 pickup_distance_from_top
|
||||
string pickup_direction
|
||||
string drop_direction
|
||||
string get_direction
|
||||
string put_direction
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
10
unilabos_msgs/action/LiquidHandlerPickUpTips.action
Normal file
10
unilabos_msgs/action/LiquidHandlerPickUpTips.action
Normal file
@@ -0,0 +1,10 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource[] tip_spots
|
||||
int32[] use_channels
|
||||
geometry_msgs/Point[] offsets
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
9
unilabos_msgs/action/LiquidHandlerPickUpTips96.action
Normal file
9
unilabos_msgs/action/LiquidHandlerPickUpTips96.action
Normal file
@@ -0,0 +1,9 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource tip_rack
|
||||
geometry_msgs/Point offset
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
9
unilabos_msgs/action/LiquidHandlerReturnTips.action
Normal file
9
unilabos_msgs/action/LiquidHandlerReturnTips.action
Normal file
@@ -0,0 +1,9 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
int32[] use_channels
|
||||
bool allow_nonzero_volume
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
8
unilabos_msgs/action/LiquidHandlerReturnTips96.action
Normal file
8
unilabos_msgs/action/LiquidHandlerReturnTips96.action
Normal file
@@ -0,0 +1,8 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
bool allow_nonzero_volume
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
12
unilabos_msgs/action/LiquidHandlerStamp.action
Normal file
12
unilabos_msgs/action/LiquidHandlerStamp.action
Normal file
@@ -0,0 +1,12 @@
|
||||
# Bio
|
||||
# 请求字段
|
||||
Resource source
|
||||
Resource target
|
||||
float64 volume
|
||||
float64 aspiration_flow_rate
|
||||
float64 dispense_flow_rate
|
||||
---
|
||||
# 结果字段
|
||||
bool success
|
||||
---
|
||||
# 反馈字段
|
||||
11
unilabos_msgs/action/LiquidHandlerTransfer.action
Normal file
11
unilabos_msgs/action/LiquidHandlerTransfer.action
Normal file
@@ -0,0 +1,11 @@
|
||||
# Bio
|
||||
Resource source
|
||||
Resource[] targets
|
||||
float64 source_vol
|
||||
float64[] ratios
|
||||
float64[] target_vols
|
||||
float64 aspiration_flow_rate
|
||||
float64[] dispense_flow_rates
|
||||
---
|
||||
bool success
|
||||
---
|
||||
18
unilabos_msgs/action/PumpTransfer.action
Normal file
18
unilabos_msgs/action/PumpTransfer.action
Normal file
@@ -0,0 +1,18 @@
|
||||
# Organic
|
||||
string from_vessel
|
||||
string to_vessel
|
||||
float64 volume
|
||||
string amount
|
||||
float64 time
|
||||
bool viscous
|
||||
string rinsing_solvent
|
||||
float64 rinsing_volume
|
||||
int32 rinsing_repeats
|
||||
bool solid
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string current_device
|
||||
builtin_interfaces/Duration time_spent
|
||||
builtin_interfaces/Duration time_remaining
|
||||
6
unilabos_msgs/action/SendCmd.action
Normal file
6
unilabos_msgs/action/SendCmd.action
Normal file
@@ -0,0 +1,6 @@
|
||||
# Simple
|
||||
string command
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
21
unilabos_msgs/action/Separate.action
Normal file
21
unilabos_msgs/action/Separate.action
Normal file
@@ -0,0 +1,21 @@
|
||||
# Organic
|
||||
string purpose # 'wash' or 'extract'. 'wash' means that product phase will not be the added solvent phase, 'extract' means product phase will be the added solvent phase. If no solvent is added just use 'extract'.
|
||||
string product_phase # 'top' or 'bottom'. Phase that product will be in.
|
||||
string from_vessel #Contents of from_vessel are transferred to separation_vessel and separation is performed.
|
||||
string separation_vessel # Vessel in which separation of phases will be carried out.
|
||||
string to_vessel # Vessel to send product phase to.
|
||||
string waste_phase_to_vessel # Optional. Vessel to send waste phase to.
|
||||
string solvent # Optional. Solvent to add to separation vessel after contents of from_vessel has been transferred to create two phases.
|
||||
float64 solvent_volume # Optional. Volume of solvent to add.
|
||||
string through # Optional. Solid chemical to send product phase through on way to to_vessel, e.g. 'celite'.
|
||||
int32 repeats # Optional. Number of separations to perform.
|
||||
float64 stir_time # Optional. Time stir for after adding solvent, before separation of phases.
|
||||
float64 stir_speed # Optional. Speed to stir at after adding solvent, before separation of phases.
|
||||
float64 settling_time # Optional. Time
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string current_device
|
||||
builtin_interfaces/Duration time_spent
|
||||
builtin_interfaces/Duration time_remaining
|
||||
8
unilabos_msgs/action/Stir.action
Normal file
8
unilabos_msgs/action/Stir.action
Normal file
@@ -0,0 +1,8 @@
|
||||
# Organic
|
||||
float64 stir_time
|
||||
float64 stir_speed
|
||||
float64 settling_time
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
9
unilabos_msgs/action/WorkStationRun.action
Normal file
9
unilabos_msgs/action/WorkStationRun.action
Normal file
@@ -0,0 +1,9 @@
|
||||
# MobileRobot
|
||||
string wf_name
|
||||
string params
|
||||
Resource resource
|
||||
---
|
||||
bool success
|
||||
---
|
||||
string status
|
||||
string gantt
|
||||
11
unilabos_msgs/msg/Resource.msg
Normal file
11
unilabos_msgs/msg/Resource.msg
Normal file
@@ -0,0 +1,11 @@
|
||||
string id
|
||||
string name
|
||||
string sample_id
|
||||
string[] children
|
||||
string parent
|
||||
string type
|
||||
string category
|
||||
|
||||
geometry_msgs/Pose pose
|
||||
string config
|
||||
string data
|
||||
3
unilabos_msgs/msg/State.msg
Normal file
3
unilabos_msgs/msg/State.msg
Normal file
@@ -0,0 +1,3 @@
|
||||
std_msgs/Header header
|
||||
string state_name
|
||||
uint8 state
|
||||
28
unilabos_msgs/package.xml
Normal file
28
unilabos_msgs/package.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0"?>
|
||||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||
<package format="3">
|
||||
<name>unilabos_msgs</name>
|
||||
<version>0.0.5</version>
|
||||
<description>ROS2 Messages package for unilabos devices</description>
|
||||
<maintainer email="changjh@pku.edu.cn">Junhan Chang</maintainer>
|
||||
<license>MIT</license>
|
||||
|
||||
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||
|
||||
<depend>action_msgs</depend>
|
||||
<depend>std_msgs</depend>
|
||||
<depend>geometry_msgs</depend>
|
||||
|
||||
<build_depend>rosidl_default_generators</build_depend>
|
||||
|
||||
<exec_depend>rosidl_default_runtime</exec_depend>
|
||||
|
||||
<test_depend>ament_lint_auto</test_depend>
|
||||
<test_depend>ament_lint_common</test_depend>
|
||||
|
||||
<member_of_group>rosidl_interface_packages</member_of_group>
|
||||
|
||||
<export>
|
||||
<build_type>ament_cmake</build_type>
|
||||
</export>
|
||||
</package>
|
||||
4
unilabos_msgs/srv/ResourceAdd.srv
Normal file
4
unilabos_msgs/srv/ResourceAdd.srv
Normal file
@@ -0,0 +1,4 @@
|
||||
Resource[] resources
|
||||
---
|
||||
bool success
|
||||
string message
|
||||
4
unilabos_msgs/srv/ResourceDelete.srv
Normal file
4
unilabos_msgs/srv/ResourceDelete.srv
Normal file
@@ -0,0 +1,4 @@
|
||||
string id
|
||||
---
|
||||
bool success
|
||||
string message
|
||||
6
unilabos_msgs/srv/ResourceGet.srv
Normal file
6
unilabos_msgs/srv/ResourceGet.srv
Normal file
@@ -0,0 +1,6 @@
|
||||
string id
|
||||
bool with_children
|
||||
---
|
||||
bool success
|
||||
string message
|
||||
Resource[] resources
|
||||
4
unilabos_msgs/srv/ResourceList.srv
Normal file
4
unilabos_msgs/srv/ResourceList.srv
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
bool success
|
||||
string message
|
||||
Resource[] resources
|
||||
4
unilabos_msgs/srv/ResourceUpdate.srv
Normal file
4
unilabos_msgs/srv/ResourceUpdate.srv
Normal file
@@ -0,0 +1,4 @@
|
||||
Resource[] resources
|
||||
---
|
||||
bool success
|
||||
string message
|
||||
3
unilabos_msgs/srv/SerialCommand.srv
Normal file
3
unilabos_msgs/srv/SerialCommand.srv
Normal file
@@ -0,0 +1,3 @@
|
||||
string command
|
||||
---
|
||||
string response
|
||||
4
unilabos_msgs/srv/Stop.srv
Normal file
4
unilabos_msgs/srv/Stop.srv
Normal file
@@ -0,0 +1,4 @@
|
||||
string device_id
|
||||
string command
|
||||
---
|
||||
bool success
|
||||
Reference in New Issue
Block a user