GithubHelp home page GithubHelp logo

tinverse / tsm Goto Github PK

View Code? Open in Web Editor NEW
41.0 6.0 7.0 31.01 MB

A Typed Hierarchical State Machine Framework in C++

Home Page: https://tinverse.github.io/tsm/index.html

License: MIT License

CMake 18.39% C++ 79.80% Common Lisp 0.86% HTML 0.02% Nix 0.76% Shell 0.16%
c-plus-plus header-only c-plus-plus-17 state-machine state-charts cmake nix hsm hierarchical-state-machine reactive-state-management

tsm's People

Contributors

dibsonmuad avatar karthik1024 avatar lgtm-migrator avatar witkamp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tsm's Issues

Accept const bool member functions as guards

It would be good if the add() method (for defining transition tables) would accept const bool member functions (currently only accepts non-const).

Might prepare a PR for this if I get to it.

(Off topic: I like this project a lot so far; very intuitive interface!)

How to build TSM for stm32?

Dear maintainers!
First off all, I'd like to thank you for the library. I didn't test it yet, but I'm really excited about it API, it's the most intuitive among HSM libraries I checked to the moment.

I'd like to use the TSM for embedded systems with no RTOS running on a MCU (bare metal). Is it possible? If so, could you please recommend me how to build it? I am using GNU ARM Embedded toolchain (gcc 10.2).

Comments about dependencies

Hi! Thank you for your contribution! I am interested in state-of-art IA topic for robots and games AND I am a great fan of cross platform, minimal (or no) dependencies and header-only gems in modern c++. So your project excites me! :-}

Sadly, I miss links in README to the dependencies (Gflags, Glog, Gtest). Sadly it seems mandatory to use them. And it seems necessary to compile/build them. That is a concern for me. I usually work in Windows 10 x64 (msvc 15.9.7). Of course. I hope that tsm works also in the recent versions of the other two great compilers of c++ (gcc and Clang) and *nix system.

I suspect tsm is in a preliminary state ("0.1.0") but I will keep an eye on your work regularly. I actually found your project in a search on behavior trees. ;-)

DJuego

Replace GTest with Catch2 unit testing framework

After researching ways of reducing dependencies on 3rd party libraries, I decided to replace gtest with catch2, which is a header only c++ library. This makes integration easier and hopefully with make tsm more accessible on windows platform as well. The user will not have to deal with gtest shared/static library issues.

Remove Glog dependency

Currently tsm is dependent on Glog for logging. Removing that dependency will
a. increase ease of integration into other projects
b. simplify the CMake structure

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.