Skip to content

Update rcljava for Dashing - #75

Merged
esteve merged 15 commits into
dashingfrom
rcljava_dashing
Feb 11, 2020
Merged

Update rcljava for Dashing#75
esteve merged 15 commits into
dashingfrom
rcljava_dashing

Conversation

@jacobperron

Copy link
Copy Markdown
Contributor

Typesupport was previously updated in #66. This PR updates the rcljava package so that it compiles for Dashing. With this change we're am able to run the pub/sub examples in Dashing.

Updating the tests is a work-in-progress. I've discovered an issue with service code generation where not all definitions are being generated properly. I'll follow-up shortly with a fix for rosidl_generator_java and then continue updating the tests for rcljava.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>
A context represents an init/shutdown cycle and is used in the creation of top level entities
like nodes and guard conditions.
For convenience, a default context is created when rcljava is initialized.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Update wait set API calls
* Update entity creation API calls
* Use Context objects to check 'ok()' status
* Add Clock and Context members to NodeImpl
* Fix static member reference: 'this.defaultContext' -> 'RCLJava.defaultContext'
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Otherwise we run into a runtime error about Fast-RTPS not supporting liveliness.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Load with JNIUtils
* Rename native create method for consistency
* Fix bug in native implementation
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Use Context.ok() and deprecate RCLJava.isInitialized().
* Move implementation loading to static initialization code.
Otherwise, calls to getDefaultContext() fail if called before rclJavaInit().
It wasn't clear to me why the implementation should be loaded in a separate function call.
We can probably refactor the code to avoid the error if we want to move the loading back
into rclJavaInit().
* Refactor test into one init/shutdown test. Previously, not calling RCLJava.shutdown()
was leaving a context around between tests.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
Tests that involve services are broken due to issues related to interface generation.
There's a separate PR for a fix: #76.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
@esteve

Copy link
Copy Markdown
Member

@jacobperron thanks!

@esteve
esteve merged commit eceb431 into dashingFeb 11, 2020
@jacobperron
jacobperron deleted the rcljava_dashing branch February 11, 2020 17:19
jacobperron added a commit that referenced this pull request May 17, 2021
* Update API for getting rcl error string
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add implementation for ROS Context
A context represents an init/shutdown cycle and is used in the creation of top level entities
like nodes and guard conditions.
For convenience, a default context is created when rcljava is initialized.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add implementation for Clock
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Update for Dashing support
* Update wait set API calls
* Update entity creation API calls
* Use Context objects to check 'ok()' status
* Add Clock and Context members to NodeImpl
* Fix static member reference: 'this.defaultContext' -> 'RCLJava.defaultContext'
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Avoid hiding errors when cleaning up init options
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Disable tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix typos in JNI library files
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix native node method signature
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Populate missing QoS settings with defaults
Otherwise we run into a runtime error about Fast-RTPS not supporting liveliness.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix issues with Clock class
* Load with JNIUtils
* Rename native create method for consistency
* Fix bug in native implementation
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable linter tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix lint errors
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable RCLJava test and fix bugs
* Use Context.ok() and deprecate RCLJava.isInitialized().
* Move implementation loading to static initialization code.
Otherwise, calls to getDefaultContext() fail if called before rclJavaInit().
It wasn't clear to me why the implementation should be loaded in a separate function call.
We can probably refactor the code to avoid the error if we want to move the loading back
into rclJavaInit().
* Refactor test into one init/shutdown test. Previously, not calling RCLJava.shutdown()
was leaving a context around between tests.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix NodeTest
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable most tests
Tests that involve services are broken due to issues related to interface generation.
There's a separate PR for a fix: #76.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
jacobperron added a commit that referenced this pull request May 17, 2021
* Update API for getting rcl error string
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add implementation for ROS Context
A context represents an init/shutdown cycle and is used in the creation of top level entities
like nodes and guard conditions.
For convenience, a default context is created when rcljava is initialized.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Add implementation for Clock
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Update for Dashing support
* Update wait set API calls
* Update entity creation API calls
* Use Context objects to check 'ok()' status
* Add Clock and Context members to NodeImpl
* Fix static member reference: 'this.defaultContext' -> 'RCLJava.defaultContext'
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Avoid hiding errors when cleaning up init options
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Disable tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix typos in JNI library files
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix native node method signature
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Populate missing QoS settings with defaults
Otherwise we run into a runtime error about Fast-RTPS not supporting liveliness.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix issues with Clock class
* Load with JNIUtils
* Rename native create method for consistency
* Fix bug in native implementation
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable linter tests
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix lint errors
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable RCLJava test and fix bugs
* Use Context.ok() and deprecate RCLJava.isInitialized().
* Move implementation loading to static initialization code.
Otherwise, calls to getDefaultContext() fail if called before rclJavaInit().
It wasn't clear to me why the implementation should be loaded in a separate function call.
We can probably refactor the code to avoid the error if we want to move the loading back
into rclJavaInit().
* Refactor test into one init/shutdown test. Previously, not calling RCLJava.shutdown()
was leaving a context around between tests.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Fix NodeTest
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
* Enable most tests
Tests that involve services are broken due to issues related to interface generation.
There's a separate PR for a fix: #76.
Signed-off-by: Jacob Perron <jacob@openrobotics.org>
ivanpauno added a commit that referenced this pull request Oct 28, 2021
* Cleanup service/client creation code
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
* Add methods to create a parameter client in Node
Signed-off-by: Ivan Santiago Paunovic <ivanpauno@ekumenlabs.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@jacobperron@esteve