README.md 3.77 KB
Newer Older
Arnaud Blanchard's avatar
Arnaud Blanchard committed
1
[![logo](logo_blaar.png)](http://blaar.org)
Arnaud Blanchard's avatar
Arnaud Blanchard committed
2

Arnaud Blanchard's avatar
Arnaud Blanchard committed
3
Basic Libraries And Applications for Robotics
Arnaud Blanchard's avatar
Arnaud Blanchard committed
4 5 6 7 8 9 10
=====================================
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).

Basic Libraries for C/C++
---------------------------------
- [blc_core](https://framagit.org/blaar/blc_core) : Generic helpers in C or C++ used by all other blaar projects
- [blc_channel](https://framagit.org/blaar/blc_channel) : Tools to use shared memory in synchrone ( in test) and asynchrone mode 
11
- [blc_image](https://framagit.org/blaar/blc_image) : Manipulate bla_array as images. Can load and save them as png files  
Arnaud Blanchard's avatar
Arnaud Blanchard committed
12
- [blc_program](https://framagit.org/blaar/blc_program) : Parse arguments and interacts with  user in commandline.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
13 14


Arnaud Blanchard's avatar
Arnaud Blanchard committed
15 16
Install
=======
Arnaud Blanchard's avatar
Arnaud Blanchard committed
17 18

Mac OSX
Arnaud Blanchard's avatar
Arnaud Blanchard committed
19
--------
Arnaud Blanchard's avatar
Arnaud Blanchard committed
20 21 22 23 24 25

[Video tutorial](http://www.etis.ensea.fr/neurocyber/blaar/videos/blaar_osx_install.mp4)

You need Xcode or a C/C++ compilation (clang, g++, ..). 

Copy past this line in a terminal
Arnaud Blanchard's avatar
Arnaud Blanchard committed
26

Arnaud Blanchard's avatar
Arnaud Blanchard committed
27
    curl -sS https://framagit.org/blaar/blaar/raw/master/developer_tools/install_standard_osx_blaar.sh | bash
Arnaud Blanchard's avatar
Arnaud Blanchard committed
28

Arnaud Blanchard's avatar
Arnaud Blanchard committed
29
You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/install_standard_osx_blaar.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
30 31 32

If you have a problem at compile time it may be due to a bad configuration of your compiler  [**see how to install command line tools mac os x**](http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/)

Arnaud Blanchard's avatar
Arnaud Blanchard committed
33

Arnaud Blanchard's avatar
Arnaud Blanchard committed
34
**Optional modules**
Arnaud Blanchard's avatar
Arnaud Blanchard committed
35

Arnaud Blanchard's avatar
Arnaud Blanchard committed
36
    #f_gnuplot : Draw as gnuplot graph, the values of blc_channels
Arnaud Blanchard's avatar
Arnaud Blanchard committed
37
    brew install gnuplot --with-qt
Arnaud Blanchard's avatar
Arnaud Blanchard committed
38
    git submodule add  git submodule add https://framagit.org/blaar/f_gnuplot.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
39 40 41 42 43 44 45 46
    
    #f_fftw : Apply fft on the signal. Need fftw
    brew install fftw
    git submodule add https://framagit.org/blaar/f_fftw.git
    
    #i_load_sound : load any kind of sound file. Required libsndfile
    brew install libsndfile
    git submodule add https://framagit.org/blaar/i_load_sound.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
47
 
Arnaud Blanchard's avatar
Arnaud Blanchard committed
48
    #f_view_channel : gtk interface to view blc_channels (need gtk3, blgtk basic library for gtk3,  will be installed)
Arnaud Blanchard's avatar
Arnaud Blanchard committed
49 50 51 52 53
    brew install gtk+3 gnome-icon-theme
    git submodule add https://framagit.org/blaar/blgtk.git
    git submodule add https://framagit.org/blaar/f_view_channel.git
    ./install blgtk

Arnaud Blanchard's avatar
Arnaud Blanchard committed
54 55 56 57
Ubuntu
------

Copy past this line in a terminal
Arnaud Blanchard's avatar
Arnaud Blanchard committed
58

Arnaud Blanchard's avatar
Arnaud Blanchard committed
59
    wget -q  -O/tmp/blaar_install.sh  https://framagit.org/blaar/blaar/raw/master/developer_tools/clone_and_install_ubuntu_blaar.sh && bash /tmp/blaar_install.sh; rm /tmp/blaar_install.sh
Arnaud Blanchard's avatar
Arnaud Blanchard committed
60
    
Arnaud Blanchard's avatar
Arnaud Blanchard committed
61 62 63

You will be requested at some point to enter your admin password to make the installation.

Arnaud Blanchard's avatar
Arnaud Blanchard committed
64
You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/clone_and_install_ubuntu_blaar.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
65 66 67


Adding projects
Arnaud Blanchard's avatar
Arnaud Blanchard committed
68
===============
Arnaud Blanchard's avatar
Arnaud Blanchard committed
69 70 71 72 73
You will only have basic framework. You should add projects as needed

To add  project use : `git submodule add <project repository>` 

Usage 
Arnaud Blanchard's avatar
Arnaud Blanchard committed
74
=====
Arnaud Blanchard's avatar
Arnaud Blanchard committed
75

Arnaud Blanchard's avatar
Arnaud Blanchard committed
76 77 78 79 80
    ./run.sh <project directory> [--help] [others args ...]

This automatically compiles the project in release mode and executes it. You do not risk anymore to test a program you forget to recompile.

You have equivalent commands for debugging or editing projects. These scripts are shortcuts and you can manually compile, debug etc. See [developement](development).
81

Arnaud Blanchard's avatar
Arnaud Blanchard committed
82 83 84 85 86 87
You can see an [**example**](https://framagit.org/blaar/blc_core/wikis/home) of manipulating and displaying generic arrays with blc_core

You can create you first project with this example of [image manipulation](https://framagit.org/blaar/blc_image/wikis/home)