{"id":22111365,"url":"https://github.com/hebirobotics/hebi-cpp-examples","last_synced_at":"2025-07-25T07:31:40.414Z","repository":{"id":28920535,"uuid":"118654891","full_name":"HebiRobotics/hebi-cpp-examples","owner":"HebiRobotics","description":" Examples for the HEBI Robotics C++ API","archived":false,"fork":false,"pushed_at":"2024-11-20T18:47:12.000Z","size":8315,"stargazers_count":7,"open_issues_count":26,"forks_count":12,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-20T19:18:39.006Z","etag":null,"topics":["cpp","examples"],"latest_commit_sha":null,"homepage":"http://docs.hebi.us","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HebiRobotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-23T18:57:41.000Z","updated_at":"2024-11-20T18:47:14.000Z","dependencies_parsed_at":"2024-07-24T23:08:40.064Z","dependency_job_id":"b7a032ff-20eb-45fd-a12d-000a80bb3a2a","html_url":"https://github.com/HebiRobotics/hebi-cpp-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HebiRobotics%2Fhebi-cpp-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HebiRobotics%2Fhebi-cpp-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HebiRobotics%2Fhebi-cpp-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HebiRobotics%2Fhebi-cpp-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HebiRobotics","download_url":"https://codeload.github.com/HebiRobotics/hebi-cpp-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227540604,"owners_count":17785008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","examples"],"created_at":"2024-12-01T10:39:53.340Z","updated_at":"2024-12-01T10:39:53.899Z","avatar_url":"https://github.com/HebiRobotics.png","language":"C++","readme":"# Hebi C++ Examples\n\nThis repo contains examples for the HEBI Robotics C++ API.\n\nNote that many of these programs contains hardcoded module family/name values,\nand these values should be modified to match the modules available on your\nnetwork.\n\n## Downloading Dependencies\n\nThe C++ API should reside in a folder called `hebi-cpp` in the root directory of this repository. This must be downloaded prior to building, and there are two ways to do this:\n\n1. Using the CMake project\n   - Follow the instructions under [CMake](#cmake) and the dependencies will be automatically downloaded.\n   - The API's version is specified in `projects/cmake/DownloadHebiCpp.cmake` through:\n    ```\n    set(HEBI_CPP_VERSION \"x.x.x\")\n    ```\n    along with its corresponding hash:\n    ```\n    set(HEBI_CPP_LIB_SHA256 \"longstringofcharacters\")\n    ```\n    - To change this, first edit the version field, and run the `cmake` command in the build directory. This should give you an error containing the expected hash. Swap this in and run the `cmake` command again.\n\n2. Downloading Manually\n   - Prior to building, you can download your preferred version from [the docs](http://docs.hebi.us/downloads_changelogs.html#software).\n   - Extract the `hebi-cpp` folder from the `hebi-cpp-x.x.x` folder into the root directory of this repository.\n\nFor examples which use plotting, python is needed. To install it, execute \"sudo apt-get install python3-matplotlib python3-numpy python3.6-dev\" in terminal. (Plotting is enabled using a header file matplotlib.h which is a modified version of the one found at https://github.com/lava/matplotlib-cpp)\n\nUse the same version of the C++ API that is defined at the top of projects/cmake/DownloadHebiCpp.cmake, as this will ensure all the code is compatible.\n\n## Getting Started\n\nThe 'projects' folder contains sample project files for different IDEs/build\nsystems.\n\nCurrently, the recommended build systems is CMake, although it is possible to add the source files and library dependencies in Visual Studio, XCode, Makefiles, etc.\n\n### CMake\n\nTo get started with CMake, you must\nfirst install CMake.  After doing so, you can run cmake to create the project\nfiles for your desired platform.  You can run `cmake --help` to get platform-specific\noptions, but here are a couple basic examples:\n\n**64-bit Linux; generates a makefile project**\n \nFrom the root directory of the checkout, run:\n\n```\nmkdir build\ncd build\ncmake -DARCH=x86_64 ../projects/cmake/\n```\n\nIf CMake is configured to create a Makefile project (the default for Linux), you\ncan then run\n\n```make```\n\nto compile the examples.\n\n**64-bit Windows; Visual Studio**\n\nFrom the root directory of the checkout, run the following in a command prompt:\n\n```\nmkdir build\ncd build\ncmake -G\"Visual Studio 16 2019\" -Ax64 ../projects/cmake/\n```\n\nThen open the `build/hebi_cpp_examples.sln` solution file, set the startup project\nto your desired example, and hit the green \"run\" button at the top of the IDE to\ncompile and run it.\n\nFor other versions of Visual Studio, `cmake --help` will provide the exact syntax.\nFor example, for 64-bit builds on Visual Studio 2017, change the final line to:\n\n```\ncmake -G\"Visual Studio 15 2017 Win64\" ../projects/cmake/\n```\n\nNote that if you have not installed the debug symbols when you installed python, then you will need to compile in \"Release\" mode for examples which link against the python runtime.\n\n## Directory Layout\n\n- **hebi-cpp** The C++ API and C binaries are stored in this directory (if cloning\nthe repo directly, note that this directory is created by CMake automatically, or\nyou can unzip the C++ API manually into this folder, using the same version as listed\nat the top of projects/cmake/DownloadHebiCpp.cmake)\n- **basic** A set of numbered basic examples that walk through the core concepts\nof the API.  This code is the best place to start if you are new (note that to\neasily build the examples, use the project files in `projects`.\n- **advanced** A set of more involved examples that go through various topics.\n- **kits** Full-system example code for the various kits that HEBI produces.\n- **projects** The directory where IDE and build system files are found.\n- **util** Various utility functions that can help with control and full system examples.  For example, joystick input code and gravity compensation code are contained here.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhebirobotics%2Fhebi-cpp-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhebirobotics%2Fhebi-cpp-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhebirobotics%2Fhebi-cpp-examples/lists"}