Package Summary

Tags No category tags.
Version 2.3.19
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description An Event-Driven, Asynchronous, Behavioral State Machine Library for ROS2 (Robotic Operating System) applications written in C++
Checkout URI https://github.com/robosoft-ai/SMACC2.git
VCS Type git
VCS Version humble
Last Updated 2025-06-17
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags cplusplus state-machine cpp amr mobile-robots ros2 autonomy moveit2 mobilerobots ros2-foxy nav2 ros2-humble ros2-jazzy
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The sm_atomic_http package

Additional Links

No additional links.

Maintainers

  • Jaycee Lock

Authors

No additional authors.

State Machine Diagram

sm_atomic_http

Description

A completely minimal state machine example.
</br>

Build Instructions

First, source your chosen ros2 distro.

source /opt/ros/rolling/setup.bash

source /opt/ros/humble/setup.bash

Before you build, make sure you’ve installed all the dependencies…

rosdep install --ignore-src --from-paths src -y -r

Then build with colcon build…

colcon build

Operating Instructions

After you build, remember to source the proper install folder…

source ~/workspace/humble_ws/install/setup.bash

And then run the launch file…

ros2 launch sm_atomic_http sm_atomic_http.launch

Viewer Instructions

If you have the SMACC2 Runtime Analyzer installed then type…

ros2 run smacc2_rta smacc2_rta

If you don’t have the SMACC2 Runtime Analyzer click here.

CHANGELOG

Changelog for package sm_atomic_http

2.3.19 (2025-06-17)

  • Moved HTTP client behaviour to client library. Also added GET and POS… (#549)
    • Moved HTTP client behaviour to client library. Also added GET and POST-specific versions of the smae HTTP client behaviour to make them easier to use
    • Added copyrights
    • Fixed typos
  • Http client (#522)
    • Ported http work over from smacc1
    • Added example showasing http requests
    • Fixed some typos in the HTTP example
    • Made provision for HTTP GET/POST in the HTTP client
    • Moved HTTP client into the client_libraries folder and made separate compilation units. Modified examples to use this new client

    * Update smacc_action_client_base.hpp Pretty sure this change was made accidently. * Update smacc_action_client_base.hpp Messed up first commit * Update http_client.cpp Added License to file to clean up format error * Update http_client.cpp Found better Copyright & License for CI Format error. * Update cb_http_request.hpp Another little format error * Update sm_atomic_http.py Somehow a bracket became a cNode

      • Fixed errors with HTTP requests not triggering,
    • Fixed response callback not triggering correctly and causing a crash
    • Fixed example not transitioning back to state 1 after a response has been received
    • Ported http work over from smacc1
    • Added example showasing http requests
    • Fixed some typos in the HTTP example
    • Made provision for HTTP GET/POST in the HTTP client
    • Moved HTTP client into the client_libraries folder and made separate compilation units. Modified examples to use this new client

    * Update http_client.cpp Added License to file to clean up format error * Update http_client.cpp Found better Copyright & License for CI Format error. * Update cb_http_request.hpp Another little format error * Update sm_atomic_http.py Somehow a bracket became a cNode

      • Fixed errors with HTTP requests not triggering,
    • Fixed response callback not triggering correctly and causing a crash
    • Fixed example not transitioning back to state 1 after a response has been received
    • Added helper class to handle server name related interactions
    • Added SSL implementation, need to make provision for SSL and non-SSLD requests
    • Added SLL certs
    • Split the HTTp session class into own compile unit
    • Added HTTP session base class and implemented the SSL version. The client can decide between which session to initialise at runtime depending on the server set
    • Implemented non-ssl HTTP session for clients

    * Removing hard-coded ssl certs and using the default OpenSSL certs for verification

    • Run through formatter
    • Fix bad merge
    • Remove noisy changelog
    • Undo change that introduced and error
    • Added missing copyrights
    • Revert change to precommit config
    • Fixing copyright, formatting
    • Fixed whitespace blocking precommit

    * Revert change to precommit config ---------Co-authored-by: brettpac <<brettpac@users.noreply.github.com>>

  • Contributors: Jaycee Lock

2.4.1 (2023-07-06)

2.3.18 (2023-07-17)

2.3.16 (2023-07-16)

2.3.8 (2023-03-12 21:50)

2.3.7 (2023-03-12 21:45)

2.3.6 (2023-03-12 20:30)

2.3.5 (2023-03-07 00:14)

2.3.4 (2023-03-07 00:02)

2.3.3 (2023-03-02 22:58)

2.3.2 (2023-03-02 22:22)

2.3.1 (2022-11-28)

1.22.1 (2022-11-09 20:22)

1.22.0 (2022-11-09 19:53)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

Name
xterm

Dependant Packages

No known dependants.

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged sm_atomic_http at Robotics Stack Exchange

No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro github. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.