Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro lyrical showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.2.0
License Apache 2
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/tier4/nebula.git
VCS Type git
VCS Version main
Last Updated 2026-07-30
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Nebula Common Base Libraries and headers

Maintainers

  • David Wong
  • Max Schmeller

Authors

  • TIER IV
README
No README found. See repository README.
CHANGELOG

Changelog for package nebula_core_common

1.2.0 (2026-07-30)

  • chore: sync files (#74)

    • chore: sync files

    * style(pre-commit): autofix ---------Co-authored-by: github-actions <<github-actions@github.com>> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

  • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator (#460)

    • feat(nebula_core, nebula_hesai): register hesai LiDAR packet threads with cie_thread_configurator
    • fix: address review findings
    • add UdpSocket thread_factory unit test (TestThreadFactoryCreatesReceiverThread)
    • assert factory-created threads are joinable in UdpSocket and SingleConsumerProcessor
    • document the nullptr fallback behavior in the thread_factory param docs

    * refactor: document factory re-invocation on relaunch instead of testing it The subscribed-move path that re-invokes the thread factory is not exercised by any production code (all vendors subscribe only after the socket is emplaced), so pin it in the thread_factory_t docs rather than in the unit test. The test now covers only the factory-creates-thread contract.

    * fix: validate factory-created threads at runtime instead of assert Asserts are compiled out in release builds, so a factory returning a non-joinable thread would leave the processor or socket silently dead. SingleConsumerProcessor now throws std::invalid_argument (consistent with its other constructor validations); UdpSocket rolls back running_ and throws UsageError so the socket stays in a consistent unsubscribed state.

    * refactor: create all thread factories in the ROS wrapper layer Address review feedback: nebula_hesai_hw_interfaces must stay middleware-independent, including its build scripts. The Agnocast dependency and the USE_AGNOCAST_ENABLED conditional are now confined to the nebula_hesai ROS wrapper package:

    - Add a private cie_thread_factory.hpp helper in nebula_hesai that builds the Agnocast CIE thread factory (or nullptr when disabled).

    - Inject the UDP receive thread factory into HesaiHwInterface via a new optional constructor parameter instead of constructing it inside the HW interface.

    - Remove the Agnocast include, ifdef, CMake, and package.xml entries from nebula_hesai_hw_interfaces.

    • refactor: add StdThreadFactory to nebula_core_common and ban null thread factories

    - absorb thread_factory_t into nebula_core_common/util/thread_factory.hpp and default UdpSocket::subscribe() / SingleConsumerProcessor to StdThreadFactory instead of branching on nullptr internally

    - move the CIE thread factory helper from nebula_hesai to nebula_core_ros and return StdThreadFactory when Agnocast support is disabled

    • replace the fixed sleep in the UDP factory test with promise/future

    - add a test that the stored factory persists across unsubscribe, re-subscribe and move ---------

  • Contributors: atsushi yano, tier4-nebula-app[bot]

1.1.1 (2026-06-03)

1.0.0 (2026-04-06)

  • feat(nebula_sample): add sample sensor package as template (#382)

    • feat(nebula_sample): add sample sensor package as template
    • feat(nebula_sample): add integration guide
    • feat(nebula_sample): update license year
    • chore(nebula_sample): cspell fixes and integration guide clarity
    • feat(sample_sensor): remove calibration configuration
    • feat(sample_sensor): package and CMakeLists tidy up
    • ci(pre-commit): autofix
    • docs(nebula_sample): document implementation requirements and add vendor-neutral guidance
    • docs(nebula_sample): add integration guide to mkdocs
    • ci(pre-commit): allow unsafe yaml tags for mkdocs
    • docs(sample_sensor): remove duplicate integration guide, modify links and titles
    • feat(sample_sensor): package and integration guide minor fixes
    • chore(nebula_sample): fix capitalization in integration guide

File truncated at 100 lines see the full file

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged nebula_core_common at Robotics Stack Exchange