diff --git a/deploy/dock_ws/src/install/.colcon_install_layout b/deploy/dock_ws/src/install/.colcon_install_layout new file mode 100644 index 0000000..3aad533 --- /dev/null +++ b/deploy/dock_ws/src/install/.colcon_install_layout @@ -0,0 +1 @@ +isolated diff --git a/deploy/dock_ws/src/install/COLCON_IGNORE b/deploy/dock_ws/src/install/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/deploy/dock_ws/src/install/_local_setup_util_ps1.py b/deploy/dock_ws/src/install/_local_setup_util_ps1.py new file mode 100644 index 0000000..83abe63 --- /dev/null +++ b/deploy/dock_ws/src/install/_local_setup_util_ps1.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"' +FORMAT_STR_USE_ENV_VAR = '$env:{name}' +FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"' +FORMAT_STR_REMOVE_LEADING_SEPARATOR = '' +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = '' + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/deploy/dock_ws/src/install/_local_setup_util_sh.py b/deploy/dock_ws/src/install/_local_setup_util_sh.py new file mode 100644 index 0000000..ff31198 --- /dev/null +++ b/deploy/dock_ws/src/install/_local_setup_util_sh.py @@ -0,0 +1,407 @@ +# Copyright 2016-2019 Dirk Thomas +# Licensed under the Apache License, Version 2.0 + +import argparse +from collections import OrderedDict +import os +from pathlib import Path +import sys + + +FORMAT_STR_COMMENT_LINE = '# {comment}' +FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"' +FORMAT_STR_USE_ENV_VAR = '${name}' +FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' +FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' +FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' + +DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate' +DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists' +DSV_TYPE_SET = 'set' +DSV_TYPE_SET_IF_UNSET = 'set-if-unset' +DSV_TYPE_SOURCE = 'source' + + +def main(argv=sys.argv[1:]): # noqa: D103 + parser = argparse.ArgumentParser( + description='Output shell commands for the packages in topological ' + 'order') + parser.add_argument( + 'primary_extension', + help='The file extension of the primary shell') + parser.add_argument( + 'additional_extension', nargs='?', + help='The additional file extension to be considered') + parser.add_argument( + '--merged-install', action='store_true', + help='All install prefixes are merged into a single location') + args = parser.parse_args(argv) + + packages = get_packages(Path(__file__).parent, args.merged_install) + + ordered_packages = order_packages(packages) + for pkg_name in ordered_packages: + if _include_comments(): + print( + FORMAT_STR_COMMENT_LINE.format_map( + {'comment': 'Package: ' + pkg_name})) + prefix = os.path.abspath(os.path.dirname(__file__)) + if not args.merged_install: + prefix = os.path.join(prefix, pkg_name) + for line in get_commands( + pkg_name, prefix, args.primary_extension, + args.additional_extension + ): + print(line) + + for line in _remove_ending_separators(): + print(line) + + +def get_packages(prefix_path, merged_install): + """ + Find packages based on colcon-specific files created during installation. + + :param Path prefix_path: The install prefix path of all packages + :param bool merged_install: The flag if the packages are all installed + directly in the prefix or if each package is installed in a subdirectory + named after the package + :returns: A mapping from the package name to the set of runtime + dependencies + :rtype: dict + """ + packages = {} + # since importing colcon_core isn't feasible here the following constant + # must match colcon_core.location.get_relative_package_index_path() + subdirectory = 'share/colcon-core/packages' + if merged_install: + # return if workspace is empty + if not (prefix_path / subdirectory).is_dir(): + return packages + # find all files in the subdirectory + for p in (prefix_path / subdirectory).iterdir(): + if not p.is_file(): + continue + if p.name.startswith('.'): + continue + add_package_runtime_dependencies(p, packages) + else: + # for each subdirectory look for the package specific file + for p in prefix_path.iterdir(): + if not p.is_dir(): + continue + if p.name.startswith('.'): + continue + p = p / subdirectory / p.name + if p.is_file(): + add_package_runtime_dependencies(p, packages) + + # remove unknown dependencies + pkg_names = set(packages.keys()) + for k in packages.keys(): + packages[k] = {d for d in packages[k] if d in pkg_names} + + return packages + + +def add_package_runtime_dependencies(path, packages): + """ + Check the path and if it exists extract the packages runtime dependencies. + + :param Path path: The resource file containing the runtime dependencies + :param dict packages: A mapping from package names to the sets of runtime + dependencies to add to + """ + content = path.read_text() + dependencies = set(content.split(os.pathsep) if content else []) + packages[path.name] = dependencies + + +def order_packages(packages): + """ + Order packages topologically. + + :param dict packages: A mapping from package name to the set of runtime + dependencies + :returns: The package names + :rtype: list + """ + # select packages with no dependencies in alphabetical order + to_be_ordered = list(packages.keys()) + ordered = [] + while to_be_ordered: + pkg_names_without_deps = [ + name for name in to_be_ordered if not packages[name]] + if not pkg_names_without_deps: + reduce_cycle_set(packages) + raise RuntimeError( + 'Circular dependency between: ' + ', '.join(sorted(packages))) + pkg_names_without_deps.sort() + pkg_name = pkg_names_without_deps[0] + to_be_ordered.remove(pkg_name) + ordered.append(pkg_name) + # remove item from dependency lists + for k in list(packages.keys()): + if pkg_name in packages[k]: + packages[k].remove(pkg_name) + return ordered + + +def reduce_cycle_set(packages): + """ + Reduce the set of packages to the ones part of the circular dependency. + + :param dict packages: A mapping from package name to the set of runtime + dependencies which is modified in place + """ + last_depended = None + while len(packages) > 0: + # get all remaining dependencies + depended = set() + for pkg_name, dependencies in packages.items(): + depended = depended.union(dependencies) + # remove all packages which are not dependent on + for name in list(packages.keys()): + if name not in depended: + del packages[name] + if last_depended: + # if remaining packages haven't changed return them + if last_depended == depended: + return packages.keys() + # otherwise reduce again + last_depended = depended + + +def _include_comments(): + # skipping comment lines when COLCON_TRACE is not set speeds up the + # processing especially on Windows + return bool(os.environ.get('COLCON_TRACE')) + + +def get_commands(pkg_name, prefix, primary_extension, additional_extension): + commands = [] + package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv') + if os.path.exists(package_dsv_path): + commands += process_dsv_file( + package_dsv_path, prefix, primary_extension, additional_extension) + return commands + + +def process_dsv_file( + dsv_path, prefix, primary_extension=None, additional_extension=None +): + commands = [] + if _include_comments(): + commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path})) + with open(dsv_path, 'r') as h: + content = h.read() + lines = content.splitlines() + + basenames = OrderedDict() + for i, line in enumerate(lines): + # skip over empty or whitespace-only lines + if not line.strip(): + continue + # skip over comments + if line.startswith('#'): + continue + try: + type_, remainder = line.split(';', 1) + except ValueError: + raise RuntimeError( + "Line %d in '%s' doesn't contain a semicolon separating the " + 'type from the arguments' % (i + 1, dsv_path)) + if type_ != DSV_TYPE_SOURCE: + # handle non-source lines + try: + commands += handle_dsv_types_except_source( + type_, remainder, prefix) + except RuntimeError as e: + raise RuntimeError( + "Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e + else: + # group remaining source lines by basename + path_without_ext, ext = os.path.splitext(remainder) + if path_without_ext not in basenames: + basenames[path_without_ext] = set() + assert ext.startswith('.') + ext = ext[1:] + if ext in (primary_extension, additional_extension): + basenames[path_without_ext].add(ext) + + # add the dsv extension to each basename if the file exists + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if os.path.exists(basename + '.dsv'): + extensions.add('dsv') + + for basename, extensions in basenames.items(): + if not os.path.isabs(basename): + basename = os.path.join(prefix, basename) + if 'dsv' in extensions: + # process dsv files recursively + commands += process_dsv_file( + basename + '.dsv', prefix, primary_extension=primary_extension, + additional_extension=additional_extension) + elif primary_extension in extensions and len(extensions) == 1: + # source primary-only files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + primary_extension})] + elif additional_extension in extensions: + # source non-primary files + commands += [ + FORMAT_STR_INVOKE_SCRIPT.format_map({ + 'prefix': prefix, + 'script_path': basename + '.' + additional_extension})] + + return commands + + +def handle_dsv_types_except_source(type_, remainder, prefix): + commands = [] + if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET): + try: + env_name, value = remainder.split(';', 1) + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the value') + try_prefixed_value = os.path.join(prefix, value) if value else prefix + if os.path.exists(try_prefixed_value): + value = try_prefixed_value + if type_ == DSV_TYPE_SET: + commands += _set(env_name, value) + elif type_ == DSV_TYPE_SET_IF_UNSET: + commands += _set_if_unset(env_name, value) + else: + assert False + elif type_ in ( + DSV_TYPE_APPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE, + DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS + ): + try: + env_name_and_values = remainder.split(';') + except ValueError: + raise RuntimeError( + "doesn't contain a semicolon separating the environment name " + 'from the values') + env_name = env_name_and_values[0] + values = env_name_and_values[1:] + for value in values: + if not value: + value = prefix + elif not os.path.isabs(value): + value = os.path.join(prefix, value) + if ( + type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and + not os.path.exists(value) + ): + comment = f'skip extending {env_name} with not existing ' \ + f'path: {value}' + if _include_comments(): + commands.append( + FORMAT_STR_COMMENT_LINE.format_map({'comment': comment})) + elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE: + commands += _append_unique_value(env_name, value) + else: + commands += _prepend_unique_value(env_name, value) + else: + raise RuntimeError( + 'contains an unknown environment hook type: ' + type_) + return commands + + +env_state = {} + + +def _append_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # append even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional leading separator + extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': extend + value}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +def _prepend_unique_value(name, value): + global env_state + if name not in env_state: + if os.environ.get(name): + env_state[name] = set(os.environ[name].split(os.pathsep)) + else: + env_state[name] = set() + # prepend even if the variable has not been set yet, in case a shell script sets the + # same variable without the knowledge of this Python script. + # later _remove_ending_separators() will cleanup any unintentional trailing separator + extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value + extend}) + if value not in env_state[name]: + env_state[name].add(value) + else: + if not _include_comments(): + return [] + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +# generate commands for removing prepended underscores +def _remove_ending_separators(): + # do nothing if the shell extension does not implement the logic + if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None: + return [] + + global env_state + commands = [] + for name in env_state: + # skip variables that already had values before this script started prepending + if name in os.environ: + continue + commands += [ + FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}), + FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})] + return commands + + +def _set(name, value): + global env_state + env_state[name] = value + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + return [line] + + +def _set_if_unset(name, value): + global env_state + line = FORMAT_STR_SET_ENV_VAR.format_map( + {'name': name, 'value': value}) + if env_state.get(name, os.environ.get(name)): + line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line}) + return [line] + + +if __name__ == '__main__': # pragma: no cover + try: + rc = main() + except RuntimeError as e: + print(str(e), file=sys.stderr) + rc = 1 + sys.exit(rc) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__builder.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__builder.hpp new file mode 120000 index 0000000..4fefe1d --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__builder.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__builder.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__functions.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__functions.h new file mode 120000 index 0000000..c4a5805 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__functions.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__functions.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_c.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_c.h new file mode 120000 index 0000000..2af4cda --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_c.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_c.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_cpp.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_cpp.hpp new file mode 120000 index 0000000..41fbe44 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_cpp.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_cpp.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_c.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_c.h new file mode 120000 index 0000000..d6e22e8 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_c.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_c.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_cpp.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_cpp.hpp new file mode 120000 index 0000000..5248319 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_cpp.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_cpp/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_cpp.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.h new file mode 120000 index 0000000..e4bee95 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__struct.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.hpp new file mode 120000 index 0000000..3886a5e --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__struct.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__struct.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__traits.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__traits.hpp new file mode 120000 index 0000000..b6c565e --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__traits.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__traits.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.h new file mode 120000 index 0000000..15530c9 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__type_support.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.hpp new file mode 120000 index 0000000..de31664 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_frame__type_support.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__type_support.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__builder.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__builder.hpp new file mode 120000 index 0000000..69403e1 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__builder.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__builder.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__functions.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__functions.h new file mode 120000 index 0000000..4e23a75 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__functions.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__functions.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_c.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_c.h new file mode 120000 index 0000000..ca4545d --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_c.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_c.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_cpp.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_cpp.hpp new file mode 120000 index 0000000..5c519bc --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_cpp.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_cpp.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_c.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_c.h new file mode 120000 index 0000000..af9f84e --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_c.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_c.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_cpp.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_cpp.hpp new file mode 120000 index 0000000..a74c2ec --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_cpp.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_cpp/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_cpp.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.h new file mode 120000 index 0000000..24aa902 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__struct.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.hpp new file mode 120000 index 0000000..0e08596 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__struct.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__struct.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__traits.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__traits.hpp new file mode 120000 index 0000000..be42493 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__traits.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__traits.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.h new file mode 120000 index 0000000..ed06506 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__type_support.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.hpp new file mode 120000 index 0000000..59b659b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/detail/udp_packet__type_support.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__type_support.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_c__visibility_control.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_c__visibility_control.h new file mode 120000 index 0000000..fa17be3 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_c__visibility_control.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/rosidl_generator_c__visibility_control.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_cpp__visibility_control.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_cpp__visibility_control.hpp new file mode 120000 index 0000000..cb6ef3c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_generator_cpp__visibility_control.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/rosidl_generator_cpp__visibility_control.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_c__visibility_control.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_c__visibility_control.h new file mode 120000 index 0000000..59bd9e6 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_c__visibility_control.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_c__visibility_control.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h new file mode 120000 index 0000000..d17ae8f --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_introspection_c__visibility_control.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_introspection_c__visibility_control.h new file mode 120000 index 0000000..f1b7a54 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/rosidl_typesupport_introspection_c__visibility_control.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/rosidl_typesupport_introspection_c__visibility_control.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.h new file mode 120000 index 0000000..bf890f0 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/udp_frame.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.hpp new file mode 120000 index 0000000..9768296 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_frame.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/udp_frame.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.h b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.h new file mode 120000 index 0000000..da97c6c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.h @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/udp_packet.h \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.hpp b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.hpp new file mode 120000 index 0000000..98e64c7 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/include/hesai_ros_driver/msg/udp_packet.hpp @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/udp_packet.hpp \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/lib/hesai_ros_driver/hesai_ros_driver_node b/deploy/dock_ws/src/install/hesai_ros_driver/lib/hesai_ros_driver/hesai_ros_driver_node new file mode 120000 index 0000000..94b56c0 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/lib/hesai_ros_driver/hesai_ros_driver_node @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/hesai_ros_driver_node \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/__init__.py b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/__init__.py new file mode 120000 index 0000000..7e0fe8f --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/__init__.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/__init__.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/__init__.py b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/__init__.py new file mode 120000 index 0000000..22736c5 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/__init__.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/__init__.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_frame.py b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_frame.py new file mode 120000 index 0000000..7765bf3 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_frame.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/_udp_frame.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_packet.py b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_packet.py new file mode 120000 index 0000000..5c6df02 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/lib/python3.8/site-packages/hesai_ros_driver/msg/_udp_packet.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/_udp_packet.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/package_run_dependencies/hesai_ros_driver b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/package_run_dependencies/hesai_ros_driver new file mode 120000 index 0000000..758cb67 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/package_run_dependencies/hesai_ros_driver @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/package_run_dependencies/hesai_ros_driver \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/packages/hesai_ros_driver b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/packages/hesai_ros_driver new file mode 120000 index 0000000..7d25761 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/packages/hesai_ros_driver @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/packages/hesai_ros_driver \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/parent_prefix_path/hesai_ros_driver b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/parent_prefix_path/hesai_ros_driver new file mode 120000 index 0000000..8f75b45 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/parent_prefix_path/hesai_ros_driver @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/parent_prefix_path/hesai_ros_driver \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/rosidl_interfaces/hesai_ros_driver b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/rosidl_interfaces/hesai_ros_driver new file mode 120000 index 0000000..5b3996c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/ament_index/resource_index/rosidl_interfaces/hesai_ros_driver @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/rosidl_interfaces/hesai_ros_driver \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/colcon-core/packages/hesai_ros_driver b/deploy/dock_ws/src/install/hesai_ros_driver/share/colcon-core/packages/hesai_ros_driver new file mode 100644 index 0000000..8583513 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/colcon-core/packages/hesai_ros_driver @@ -0,0 +1 @@ +ament_index_cpp:rclcpp:rclcpp_action:sensor_msgs:std_msgs \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_dependencies-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_dependencies-extras.cmake new file mode 120000 index 0000000..82a37a3 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_dependencies-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_dependencies/ament_cmake_export_dependencies-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_include_directories-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_include_directories-extras.cmake new file mode 120000 index 0000000..b8bef99 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_include_directories-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_include_directories/ament_cmake_export_include_directories-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_libraries-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_libraries-extras.cmake new file mode 120000 index 0000000..4d9cc7a --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_libraries-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_libraries/ament_cmake_export_libraries-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_targets-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_targets-extras.cmake new file mode 120000 index 0000000..615fad9 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/ament_cmake_export_targets-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_targets/ament_cmake_export_targets-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig-version.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig-version.cmake new file mode 120000 index 0000000..8109633 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig-version.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_core/hesai_ros_driverConfig-version.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig.cmake new file mode 120000 index 0000000..90b5db8 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driverConfig.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_core/hesai_ros_driverConfig.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport-release.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport-release.cmake new file mode 100644 index 0000000..59e9d3c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c" for configuration "Release" +set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_generator_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c PROPERTIES + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_generator_c.so" + IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_generator_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_generator_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_generator_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_generator_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport.cmake new file mode 100644 index 0000000..b968002 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_generator_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_generator_c +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c SHARED IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rcutils::rcutils" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_generator_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cppExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cppExport.cmake new file mode 100644 index 0000000..2e50502 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_generator_cppExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp INTERFACE IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;rosidl_runtime_cpp::rosidl_runtime_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_generator_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport-release.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport-release.cmake new file mode 100644 index 0000000..400bfc5 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c" for configuration "Release" +set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c PROPERTIES + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_c.so" + IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport.cmake new file mode 100644 index 0000000..9b9c57b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c SHARED IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_c::rosidl_typesupport_c;rosidl_typesupport_interface::rosidl_typesupport_interface;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport-release.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport-release.cmake new file mode 100644 index 0000000..8f69c82 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp" for configuration "Release" +set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp PROPERTIES + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_cpp.so" + IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_cpp.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_cpp.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport.cmake new file mode 100644 index 0000000..ea35ff1 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_cppExport.cmake @@ -0,0 +1,99 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp SHARED IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" + INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_runtime_cpp::rosidl_runtime_cpp;rosidl_typesupport_cpp::rosidl_typesupport_cpp;rosidl_typesupport_interface::rosidl_typesupport_interface;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport-release.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport-release.cmake new file mode 100644 index 0000000..4a8d488 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c" for configuration "Release" +set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c PROPERTIES + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_c.so" + IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_introspection_c.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_c.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport.cmake new file mode 100644 index 0000000..624fcf7 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cExport.cmake @@ -0,0 +1,114 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c SHARED IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c PROPERTIES + INTERFACE_LINK_LIBRARIES "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c;rosidl_typesupport_introspection_c::rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_c" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_introspection_cExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# Make sure the targets which have been exported in some other +# export set exist. +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) +foreach(_target "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c" ) + if(NOT TARGET "${_target}" ) + set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}") + endif() +endforeach() + +if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + if(CMAKE_FIND_PACKAGE_NAME) + set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE) + set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + else() + message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}") + endif() +endif() +unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport-release.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport-release.cmake new file mode 100644 index 0000000..54f16de --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport-release.cmake @@ -0,0 +1,19 @@ +#---------------------------------------------------------------- +# Generated CMake target import file for configuration "Release". +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp" for configuration "Release" +set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp PROPERTIES + IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so" + IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so" + ) + +list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp ) +list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so" ) + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport.cmake new file mode 100644 index 0000000..6da39fe --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/hesai_ros_driver__rosidl_typesupport_introspection_cppExport.cmake @@ -0,0 +1,98 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp +add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp SHARED IMPORTED) + +set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp PROPERTIES + INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rosidl_typesupport_introspection_cpp::rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp" +) + +if(CMAKE_VERSION VERSION_LESS 2.8.12) + message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_introspection_cppExport-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake-extras.cmake new file mode 120000 index 0000000..b657b09 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake new file mode 120000 index 0000000..0428424 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake new file mode 120000 index 0000000..94ea7fd --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/cmake/rosidl_cmake_export_typesupport_targets-extras.cmake @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake_export_typesupport_targets-extras.cmake \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.dsv new file mode 120000 index 0000000..390744c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.dsv @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/ament_prefix_path.dsv \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.sh new file mode 120000 index 0000000..896b1cd --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/ament_prefix_path.sh @@ -0,0 +1 @@ +/opt/ros/foxy/share/ament_cmake_core/cmake/environment_hooks/environment/ament_prefix_path.sh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.dsv new file mode 120000 index 0000000..018acb5 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.dsv @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/library_path.dsv \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.sh new file mode 120000 index 0000000..71670b6 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/library_path.sh @@ -0,0 +1 @@ +/opt/ros/foxy/lib/python3.8/site-packages/ament_package/template/environment_hook/library_path.sh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.dsv new file mode 120000 index 0000000..c3a6987 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.dsv @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/path.dsv \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.sh new file mode 120000 index 0000000..0870ca2 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/path.sh @@ -0,0 +1 @@ +/opt/ros/foxy/share/ament_cmake_core/cmake/environment_hooks/environment/path.sh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.dsv new file mode 120000 index 0000000..bbde511 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.dsv @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/pythonpath.dsv \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.sh new file mode 120000 index 0000000..eaec01a --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/environment/pythonpath.sh @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/pythonpath.sh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.dsv new file mode 100644 index 0000000..e119f32 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;CMAKE_PREFIX_PATH; diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.ps1 b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.ps1 new file mode 100644 index 0000000..d03facc --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value CMAKE_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.sh new file mode 100644 index 0000000..a948e68 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/cmake_prefix_path.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value CMAKE_PREFIX_PATH "$COLCON_CURRENT_PREFIX" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.dsv new file mode 100644 index 0000000..89bec93 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;LD_LIBRARY_PATH;lib diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.ps1 b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.ps1 new file mode 100644 index 0000000..f6df601 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value LD_LIBRARY_PATH "$env:COLCON_CURRENT_PREFIX\lib" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.sh new file mode 100644 index 0000000..ca3c102 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/ld_library_path_lib.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value LD_LIBRARY_PATH "$COLCON_CURRENT_PREFIX/lib" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.dsv new file mode 100644 index 0000000..84dbc4c --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.dsv @@ -0,0 +1 @@ +prepend-non-duplicate;PYTHONPATH;lib/python3.8/site-packages diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.ps1 b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.ps1 new file mode 100644 index 0000000..12877ef --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.ps1 @@ -0,0 +1,3 @@ +# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em + +colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.8/site-packages" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.sh new file mode 100644 index 0000000..ed8efd9 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/hook/pythonpath.sh @@ -0,0 +1,3 @@ +# generated from colcon_core/shell/template/hook_prepend_value.sh.em + +_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.8/site-packages" diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/dashing_start.py b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/dashing_start.py new file mode 120000 index 0000000..61ed7e3 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/dashing_start.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/dashing_start.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.launch b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.launch new file mode 120000 index 0000000..1be8f8b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.launch @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/start.launch \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.py b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.py new file mode 120000 index 0000000..3706826 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/launch/start.py @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/start.py \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.bash b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.bash new file mode 120000 index 0000000..ab76e18 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.bash @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.bash \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.dsv new file mode 120000 index 0000000..47ddaa4 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.dsv @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.dsv \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.sh new file mode 120000 index 0000000..df8a1de --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.sh @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.sh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.zsh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.zsh new file mode 120000 index 0000000..de07639 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/local_setup.zsh @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.zsh \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpFrame.idl b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpFrame.idl new file mode 120000 index 0000000..6671d2a --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpFrame.idl @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_adapter/hesai_ros_driver/msg/UdpFrame.idl \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpPacket.idl b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpPacket.idl new file mode 120000 index 0000000..0c0edf7 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg/UdpPacket.idl @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_adapter/hesai_ros_driver/msg/UdpPacket.idl \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpFrame.msg b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpFrame.msg new file mode 120000 index 0000000..6998846 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpFrame.msg @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/msg/msg_ros2/UdpFrame.msg \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpPacket.msg b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpPacket.msg new file mode 120000 index 0000000..abb812f --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/msg_ros2/UdpPacket.msg @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/msg/msg_ros2/UdpPacket.msg \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.bash b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.bash new file mode 100644 index 0000000..74333c9 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.bash @@ -0,0 +1,39 @@ +# generated from colcon_bash/shell/template/package.bash.em + +# This script extends the environment for this package. + +# a bash script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + # the prefix is two levels up from the package specific share directory + _colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)" +else + _colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_bash_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source sh script of this package +_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/hesai_ros_driver/package.sh" + +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts +COLCON_CURRENT_PREFIX="$_colcon_package_bash_COLCON_CURRENT_PREFIX" + +# source bash hooks +_colcon_package_bash_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.bash" + +unset COLCON_CURRENT_PREFIX + +unset _colcon_package_bash_source_script +unset _colcon_package_bash_COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.dsv b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.dsv new file mode 100644 index 0000000..3975b7b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.dsv @@ -0,0 +1,14 @@ +source;share/hesai_ros_driver/hook/cmake_prefix_path.ps1 +source;share/hesai_ros_driver/hook/cmake_prefix_path.dsv +source;share/hesai_ros_driver/hook/cmake_prefix_path.sh +source;share/hesai_ros_driver/hook/ld_library_path_lib.ps1 +source;share/hesai_ros_driver/hook/ld_library_path_lib.dsv +source;share/hesai_ros_driver/hook/ld_library_path_lib.sh +source;share/hesai_ros_driver/hook/pythonpath.ps1 +source;share/hesai_ros_driver/hook/pythonpath.dsv +source;share/hesai_ros_driver/hook/pythonpath.sh +source;share/hesai_ros_driver/local_setup.bash +source;share/hesai_ros_driver/local_setup.dsv +source;share/hesai_ros_driver/local_setup.ps1 +source;share/hesai_ros_driver/local_setup.sh +source;share/hesai_ros_driver/local_setup.zsh diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.ps1 b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.ps1 new file mode 100644 index 0000000..63a70f7 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.ps1 @@ -0,0 +1,118 @@ +# generated from colcon_powershell/shell/template/package.ps1.em + +# function to append a value to a variable +# which uses colons as separators +# duplicates as well as leading separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +function colcon_append_unique_value { + param ( + $_listname, + $_value + ) + + # get values from variable + if (Test-Path Env:$_listname) { + $_values=(Get-Item env:$_listname).Value + } else { + $_values="" + } + $_duplicate="" + # start with no values + $_all_values="" + # iterate over existing values in the variable + if ($_values) { + $_values.Split(";") | ForEach { + # not an empty string + if ($_) { + # not a duplicate of _value + if ($_ -eq $_value) { + $_duplicate="1" + } + if ($_all_values) { + $_all_values="${_all_values};$_" + } else { + $_all_values="$_" + } + } + } + } + # append only non-duplicates + if (!$_duplicate) { + # avoid leading separator + if ($_all_values) { + $_all_values="${_all_values};${_value}" + } else { + $_all_values="${_value}" + } + } + + # export the updated variable + Set-Item env:\$_listname -Value "$_all_values" +} + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +function colcon_prepend_unique_value { + param ( + $_listname, + $_value + ) + + # get values from variable + if (Test-Path Env:$_listname) { + $_values=(Get-Item env:$_listname).Value + } else { + $_values="" + } + # start with the new value + $_all_values="$_value" + # iterate over existing values in the variable + if ($_values) { + $_values.Split(";") | ForEach { + # not an empty string + if ($_) { + # not a duplicate of _value + if ($_ -ne $_value) { + # keep non-duplicate values + $_all_values="${_all_values};$_" + } + } + } + } + # export the updated variable + Set-Item env:\$_listname -Value "$_all_values" +} + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +function colcon_package_source_powershell_script { + param ( + $_colcon_package_source_powershell_script + ) + # source script with conditional trace output + if (Test-Path $_colcon_package_source_powershell_script) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_package_source_powershell_script'" + } + . "$_colcon_package_source_powershell_script" + } else { + Write-Error "not found: '$_colcon_package_source_powershell_script'" + } +} + + +# a powershell script is able to determine its own path +# the prefix is two levels up from the package specific share directory +$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName + +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/cmake_prefix_path.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/ld_library_path_lib.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/pythonpath.ps1" +colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/local_setup.ps1" + +Remove-Item Env:\COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.sh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.sh new file mode 100644 index 0000000..ee6352f --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.sh @@ -0,0 +1,89 @@ +# generated from colcon_core/shell/template/package.sh.em + +# This script extends the environment for this package. + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prepend_unique_value_IFS=$IFS + IFS=":" + # start with the new value + _all_values="$_value" + # workaround SH_WORD_SPLIT not being set in zsh + if [ "$(command -v colcon_zsh_convert_to_array)" ]; then + colcon_zsh_convert_to_array _values + fi + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + # restore the field separator + IFS=$_colcon_prepend_unique_value_IFS + unset _colcon_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/install/hesai_ros_driver" +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_package_sh_COLCON_CURRENT_PREFIX + return 1 + fi + COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX" +fi +unset _colcon_package_sh_COLCON_CURRENT_PREFIX + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source sh hooks +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/cmake_prefix_path.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/ld_library_path_lib.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/pythonpath.sh" +_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.sh" + +unset _colcon_package_sh_source_script +unset COLCON_CURRENT_PREFIX + +# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.xml b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.xml new file mode 120000 index 0000000..6e95f0b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.xml @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/package.xml \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.zsh b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.zsh new file mode 100644 index 0000000..7af0f5b --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/package.zsh @@ -0,0 +1,50 @@ +# generated from colcon_zsh/shell/template/package.zsh.em + +# This script extends the environment for this package. + +# a zsh script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + # the prefix is two levels up from the package specific share directory + _colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)" +else + _colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +# additional arguments: arguments to the script +_colcon_package_zsh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$@" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# function to convert array-like strings into arrays +# to workaround SH_WORD_SPLIT not being set +colcon_zsh_convert_to_array() { + local _listname=$1 + local _dollar="$" + local _split="{=" + local _to_array="(\"$_dollar$_split$_listname}\")" + eval $_listname=$_to_array +} + +# source sh script of this package +_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/hesai_ros_driver/package.sh" +unset convert_zsh_to_array + +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts +COLCON_CURRENT_PREFIX="$_colcon_package_zsh_COLCON_CURRENT_PREFIX" + +# source zsh hooks +_colcon_package_zsh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.zsh" + +unset COLCON_CURRENT_PREFIX + +unset _colcon_package_zsh_source_script +unset _colcon_package_zsh_COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz.rviz b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz.rviz new file mode 120000 index 0000000..9b041a7 --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz.rviz @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/rviz/rviz.rviz \ No newline at end of file diff --git a/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz2.rviz b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz2.rviz new file mode 120000 index 0000000..a2826ff --- /dev/null +++ b/deploy/dock_ws/src/install/hesai_ros_driver/share/hesai_ros_driver/rviz/rviz2.rviz @@ -0,0 +1 @@ +/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/rviz/rviz2.rviz \ No newline at end of file diff --git a/deploy/dock_ws/src/install/local_setup.bash b/deploy/dock_ws/src/install/local_setup.bash new file mode 100644 index 0000000..03f0025 --- /dev/null +++ b/deploy/dock_ws/src/install/local_setup.bash @@ -0,0 +1,121 @@ +# generated from colcon_bash/shell/template/prefix.bash.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a bash script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +else + _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_bash_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_bash_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_bash_prepend_unique_value_IFS" + unset _colcon_prefix_bash_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_bash_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/local_setup.ps1 b/deploy/dock_ws/src/install/local_setup.ps1 new file mode 100644 index 0000000..6f68c8d --- /dev/null +++ b/deploy/dock_ws/src/install/local_setup.ps1 @@ -0,0 +1,55 @@ +# generated from colcon_powershell/shell/template/prefix.ps1.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# check environment variable for custom Python executable +if ($env:COLCON_PYTHON_EXECUTABLE) { + if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) { + echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist" + exit 1 + } + $_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE" +} else { + # use the Python executable known at configure time + $_colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) { + if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) { + echo "error: unable to find python3 executable" + exit 1 + } + $_colcon_python_executable="python3" + } +} + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_powershell_source_script { + param ( + $_colcon_prefix_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_powershell_source_script_param'" + } + . "$_colcon_prefix_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'" + } +} + +# get all commands in topological order +$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1 + +# execute all commands in topological order +if ($env:COLCON_TRACE) { + echo "Execute generated script:" + echo "<<<" + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output + echo ">>>" +} +if ($_colcon_ordered_commands) { + $_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression +} diff --git a/deploy/dock_ws/src/install/local_setup.sh b/deploy/dock_ws/src/install/local_setup.sh new file mode 100644 index 0000000..c5cf95d --- /dev/null +++ b/deploy/dock_ws/src/install/local_setup.sh @@ -0,0 +1,137 @@ +# generated from colcon_core/shell/template/prefix.sh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/install" +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX + return 1 + fi +else + _colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_sh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_sh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_sh_prepend_unique_value_IFS" + unset _colcon_prefix_sh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_sh_prepend_unique_value + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "_colcon_prefix_sh_source_script() { + if [ -f \"\$1\" ]; then + if [ -n \"\$COLCON_TRACE\" ]; then + echo \"# . \\\"\$1\\\"\" + fi + . \"\$1\" + else + echo \"not found: \\\"\$1\\\"\" 1>&2 + fi + }" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/local_setup.zsh b/deploy/dock_ws/src/install/local_setup.zsh new file mode 100644 index 0000000..b648710 --- /dev/null +++ b/deploy/dock_ws/src/install/local_setup.zsh @@ -0,0 +1,134 @@ +# generated from colcon_zsh/shell/template/prefix.zsh.em + +# This script extends the environment with all packages contained in this +# prefix path. + +# a zsh script is able to determine its own path if necessary +if [ -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +else + _colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +fi + +# function to convert array-like strings into arrays +# to workaround SH_WORD_SPLIT not being set +_colcon_prefix_zsh_convert_to_array() { + local _listname=$1 + local _dollar="$" + local _split="{=" + local _to_array="(\"$_dollar$_split$_listname}\")" + eval $_listname=$_to_array +} + +# function to prepend a value to a variable +# which uses colons as separators +# duplicates as well as trailing separators are avoided +# first argument: the name of the result variable +# second argument: the value to be prepended +_colcon_prefix_zsh_prepend_unique_value() { + # arguments + _listname="$1" + _value="$2" + + # get values from variable + eval _values=\"\$$_listname\" + # backup the field separator + _colcon_prefix_zsh_prepend_unique_value_IFS="$IFS" + IFS=":" + # start with the new value + _all_values="$_value" + _contained_value="" + # workaround SH_WORD_SPLIT not being set + _colcon_prefix_zsh_convert_to_array _values + # iterate over existing values in the variable + for _item in $_values; do + # ignore empty strings + if [ -z "$_item" ]; then + continue + fi + # ignore duplicates of _value + if [ "$_item" = "$_value" ]; then + _contained_value=1 + continue + fi + # keep non-duplicate values + _all_values="$_all_values:$_item" + done + unset _item + if [ -z "$_contained_value" ]; then + if [ -n "$COLCON_TRACE" ]; then + if [ "$_all_values" = "$_value" ]; then + echo "export $_listname=$_value" + else + echo "export $_listname=$_value:\$$_listname" + fi + fi + fi + unset _contained_value + # restore the field separator + IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS" + unset _colcon_prefix_zsh_prepend_unique_value_IFS + # export the updated variable + eval export $_listname=\"$_all_values\" + unset _all_values + unset _values + + unset _value + unset _listname +} + +# add this prefix to the COLCON_PREFIX_PATH +_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX" +unset _colcon_prefix_zsh_prepend_unique_value +unset _colcon_prefix_zsh_convert_to_array + +# check environment variable for custom Python executable +if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then + if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then + echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist" + return 1 + fi + _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE" +else + # try the Python executable known at configure time + _colcon_python_executable="/usr/bin/python3" + # if it doesn't exist try a fall back + if [ ! -f "$_colcon_python_executable" ]; then + if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then + echo "error: unable to find python3 executable" + return 1 + fi + _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"` + fi +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# get all commands in topological order +_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)" +unset _colcon_python_executable +if [ -n "$COLCON_TRACE" ]; then + echo "$(declare -f _colcon_prefix_sh_source_script)" + echo "# Execute generated script:" + echo "# <<<" + echo "${_colcon_ordered_commands}" + echo "# >>>" + echo "unset _colcon_prefix_sh_source_script" +fi +eval "${_colcon_ordered_commands}" +unset _colcon_ordered_commands + +unset _colcon_prefix_sh_source_script + +unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/setup.bash b/deploy/dock_ws/src/install/setup.bash new file mode 100644 index 0000000..00edbb2 --- /dev/null +++ b/deploy/dock_ws/src/install/setup.bash @@ -0,0 +1,37 @@ +# generated from colcon_bash/shell/template/prefix_chain.bash.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_bash_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/foxy" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/install" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/unitree_ros2/cyclonedds_ws/install" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)" +_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_bash_source_script diff --git a/deploy/dock_ws/src/install/setup.ps1 b/deploy/dock_ws/src/install/setup.ps1 new file mode 100644 index 0000000..281a9ba --- /dev/null +++ b/deploy/dock_ws/src/install/setup.ps1 @@ -0,0 +1,31 @@ +# generated from colcon_powershell/shell/template/prefix_chain.ps1.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +function _colcon_prefix_chain_powershell_source_script { + param ( + $_colcon_prefix_chain_powershell_source_script_param + ) + # source script with conditional trace output + if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) { + if ($env:COLCON_TRACE) { + echo ". '$_colcon_prefix_chain_powershell_source_script_param'" + } + . "$_colcon_prefix_chain_powershell_source_script_param" + } else { + Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'" + } +} + +# source chained prefixes +_colcon_prefix_chain_powershell_source_script "/opt/ros/foxy\local_setup.ps1" +_colcon_prefix_chain_powershell_source_script "/home/unitree/locomotion/Go2Py/deploy/dock_ws/install\local_setup.ps1" +_colcon_prefix_chain_powershell_source_script "/home/unitree/locomotion/unitree_ros2/cyclonedds_ws/install\local_setup.ps1" + +# source this prefix +$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent) +_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1" diff --git a/deploy/dock_ws/src/install/setup.sh b/deploy/dock_ws/src/install/setup.sh new file mode 100644 index 0000000..fa4139f --- /dev/null +++ b/deploy/dock_ws/src/install/setup.sh @@ -0,0 +1,53 @@ +# generated from colcon_core/shell/template/prefix_chain.sh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# since a plain shell script can't determine its own path when being sourced +# either use the provided COLCON_CURRENT_PREFIX +# or fall back to the build time prefix (if it exists) +_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/install +if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then + _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX" +elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then + echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2 + unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX + return 1 +fi + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_sh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/foxy" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/install" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/unitree_ros2/cyclonedds_ws/install" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script +COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" +_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh" + +unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_sh_source_script +unset COLCON_CURRENT_PREFIX diff --git a/deploy/dock_ws/src/install/setup.zsh b/deploy/dock_ws/src/install/setup.zsh new file mode 100644 index 0000000..23d0d38 --- /dev/null +++ b/deploy/dock_ws/src/install/setup.zsh @@ -0,0 +1,37 @@ +# generated from colcon_zsh/shell/template/prefix_chain.zsh.em + +# This script extends the environment with the environment of other prefix +# paths which were sourced when this file was generated as well as all packages +# contained in this prefix path. + +# function to source another script with conditional trace output +# first argument: the path of the script +_colcon_prefix_chain_zsh_source_script() { + if [ -f "$1" ]; then + if [ -n "$COLCON_TRACE" ]; then + echo "# . \"$1\"" + fi + . "$1" + else + echo "not found: \"$1\"" 1>&2 + fi +} + +# source chained prefixes +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/opt/ros/foxy" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/install" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="/home/unitree/locomotion/unitree_ros2/cyclonedds_ws/install" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +# source this prefix +# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script +COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)" +_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh" + +unset COLCON_CURRENT_PREFIX +unset _colcon_prefix_chain_zsh_source_script diff --git a/deploy/dock_ws/src/lidar_node/CMakeLists.txt b/deploy/dock_ws/src/lidar_node/CMakeLists.txt index db19153..1501412 100644 --- a/deploy/dock_ws/src/lidar_node/CMakeLists.txt +++ b/deploy/dock_ws/src/lidar_node/CMakeLists.txt @@ -146,7 +146,8 @@ add_subdirectory(src/driver/HesaiLidar_SDK_2.0) find_package(CUDA) -if(CUDA_FOUND) +if(OFF) +# if(CUDA_FOUND) message(=============================================================) message("-- CUDA Found. CUDA Support is turned On.") diff --git a/deploy/dock_ws/src/lidar_node/node/hesai_ros_driver_node.cc b/deploy/dock_ws/src/lidar_node/node/hesai_ros_driver_node.cc index 1078279..84ec9ff 100644 --- a/deploy/dock_ws/src/lidar_node/node/hesai_ros_driver_node.cc +++ b/deploy/dock_ws/src/lidar_node/node/hesai_ros_driver_node.cc @@ -100,8 +100,34 @@ int main(int argc, char** argv) ros::MultiThreadedSpinner spinner(2); spinner.spin(); #elif ROS2_FOUND +std::cout << "Start of here..."; + using namespace std::chrono; std::unique_lock lck(g_mtx); - g_cv.wait(lck); + while(true) + { + auto timeout = steady_clock::now() + milliseconds(10); + // Wait with timeout + if (g_cv.wait_until(lck, timeout) == std::cv_status::timeout) { + // Handle timeout logic here + // std::cout << "Timeout occurred after 10ms." << std::endl; + // std::cout << (int)(demo_ptr->sources_driver_[0]->publish_pointcloud_flag) << std::endl; + for(int i=0; isources_driver_.size(); i++) + { + if(demo_ptr->sources_driver_[i]->publish_pointcloud_flag) + { + demo_ptr->sources_driver_[i]->publish_pointcloud_flag=false; + demo_ptr->sources_driver_[i]->publishPointcloud(); + } + } + + } else { + // Continue with normal processing as the condition variable was signaled + // ... + std::cout << "Condition variable was set succesffuly" << std::endl; + break; + } + } + // g_cv.wait(lck); #endif return 0; diff --git a/deploy/dock_ws/src/lidar_node/src/manager/node_manager.h b/deploy/dock_ws/src/lidar_node/src/manager/node_manager.h index 1000980..d14a950 100644 --- a/deploy/dock_ws/src/lidar_node/src/manager/node_manager.h +++ b/deploy/dock_ws/src/lidar_node/src/manager/node_manager.h @@ -51,7 +51,7 @@ public: ~NodeManager(); NodeManager() = default; -private: +// private: std::vector sources_driver_; }; diff --git a/deploy/dock_ws/src/lidar_node/src/manager/source_driver_ros2.hpp b/deploy/dock_ws/src/lidar_node/src/manager/source_driver_ros2.hpp index 43324f9..127f7e7 100644 --- a/deploy/dock_ws/src/lidar_node/src/manager/source_driver_ros2.hpp +++ b/deploy/dock_ws/src/lidar_node/src/manager/source_driver_ros2.hpp @@ -39,6 +39,7 @@ #include #include #include +#include #ifdef __CUDACC__ #include "hesai_lidar_sdk_gpu.cuh" #else @@ -58,6 +59,9 @@ public: SourceDriver(SourceType src_type) {}; void SpinRos2(){rclcpp::spin(this->node_ptr_);} std::shared_ptr node_ptr_; + LidarDecodedFrame pointcloud_; + void publishPointcloud(void); + bool publish_pointcloud_flag; protected: // Save packets subscribed by 'ros_recv_packet_topic' void RecievePacket(const hesai_ros_driver::msg::UdpFrame::SharedPtr msg); @@ -85,6 +89,7 @@ protected: inline void SourceDriver::Init(const YAML::Node& config) { + publish_pointcloud_flag = false; YAML::Node driver_config = YamlSubNodeAbort(config, "driver"); DriverParam driver_param; // input related @@ -124,13 +129,13 @@ inline void SourceDriver::Init(const YAML::Node& config) if (send_point_cloud_ros) { std::string ros_send_point_topic; YamlRead(config["ros"], "ros_send_point_cloud_topic", ros_send_point_topic, "hesai_points"); - pub_ = node_ptr_->create_publisher(ros_send_point_topic, 100); + pub_ = node_ptr_->create_publisher(ros_send_point_topic, 1); } if (send_packet_ros && driver_param.input_param.source_type != DATA_FROM_ROS_PACKET) { std::string ros_send_packet_topic; YamlRead(config["ros"], "ros_send_packet_topic", ros_send_packet_topic, "hesai_packets"); - pkt_pub_ = node_ptr_->create_publisher(ros_send_packet_topic, 10); + pkt_pub_ = node_ptr_->create_publisher(ros_send_packet_topic, 1); } if (driver_param.input_param.source_type == DATA_FROM_ROS_PACKET) { @@ -180,8 +185,15 @@ inline void SourceDriver::SendPacket(const UdpFrame_t& msg, double timestamp) } inline void SourceDriver::SendPointCloud(const LidarDecodedFrame& msg) +{ + pointcloud_ = msg; + publish_pointcloud_flag = true; + // pub_->publish(ToRosMsg(msg, frame_id_)); +} + +inline void SourceDriver::publishPointcloud(void) { - pub_->publish(ToRosMsg(msg, frame_id_)); + pub_->publish(ToRosMsg(pointcloud_, frame_id_)); } inline sensor_msgs::msg::PointCloud2 SourceDriver::ToRosMsg(const LidarDecodedFrame& frame, const std::string& frame_id) diff --git a/deploy/dock_ws/src/log/COLCON_IGNORE b/deploy/dock_ws/src/log/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/deploy/dock_ws/src/log/latest b/deploy/dock_ws/src/log/latest new file mode 120000 index 0000000..b57d247 --- /dev/null +++ b/deploy/dock_ws/src/log/latest @@ -0,0 +1 @@ +latest_build \ No newline at end of file diff --git a/deploy/dock_ws/src/log/latest_build b/deploy/dock_ws/src/log/latest_build new file mode 120000 index 0000000..758ae2f --- /dev/null +++ b/deploy/dock_ws/src/log/latest_build @@ -0,0 +1 @@ +build_2024-02-11_12-18-27 \ No newline at end of file diff --git a/deploy/robot_ws/src/go2py_node/src/bridge.cpp b/deploy/robot_ws/src/go2py_node/src/bridge.cpp index 4860cba..1288dd5 100644 --- a/deploy/robot_ws/src/go2py_node/src/bridge.cpp +++ b/deploy/robot_ws/src/go2py_node/src/bridge.cpp @@ -155,10 +155,10 @@ void Custom::lowstate_callback(unitree_go::msg::LowState::SharedPtr data) joint_state.name.push_back("RL_thigh_joint"); joint_state.name.push_back("RL_calf_joint"); // add foot force joint state for contact detection - joint_state.name.push_back("FR_foot_force"); - joint_state.name.push_back("FL_foot_force"); - joint_state.name.push_back("RR_foot_force"); - joint_state.name.push_back("RL_foot_force"); + //joint_state.name.push_back("FR_foot_force"); + //joint_state.name.push_back("FL_foot_force"); + //joint_state.name.push_back("RR_foot_force"); + //joint_state.name.push_back("RL_foot_force"); for(int i=0; i<12; i++) { @@ -167,10 +167,12 @@ void Custom::lowstate_callback(unitree_go::msg::LowState::SharedPtr data) joint_state.effort.push_back(data->motor_state[i].tau_est); } // use the last four joint_state.position to store the foot force + /* for(int i=0; i<4; i++) { joint_state.effort.push_back(data->foot_force[i]); } + */ pub_joint->publish(joint_state); pub_imu->publish(imu); } @@ -254,4 +256,4 @@ int main(int argc, char **argv) rclcpp::spin(std::make_shared()); // Run ROS2 node which is make share with low_state_suber class rclcpp::shutdown(); // Exit return 0; -} \ No newline at end of file +}