Commit a42449e7 authored by Arnaud Blanchard's avatar Arnaud Blanchard

Merge branch 'master' of https://promethe.u-cergy.fr/blaar/blaar

parents 883b46fd 534c0a68
......@@ -3,22 +3,13 @@
Basic Libraries And Applications for Robotics
=============================================
BLAAR is still in active development. It is **not stable yet** and will evolve. Do no hesitate to [ask for improvements or notify issues](https://framagit.org/blaar/blaar/issues).
The goal of this light framework is to provide helpers and shortcuts with few abstractions letting you know what you are doing.
You are free to mix it with any low level code. The drawback is that you have to know what you are doing which is good in robotics.
The modules are minimalist in purpose. If you want more you are advised to use specialized libraries or tools but **blaar** should be helpful to make the integration.
Basic Libraries for C/C++
-------------------------
- [blc_core](https://promethe.u-cergy.fr/blibs/blc_core) : Generic helpers in C or C++ used by all other blaar projects
- [blc_channel](https://promethe.u-cergy.fr/blibs/blc_channel) : Tools to use shared memory in synchrone ( in test) and asynchrone mode
- [blc_image](https://promethe.u-cergy.fr/blibs/blc_image) : Manipulate blc_array as images. Can load and save them as png files
- [blc_program](https://promethe.u-cergy.fr/blibs/blc_program) : Parse arguments and interacts with user in commandline.
Standard blaar applications
---------------------------
- [bapps](https://promethe.u-cergy.fr/blaar/bapps.git) : Generic executables to manipulate blc_channels (find max, generate oscillators, ...)
In `scripts/` you have bash scripts which combine applications to produce higher level functionalities. They may require you add optional modules.
BLAAR is **open source** CeCILL v2.1 (compatible GPL v2).
**BLAAR** should work on **POSIX** systems. GNU/Linux (**Ubuntu/Raspbian**), Darwin (**Mac OSX**) and Bionic (**Android** not usable yet).
**BLAAR** is still under development, it is **not stable yet** but feel free to [ask improvement or notify issues](https://promethe.u-cergy.fr/blaar/blaar/issues).
Install
=======
......@@ -26,13 +17,52 @@ Install
* [Mac OSX](INSTALL_OSX.md)
* [Ubuntu/Raspbian](INSTALL_UBUNTU.md)
Modules
=======
Most of these modules are installed by default (otherwise see below for installation)
- [bapps](https://promethe.u-cergy.fr/blaar/bapps.git): Basic Applications for C/C++ with no dependency to manipulate blc_channels (find max, generate oscillators, ...). (no requirement)
- [gnuplot](https://promethe.u-cergy.fr/blaar/gnuplot.git) Allows to make graphs from data of blc_channels (require gnuplot)
- [gtk](https://promethe.u-cergy.fr/blaar/gtk.git) Provides a graphical user interface. For now, it displays images. (require gtk)
- [png](https://promethe.u-cergy.fr/blaar/png.git) Saves and loads png images. (require libpng)
- [sndfile](https://promethe.u-cergy.fr/blaar/sndfile.git) Reads and writes sound files in with many sound formats (require libsndfile)
Specific Linux
--------------
- [asound](https://promethe.u-cergy.fr/blaar/asound.git) Acquire or produce sound using Advanced Linux Sound Architecture library (require libasounddev).
- [i_v4l2_camera](https://promethe.u-cergy.fr/blaar/i_v4l2_camera.git) Acquire images from a camera using Video 4 Linux library (require libv4l2dev).
Specific Mac OSX
----------------
- [coreaudio](https://promethe.u-cergy.fr/blaar/asound.git) Acquire or produce sound using Apple Core Audio Frameworks
- [i_AV_camera](https://promethe.u-cergy.fr/blaar/i_AV_camera.git) Acquire images from cameras using Audio Video Foundation
Specific raspberry pi
---------------------
The Linux of raspberry (raspbian) can be used like ubuntu but it has more functionalities to manage input outputs that why there is a specific package.
- [raspi](https://promethe.u-cergy.fr/blaar/raspi.git)
Usage
=====
Adding submodules
-----------------
You will only have basic framework. You may add submodules as needed. To add modules use : `git submodule add <module repository>`. Once you have added a module, install it with **`./install.sh <module>|all`**
**all** install all your cloned modules at once.
Example, install 'fftw' package:
git submodule add https://promthe.u-cergy.fr/blaar/fftw.git
./install fftw
You need to have installed the required package. Usually indicated in the README.
Update the installation
-----------------------
......@@ -40,18 +70,53 @@ Update the installation
This will download the new code and install it for blaar and each submodule
Usage
=====
Execution of programs
---------------------
**`<binary> [--help] [args ...]`**
The availble blaar binaries are in `bin/` directory. All the binaries accept the **`--help`** option which shows a description of the project and details of possible others options. You can also use scripts which run a combinaison of binaries and other scripts. They are in `scripts/` directory and accept the **`-h`** option which shows a description of the project and details of possible others options.
When your are in development your are advised to see [developement](DEVELOPMENT.md).
Scriptting
In `scripts/` you have bash scripts which combine applications to produce higher level functionalities. They may require you add optional modules.
Development
===========
blibs - Basic Libraries
-----------------------
These libraries are a set of basic tools simplifying programmation.
The programmer keeps full control on the program. You have shortcuts for classical functionalities and very little abstractions.
You can freely mix blibs and low level C/C++ functions.
### blc are basic libraries for C/C++ with no specific requirement
- [blc_core](https://promethe.u-cergy.fr/blibs/blc_core) : Generic helpers in C or C++ used by all other blaar projects
- [blc_channel](https://promethe.u-cergy.fr/blibs/blc_channel) : Tools to use shared memory in synchrone ( in test) and asynchrone mode
- [blc_image](https://promethe.u-cergy.fr/blibs/blc_image) : Manipulate blc_array as images. Can load and save them as png files
- [blc_program](https://promethe.u-cergy.fr/blibs/blc_program) : Parse arguments and interacts with user in commandline.
To get details about compilation and documentation of the functions, see [developement](DEVELOPMENT.md).
**SEE ALSO** [sound examples](EXAMPLES.md) | [git FAQ](GIT.md) | [blaar FAQ](FAQ.md)
Projects
========
- [![logo pinobo](http://www.etis.ensea.fr/neurocyber/blaar/images/pinobo_logo.png)PINOBO](http://blaar.org/pinobo.html) A robotic head
You can see an [**example**](https://framagit.org/blibs/blc_core/wikis/home) of manipulating and displaying generic arrays with blc_core
Other documentation
===================
You can create you first project with this example of [image manipulation](https://framagit.org/blibs/blc_image/wikis/home)
How to cite
-----------
**SEE ALSO** [examples](EXAMPLES.md) [development](DEVELOPMENT.md) [git](GIT.md) [Frequently Asked Questions](FAQ.md)
@Misc{blaar,
author = {Arnaud Blanchard},
title = {{BLAAR} : {Basic Libraries And Applications for Robotics}},
organization = {ETIS Laboratory, Cergy-Pontoise, 95000 FRANCE},
howpublished = {url{http://blaar.org}},
year = {2014--2018}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment