Alex Mikhalev
5 years ago
9 changed files with 626 additions and 0 deletions
@ -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() |
@ -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); |
||||||
|
}); |
@ -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) |
@ -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) |
@ -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)); |
@ -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" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -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" |
||||||
|
} |
||||||
|
} |
@ -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…
Reference in new issue