Add uaspire_ground
This commit is contained in:
parent
74f6c2f631
commit
ad7b6b351e
1
src/uaspire_ground/.gitignore
vendored
Normal file
1
src/uaspire_ground/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/node_modules
|
40
src/uaspire_ground/CMakeLists.txt
Normal file
40
src/uaspire_ground/CMakeLists.txt
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# CMakeLists.txt file to configure build of uaspire_ground
|
||||||
|
|
||||||
|
# Set minimum version of CMake required to build
|
||||||
|
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
|
|
||||||
|
# Find ament meta build system
|
||||||
|
find_package(ament_cmake REQUIRED)
|
||||||
|
|
||||||
|
# Create uaspire_ground project
|
||||||
|
project(uaspire_ground
|
||||||
|
DESCRIPTION "UASPIRE Ground"
|
||||||
|
LANGUAGES)
|
||||||
|
|
||||||
|
# Find required packages
|
||||||
|
find_package(uaspire_msgs REQUIRED)
|
||||||
|
find_package(Node REQUIRED)
|
||||||
|
find_package(Npm REQUIRED)
|
||||||
|
|
||||||
|
# Create targets and add target dependencies
|
||||||
|
add_custom_target(build_ground ALL
|
||||||
|
COMMENT "Build ground station"
|
||||||
|
COMMAND ${NPM_EXECUTABLE} install
|
||||||
|
USES_TERMINAL
|
||||||
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||||
|
|
||||||
|
# Install files to correct locations
|
||||||
|
install(CODE "
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${NPM_EXECUTABLE} install --prefix=${CMAKE_INSTALL_PREFIX} -g
|
||||||
|
RESULT_VARIABLE install_result
|
||||||
|
WORKING_DIRECTORY \"${CMAKE_SOURCE_DIR}\"
|
||||||
|
)
|
||||||
|
if (NOT install_result EQUAL 0)
|
||||||
|
message(FATAL_ERROR \"Error installing to prefix\")
|
||||||
|
endif()
|
||||||
|
")
|
||||||
|
|
||||||
|
ament_package()
|
13
src/uaspire_ground/build.js
Normal file
13
src/uaspire_ground/build.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
const rosidl_gen = require("rclnodejs/rosidl_gen");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const workspacePath = path.resolve(__dirname, "..", "..");
|
||||||
|
|
||||||
|
console.log(`Generating ROS NodeJS messages in workspace (${workspacePath})`)
|
||||||
|
rosidl_gen.generateInPath(workspacePath)
|
||||||
|
.then(() => {
|
||||||
|
console.log("Generated ROS NodeJS messages")
|
||||||
|
}, (err) => {
|
||||||
|
console.error("Error generating ROS NodeJS messages: ", err);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
37
src/uaspire_ground/cmake/FindNode.cmake
Normal file
37
src/uaspire_ground/cmake/FindNode.cmake
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
if (Node_FOUND)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_program (NODEJS_EXECUTABLE NAMES node nodejs
|
||||||
|
HINTS
|
||||||
|
${NODE_DIR} $ENV{NODE_DIR}
|
||||||
|
PATH_SUFFIXES bin
|
||||||
|
DOC "Node.js interpreter")
|
||||||
|
|
||||||
|
include (FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
|
if (NODEJS_EXECUTABLE)
|
||||||
|
execute_process(COMMAND ${NODEJS_EXECUTABLE} --version
|
||||||
|
OUTPUT_VARIABLE _VERSION
|
||||||
|
RESULT_VARIABLE _NODE_VERSION_RESULT)
|
||||||
|
if (NOT _NODE_VERSION_RESULT)
|
||||||
|
string (REPLACE "v" "" NODE_VERSION_STRING "${_VERSION}")
|
||||||
|
string (REPLACE "." ";" _VERSION_LIST "${NODE_VERSION_STRING}")
|
||||||
|
list (GET _VERSION_LIST 0 NODE_VERSION_MAJOR)
|
||||||
|
list (GET _VERSION_LIST 1 NODE_VERSION_MINOR)
|
||||||
|
list (GET _VERSION_LIST 2 NODE_VERSION_PATCH)
|
||||||
|
else ()
|
||||||
|
set (NODE_VERSION_STRING "0.10.30")
|
||||||
|
set (NODE_VERSION_MAJOR "0")
|
||||||
|
set (NODE_VERSION_MINOR "10")
|
||||||
|
set (NODE_VERSION_PATCH "30")
|
||||||
|
message (STATUS "defaulted to node 0.10.30")
|
||||||
|
endif ()
|
||||||
|
string (REGEX REPLACE "\n" "" NODE_VERSION_STRING ${NODE_VERSION_STRING})
|
||||||
|
|
||||||
|
mark_as_advanced (NODEJS_EXECUTABLE)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_package_handle_standard_args (Node
|
||||||
|
REQUIRED_VARS NODEJS_EXECUTABLE
|
||||||
|
VERSION_VAR NODE_VERSION_STRING)
|
71
src/uaspire_ground/cmake/FindNpm.cmake
Normal file
71
src/uaspire_ground/cmake/FindNpm.cmake
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# FindNpm
|
||||||
|
# --------
|
||||||
|
#
|
||||||
|
# Find npm
|
||||||
|
#
|
||||||
|
# This module finds an installed npm. It sets the following variables:
|
||||||
|
#
|
||||||
|
# NPM_FOUND - Set to true if npm is found
|
||||||
|
# NPM_DIR - The directory where npm is installed
|
||||||
|
# NPM_GLOBAL_NODE_MODULE_DIR - The global node_modules directory
|
||||||
|
# NPM_EXECUTABLE - The path to the npm executable
|
||||||
|
# NPM_VERSION - The version number of the npm executable
|
||||||
|
|
||||||
|
find_program(NPM_EXECUTABLE NAMES npm HINTS /usr)
|
||||||
|
|
||||||
|
# If npm was found, fill in the rest
|
||||||
|
if (NPM_EXECUTABLE)
|
||||||
|
# Set the global node_modules location
|
||||||
|
execute_process(COMMAND ${NPM_EXECUTABLE} root -g
|
||||||
|
OUTPUT_VARIABLE NPM_GLOBAL_NODE_MODULE_DIR
|
||||||
|
ERROR_VARIABLE NPM_root_g_error
|
||||||
|
RESULT_VARIABLE NPM_root_g_result_code)
|
||||||
|
# Remove and newlines
|
||||||
|
string (STRIP ${NPM_GLOBAL_NODE_MODULE_DIR} NPM_GLOBAL_NODE_MODULE_DIR)
|
||||||
|
if(NPM_root_g_result_code)
|
||||||
|
if(NPM_FIND_REQUIRED)
|
||||||
|
message(SEND_ERROR "Command \"${NPM_EXECUTABLE} root -g\" failed with output:\n${NPM_root_g_error}")
|
||||||
|
else ()
|
||||||
|
message(STATUS "Command \"${NPM_EXECUTABLE} root -g\" failed with output:\n${NPM_root_g_error}")
|
||||||
|
endif ()
|
||||||
|
endif()
|
||||||
|
unset(NPM_root_g_error)
|
||||||
|
unset(NPM_root_g_result_code)
|
||||||
|
|
||||||
|
# Set the NPM dir
|
||||||
|
if (EXISTS "${NPM_GLOBAL_NODE_MODULE_DIR}/npm")
|
||||||
|
set(NPM_DIR "${NPM_GLOBAL_NODE_MODULE_DIR}/npm")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Set the VERSION
|
||||||
|
execute_process(COMMAND ${NPM_EXECUTABLE} -v
|
||||||
|
OUTPUT_VARIABLE NPM_VERSION
|
||||||
|
ERROR_VARIABLE NPM_version_error
|
||||||
|
RESULT_VARIABLE NPM_version_result_code)
|
||||||
|
|
||||||
|
if(NPM_version_result_code)
|
||||||
|
if(NPM_FIND_REQUIRED)
|
||||||
|
message(SEND_ERROR "Command \"${NPM_EXECUTABLE} -v\" failed with output:\n${NPM_version_error}")
|
||||||
|
else()
|
||||||
|
message(STATUS "Command \"${NPM_EXECUTABLE} -v\" failed with output:\n${NPM_version_error}")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
unset(NPM_version_error)
|
||||||
|
unset(NPM_version_result_code)
|
||||||
|
|
||||||
|
# Remove and newlines
|
||||||
|
string (STRIP ${NPM_VERSION} NPM_VERSION)
|
||||||
|
|
||||||
|
set (NPM_FOUND TRUE)
|
||||||
|
else()
|
||||||
|
# Fail on REQUIRED
|
||||||
|
if (Npm_FIND_REQUIRED)
|
||||||
|
message(SEND_ERROR "Failed to find npm executable")
|
||||||
|
endif()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_package_handle_standard_args(NPM
|
||||||
|
REQUIRED_VARS NPM_EXECUTABLE NPM_DIR
|
||||||
|
VERSION_VAR NPM_VERSION )
|
||||||
|
|
||||||
|
mark_as_advanced(NPM_DIR NPM_GLOBAL_NODE_MODULE_DIR NPM_EXECUTABLE NPM_VERSION)
|
19
src/uaspire_ground/index.js
Executable file
19
src/uaspire_ground/index.js
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
const rcl = require("rclnodejs");
|
||||||
|
|
||||||
|
async function start() {
|
||||||
|
await rcl.init();
|
||||||
|
console.log("Initialized ROS client");
|
||||||
|
|
||||||
|
const MsgCommand = rcl.require('uaspire_msgs/msg/Command');
|
||||||
|
const MsgSensors = rcl.require('uaspire_msgs/msg/Sensors');
|
||||||
|
|
||||||
|
const node = rcl.createNode("uaspire_ground");
|
||||||
|
node.createSubscription(MsgSensors, "uaspire/sensors", (sensors) => {
|
||||||
|
console.log("Received sensors: ", sensors);
|
||||||
|
});
|
||||||
|
rcl.spin(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
start().catch((err) => console.error("Unhandled error:", err));
|
401
src/uaspire_ground/package-lock.json
generated
Normal file
401
src/uaspire_ground/package-lock.json
generated
Normal file
@ -0,0 +1,401 @@
|
|||||||
|
{
|
||||||
|
"name": "uaspire_ground",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"lockfileVersion": 1,
|
||||||
|
"requires": true,
|
||||||
|
"dependencies": {
|
||||||
|
"any-promise": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
|
||||||
|
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
|
||||||
|
},
|
||||||
|
"array-index": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-7FanSe4QPk4Ix5C5w1PfFgVbl/k=",
|
||||||
|
"requires": {
|
||||||
|
"debug": "^2.2.0",
|
||||||
|
"es6-symbol": "^3.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "2.6.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
|
||||||
|
"requires": {
|
||||||
|
"file-uri-to-path": "1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commander": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-UNgvDd+csKdc9GD4zjtkHKQbT8Aspt2jCBqNSPp53vAS0L1tS9sXB2TCEOPHJ7kt9bN/niWkYj8T3RQSoMXdSQ=="
|
||||||
|
},
|
||||||
|
"compare-versions": {
|
||||||
|
"version": "3.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz",
|
||||||
|
"integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg=="
|
||||||
|
},
|
||||||
|
"d": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
|
||||||
|
"requires": {
|
||||||
|
"es5-ext": "^0.10.50",
|
||||||
|
"type": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||||
|
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "^2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"deep-equal": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==",
|
||||||
|
"requires": {
|
||||||
|
"is-arguments": "^1.0.4",
|
||||||
|
"is-date-object": "^1.0.1",
|
||||||
|
"is-regex": "^1.0.4",
|
||||||
|
"object-is": "^1.0.1",
|
||||||
|
"object-keys": "^1.1.1",
|
||||||
|
"regexp.prototype.flags": "^1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"define-properties": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
||||||
|
"requires": {
|
||||||
|
"object-keys": "^1.0.12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dot": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/dot/-/dot-1.1.2.tgz",
|
||||||
|
"integrity": "sha1-xzdwGfxOVQeYkosrmv62ar+h8vk="
|
||||||
|
},
|
||||||
|
"es5-ext": {
|
||||||
|
"version": "0.10.51",
|
||||||
|
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.51.tgz",
|
||||||
|
"integrity": "sha512-oRpWzM2WcLHVKpnrcyB7OW8j/s67Ba04JCm0WnNv3RiABSvs7mrQlutB8DBv793gKcp0XENR8Il8WxGTlZ73gQ==",
|
||||||
|
"requires": {
|
||||||
|
"es6-iterator": "~2.0.3",
|
||||||
|
"es6-symbol": "~3.1.1",
|
||||||
|
"next-tick": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"es6-iterator": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
||||||
|
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
|
||||||
|
"requires": {
|
||||||
|
"d": "1",
|
||||||
|
"es5-ext": "^0.10.35",
|
||||||
|
"es6-symbol": "^3.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"es6-symbol": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-/ZypxQsArlv+KHpGvng52/Iz8by3EQPxhmbuz8yFG89N/caTFBSbcXONDw0aMjy827gQg26XAjP4uXFvnfINmQ==",
|
||||||
|
"requires": {
|
||||||
|
"d": "^1.0.1",
|
||||||
|
"es5-ext": "^0.10.51"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"file-uri-to-path": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
|
||||||
|
},
|
||||||
|
"foreachasync": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz",
|
||||||
|
"integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY="
|
||||||
|
},
|
||||||
|
"fs-extra": {
|
||||||
|
"version": "8.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||||
|
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.2.0",
|
||||||
|
"jsonfile": "^4.0.0",
|
||||||
|
"universalify": "^0.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"function-bind": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||||
|
},
|
||||||
|
"graceful-fs": {
|
||||||
|
"version": "4.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
|
||||||
|
"integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
|
||||||
|
},
|
||||||
|
"has": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||||
|
"requires": {
|
||||||
|
"function-bind": "^1.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"int64-napi": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/int64-napi/-/int64-napi-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-UPprIixcZdhdLobpKgHm6/HJD9VIR53JE5Fx93nJzgnX10hCxUd8nzOukxL2WDmjT2SWfz/VzDvk6qfPBLnEVg==",
|
||||||
|
"requires": {
|
||||||
|
"bindings": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-arguments": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA=="
|
||||||
|
},
|
||||||
|
"is-date-object": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
|
||||||
|
},
|
||||||
|
"is-regex": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
|
||||||
|
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
|
||||||
|
"requires": {
|
||||||
|
"has": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jsonfile": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
|
||||||
|
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
|
||||||
|
"requires": {
|
||||||
|
"graceful-fs": "^4.1.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||||
|
},
|
||||||
|
"mkdirp": {
|
||||||
|
"version": "0.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||||
|
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||||
|
"requires": {
|
||||||
|
"minimist": "0.0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
|
},
|
||||||
|
"mz": {
|
||||||
|
"version": "2.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
|
||||||
|
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
|
||||||
|
"requires": {
|
||||||
|
"any-promise": "^1.0.0",
|
||||||
|
"object-assign": "^4.0.1",
|
||||||
|
"thenify-all": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nan": {
|
||||||
|
"version": "2.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
||||||
|
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
|
||||||
|
},
|
||||||
|
"next-tick": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
|
||||||
|
},
|
||||||
|
"object-assign": {
|
||||||
|
"version": "4.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||||
|
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||||
|
},
|
||||||
|
"object-is": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz",
|
||||||
|
"integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY="
|
||||||
|
},
|
||||||
|
"object-keys": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
|
||||||
|
},
|
||||||
|
"rclnodejs": {
|
||||||
|
"version": "git://github.com/amikhalev/rclnodejs.git#0af0c513386c83df4310b6fadd00f1a4c4baf0d9",
|
||||||
|
"from": "git://github.com/amikhalev/rclnodejs.git#fix-multiple-ament-paths",
|
||||||
|
"requires": {
|
||||||
|
"bindings": "^1.2.1",
|
||||||
|
"commander": "^3.0.1",
|
||||||
|
"compare-versions": "^3.1.0",
|
||||||
|
"debug": "^4.0.1",
|
||||||
|
"deep-equal": "^1.0.1",
|
||||||
|
"dot": "^1.1.2",
|
||||||
|
"fs-extra": "^8.0.1",
|
||||||
|
"int64-napi": "^1.0.1",
|
||||||
|
"mkdirp": "^0.5.1",
|
||||||
|
"mz": "^2.6.0",
|
||||||
|
"nan": "^2.8.0",
|
||||||
|
"ref": "^1.3.4",
|
||||||
|
"ref-array": "^1.2.0",
|
||||||
|
"ref-struct": "^1.1.0",
|
||||||
|
"ros2-actionlibjs": "^0.x.1",
|
||||||
|
"uuid": "^3.2.1",
|
||||||
|
"walk": "^2.3.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ref": {
|
||||||
|
"version": "1.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/ref/-/ref-1.3.5.tgz",
|
||||||
|
"integrity": "sha512-2cBCniTtxcGUjDpvFfVpw323a83/0RLSGJJY5l5lcomZWhYpU2cuLdsvYqMixvsdLJ9+sTdzEkju8J8ZHDM2nA==",
|
||||||
|
"requires": {
|
||||||
|
"bindings": "1",
|
||||||
|
"debug": "2",
|
||||||
|
"nan": "2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "2.6.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ref-array": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ref-array/-/ref-array-1.2.0.tgz",
|
||||||
|
"integrity": "sha1-u6hwFS1O4KvtFCGwYjkvCwGEKQw=",
|
||||||
|
"requires": {
|
||||||
|
"array-index": "1",
|
||||||
|
"debug": "2",
|
||||||
|
"ref": "1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "2.6.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ref-struct": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ref-struct/-/ref-struct-1.1.0.tgz",
|
||||||
|
"integrity": "sha1-XV7mWtQc78Olxf60BYcmHkee3BM=",
|
||||||
|
"requires": {
|
||||||
|
"debug": "2",
|
||||||
|
"ref": "1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"debug": {
|
||||||
|
"version": "2.6.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"regexp.prototype.flags": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==",
|
||||||
|
"requires": {
|
||||||
|
"define-properties": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ros2-actionlibjs": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ros2-actionlibjs/-/ros2-actionlibjs-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-3P0HPQad6Jwg82sGaRxwy/MyjSaxlSA4aIBtsjUxUB2POnij/v0U3PYBs4WSTA5WxckFDi1/TJR9wn4fQ3ae+g=="
|
||||||
|
},
|
||||||
|
"thenify": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
|
||||||
|
"integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
|
||||||
|
"requires": {
|
||||||
|
"any-promise": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"thenify-all": {
|
||||||
|
"version": "1.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
|
||||||
|
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
|
||||||
|
"requires": {
|
||||||
|
"thenify": ">= 3.1.0 < 4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
|
||||||
|
},
|
||||||
|
"universalify": {
|
||||||
|
"version": "0.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
|
||||||
|
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "3.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
|
||||||
|
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
|
||||||
|
},
|
||||||
|
"walk": {
|
||||||
|
"version": "2.3.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz",
|
||||||
|
"integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==",
|
||||||
|
"requires": {
|
||||||
|
"foreachasync": "^3.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
src/uaspire_ground/package.json
Normal file
18
src/uaspire_ground/package.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "uaspire_ground",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"description": "UASPIRE Ground",
|
||||||
|
"main": "index.js",
|
||||||
|
"bin": {
|
||||||
|
"uaspire_ground": "./index.js"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"postinstall": "node build.js",
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"author": "Alex Mikhalev <alexmikhalevalex@gmail.com> (http://github.com/amikhalev)",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"rclnodejs": "git://github.com/amikhalev/rclnodejs#fix-multiple-ament-paths"
|
||||||
|
}
|
||||||
|
}
|
26
src/uaspire_ground/package.xml
Normal file
26
src/uaspire_ground/package.xml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>uaspire_ground</name>
|
||||||
|
<version>0.0.1</version>
|
||||||
|
<description>UASPIRE Ground</description>
|
||||||
|
<maintainer email="alex@amikhalev.com">Alex Mikhalev</maintainer>
|
||||||
|
<license>Apache License 2.0</license>
|
||||||
|
<author>Alex Mikhalev</author>
|
||||||
|
|
||||||
|
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||||
|
|
||||||
|
<build_depend>rcl</build_depend>
|
||||||
|
<build_depend>rcutils</build_depend>
|
||||||
|
<build_depend>rmw</build_depend>
|
||||||
|
<build_depend>rosidl_generator_c</build_depend>
|
||||||
|
|
||||||
|
<exec_depend>rcl</exec_depend>
|
||||||
|
<exec_depend>rcutils</exec_depend>
|
||||||
|
<exec_depend>rmw</exec_depend>
|
||||||
|
<exec_depend>rosidl_generator_c</exec_depend>
|
||||||
|
|
||||||
|
<export>
|
||||||
|
<build_type>ament_cmake</build_type>
|
||||||
|
</export>
|
||||||
|
</package>
|
Loading…
x
Reference in New Issue
Block a user