- C++ (C++20)
-
Google's
gloglogging library (https://github.com/google/glog/) -
crowHTTP server (https://github.com/CrowCpp/Crow) -
jsonfrom (https://github.com/nlohmann/json) -
boost::program_optionsshared library -
asioshared library
-
- Python
- Python >= 3.9
pyyaml,matplotlib,aiohttp
-
In the project root, adjust
cmake.shbased on your system as needed. Set the following environment variables if needed:INCLUDE_PREFIX:/usron Linux (defaults to/usr/local)VENDOR: path to the the C++ dependency directory: we will have, for example,$VENDOR/Crow/include
-
Clone the
crow,jsonandglogrepositories into the dependency directory -
Adjust
CMakeLists.txtif needed and runcmake.sh -
In the
builddirectory, runmake forcesim, or other targets as needed
- Navigate to
forcesim/py - Run something like
python3.9 -m pip install .
$ ./forcesim --interface-address 127.0.0.1 --interface-port 18080
- Navigate to
py/tests/basic - Copy
config.yml.sampletoconfig.ymland set theoutput_pathkey - Adjust and/or create file(s) in
info-json,subscribers-json(currently some examples are already present) - Run something like
export PYTHON=python3.9so thatrun.shknows how to run Python (in case there are multiple versions available and/or there is no link topython) ./run.shto run the simulation, generating output
Demonstration of basic usage with the basic.py test
forcesim.webm
Resulting graph
