Giter Site home page Giter Site logo

toberocat / libwallaby Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kipr/libwallaby

0.0 0.0 0.0 13.2 MB

Library for interfacing with the Wombat firmware

License: GNU General Public License v3.0

C++ 55.21% C 34.70% Objective-C++ 6.58% CMake 3.19% SWIG 0.33%

libwallaby's Introduction

libkipr

Library for interfacing with KIPR Robot Controllers.

Documentation can be viewed at https://www.kipr.org/doc/index.html or by clicking the "Help" button in the KIPR Software Suite IDE.

CMake Options

Each of the following options may be specified when executing CMake by prefixing the option with -D (e.g., -Dwith_accel=OFF).

Modules

  • with_accel (default: ON) - Build accelerometer support.
  • with_analog (default: ON) - Build analog sensor support.
  • with_audio (default: ON) - Build audio support.
  • with_battery (default: ON) - Build battery support.
  • with_botball (default: ON) - Build botball support.
  • with_camera (default: ON) - Build camera support.
  • with_compass (default: ON) - Build compass support.
  • with_console (default: ON) - Build console support.
  • with_create (default: ON) - Build iRobot Create 2 support.
  • with_digital (default: ON) - Build digital sensor support.
  • with_graphics (default: ON) - Build graphics support (requires X11 development files, such as x11proto-dev on Debian/Ubuntu).
  • with_gyro (default: ON) - Build gyroscope support.
  • with_magneto (default: ON) - Build magnetometer support.
  • with_motor (default: ON) - Build motor support.
  • with_network (default: ON) - Build network support.
  • with_servo (default: ON) - Build servo support.
  • with_tello (default: ON) - Build Tello support.
  • with_thread (default: ON) - Build thread support.
  • with_time (default: ON) - Build time support.
  • with_wait_for (default: ON) - Build wait_for support.

Bindings

  • with_python_binding (default: ON) - Build Python binding (requires Python 3+ development files, such as libpython3.10-dev on Debian/Ubuntu).

Miscellaneous

  • with_documentation (default: ON) - Build documentation support (requires doxygen installed on system).
  • with_tests (default: ON) - Build tests.

Dummy Build

  • DUMMY (default: OFF) - Build a dummy build for use on computer

Cross-compiling to aarch64-linux-gnu (e.g., Wombat)

apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
cd libkipr
cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=$(pwd)/toolchain/arm-linux-gnueabihf.cmake .

Cross-compiling to JavaScript/WASM (e.g., Simulator)

Without Python Support

libkipr can be compiled to statically link to a C program that has been compiled to emscripten. The resulting libkipr.a should be used.

source emsdk/emsdk_env.sh
cd libkipr
emcmake cmake -Bbuild -Dwith_graphics=OFF -Dwith_camera=OFF -Dwith_tello=OFF -Dwith_python_binding=OFF .

With Python Support

libkipr can be compiled to dynamically link to a cpython that has been compiled to emscripten. The resulting kipr.wasm should be placed in cpython's virtual filesystem on the PYTHONPATH (see simulator for details).

source emsdk/emsdk_env.sh
cd libkipr
emcmake cmake -Bbuild -Dwith_graphics=OFF -Dwith_camera=OFF -Dwith_tello=OFF -DPYTHON_LIBRARY=$PYTHON_LIBRARY -DPYTHON_INCLUDE_DIR=$PYTHON_INCLUDE_DIR -Dwasm=ON .

where:

  • $PYTHON_LIBRARY is the libpythonVERSION.a file that has been compiled to emscripten-browser.
  • $PYTHON_INCLUDE_DIR is that python's include directory.

License

libkipr is licensed under the terms of the GPLv3 License.

Contributing

Want to Contribute? Start Here!: https://github.com/kipr/KIPR-Development-Toolkit

libwallaby's People

Contributors

navzam avatar bmcdorman avatar zacharyprime avatar chrehall68 avatar tcorbly avatar ryanvade avatar toberocat avatar eugenedmyers avatar erinharrington-12 avatar justinmerrell avatar edmyers avatar prithvirajkadiyala avatar schineaj23 avatar sascha8a avatar

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.