Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swri-robotics/ros_scxml
A c++ wrapper library for Qt SCXML state machines
https://github.com/swri-robotics/ros_scxml
Last synced: 2 months ago
JSON representation
A c++ wrapper library for Qt SCXML state machines
- Host: GitHub
- URL: https://github.com/swri-robotics/ros_scxml
- Owner: swri-robotics
- Created: 2020-01-13T21:48:35.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-09-06T19:01:12.000Z (over 2 years ago)
- Last Synced: 2024-08-03T02:02:47.106Z (5 months ago)
- Language: C++
- Homepage:
- Size: 244 KB
- Stars: 13
- Watchers: 6
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
Awesome Lists containing this project
- awesome-ros-tools - ros_scxml - lightweight finite state machine library that uses the [SCXML](https://en.wikipedia.org/wiki/SCXML) standard. ![ros_scxml](https://img.shields.io/github/stars/swri-robotics/ros_scxml.svg?style=flat&label=Star&maxAge=86400) (Other / Sensors)
README
# ros_scxml
[![Build Status](https://travis-ci.com/swri-robotics/ros_scxml.svg?branch=master)](https://travis-ci.com/swri-robotics/ros_scxml)
[![Github Issues](https://img.shields.io/github/issues/swri-robotics/ros_scxml.svg)](http://github.com/swri-robotics/ros_scxml/issues)[![license - bsd 2 clause](https://img.shields.io/:license-BSD%202--Clause-blue.svg)](https://opensource.org/licenses/BSD-2-Clause)
Lightweight finite state machine library that uses the [SCXML](https://commons.apache.org/proper/commons-scxml/guide/scxml-documents.html) standard
---
## Prerequisites
### QT 5
The `QScxml` module is available from `Qt` version 5.7 and higher and is currently only distributed on Ubuntu 20.04. Use the following command to install it:```bash
sudo apt install libqt5scxml5-dev libqt5scxml5-bin
```If your distribution or version of `Qt` does not have the `QScxml` module there are several options for getting it:
#### Qt Modules PPA (Recommended)
[This PPA](https://launchpad.net/~skycoder42/+archive/ubuntu/qt-modules) provides binary distributions of the `QScxml` module for Ubuntu 17.10 and 18.04.
These binaries install to the standard install directory and should be the same sub-version as the other `Qt` modules for the distribution.
This the most straightforward solution for Ubuntu 17.10/18.04.
To install, run:```bash
sudo add-apt-repository ppa:beineri/ppa:skycoder42/qt-modules
sudo apt update
sudo apt install libqt5scxml-dev
```#### `/opt` Directory Qt Install (PPA)
[This PPA](https://launchpad.net/~beineri) provides binary distributions of various versions of Qt for various operating systems.
These binaries install to the `/opt` directory, which is not a standard search path for `cmake`.
As such, several build and run environment variables need to be modified in order to use this distribution of `Qt`.
Installing a version of `Qt` from this PPA alongside the system installation can also cause version tagging issues when compiling code that depends on `Qt`.
To install, run:```bash
sudo add-apt-repository ppa:beineri/opt-qt-5.12.10-bionic
sudo apt-get update
sudo apt install qt512scxml
```
> Note: Edit command above for your desired version of `Qt`In order to make this installation find-able to `cmake`, several environment variables must be set.
Locate your Qt installation directory in the `/opt` directory and set the environment variables as follows:```bash
export CMAKE_PREFIX_PATH=/opt/qt/lib/cmake:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=/opt/qt/lib:/opt/qt/plugins:$LD_LIBRARY_PATH
```#### Alternative Download (Qt Installer)
The library can be downloaded from [here](http://download.qt.io/official_releases/qt/). Run the installation script with root access and follow the on screen instructions.