README.md 4.91 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
=====================================
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++
Arnaud Blanchard's avatar
Arnaud Blanchard committed
8 9 10 11 12
-------------------------
- [blc_core](https://framagit.org/blibs/blc_core) : Generic helpers in C or C++ used by all other blaar projects
- [blc_channel](https://framagit.org/blibs/blc_channel) : Tools to use shared memory in synchrone ( in test) and asynchrone mode 
- [blc_image](https://framagit.org/blibs/blc_image) : Manipulate bla_array as images. Can load and save them as png files  
- [blc_program](https://framagit.org/blibs/blc_program) : Parse arguments and interacts with  user in commandline.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
13

Arnaud Blanchard's avatar
Arnaud Blanchard committed
14 15 16 17
Applications for C/C++
----------------------

- [bapps](https://framagit.org/blaar/bapps.git) : Generic tools to manipulate blc_channels (find max, generate oscillators, ...)
Arnaud Blanchard's avatar
Arnaud Blanchard committed
18

Arnaud Blanchard's avatar
Arnaud Blanchard committed
19 20
Install
=======
Arnaud Blanchard's avatar
Arnaud Blanchard committed
21 22

Mac OSX
Arnaud Blanchard's avatar
Arnaud Blanchard committed
23
--------
Arnaud Blanchard's avatar
Arnaud Blanchard committed
24 25 26 27 28 29

[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
30

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

Arnaud Blanchard's avatar
Arnaud Blanchard committed
33
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
34 35 36

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
37

Arnaud Blanchard's avatar
Arnaud Blanchard committed
38
**Optional modules**
Arnaud Blanchard's avatar
Arnaud Blanchard committed
39

Arnaud Blanchard's avatar
Arnaud Blanchard committed
40
    #o_gnuplot : Draw as gnuplot graph, the values of blc_channels
Arnaud Blanchard's avatar
Arnaud Blanchard committed
41
    brew install gnuplot --with-qt
Arnaud Blanchard's avatar
Arnaud Blanchard committed
42
    git submodule add  git submodule add https://framagit.org/blaar/o_gnuplot.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
43 44 45 46 47
    
    #f_fftw : Apply fft on the signal. Need fftw
    brew install fftw
    git submodule add https://framagit.org/blaar/f_fftw.git
    
Arnaud Blanchard's avatar
Arnaud Blanchard committed
48
    #sndfile : load any kind of sound file. Required libsndfile
Arnaud Blanchard's avatar
Arnaud Blanchard committed
49 50
    brew install libsndfile
    git submodule add https://framagit.org/blaar/i_load_sound.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
51
 
Arnaud Blanchard's avatar
Arnaud Blanchard committed
52
    #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
53 54 55 56 57
    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
58 59 60 61
Ubuntu
------

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

Arnaud Blanchard's avatar
Arnaud Blanchard committed
63
    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
64
    
Arnaud Blanchard's avatar
Arnaud Blanchard committed
65 66 67

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

Arnaud Blanchard's avatar
Arnaud Blanchard committed
68
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
69

Arnaud Blanchard's avatar
Arnaud Blanchard committed
70 71 72 73 74
**Optional modules** 
To install them, copy past the code in a terminal.

    #o_gnuplot : Draw as gnuplot graphs, the values of blc_channels. Need gnuplot
    sudo apt-get install gnuplot
Arnaud Blanchard's avatar
Arnaud Blanchard committed
75
    git submodule add https://framagit.org/blaar/o_gnuplot.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
76 77 78 79 80 81
    
    #fftw : Apply fft function on signal. Need fftw
    sudo apt-get install fftw
    git submodule add https://framagit.org/blaar/fftw.git
    
    #sndfile : load and save any kind of sound file using libsndfile
Arnaud Blanchard's avatar
Arnaud Blanchard committed
82
    sudo apt-get install libsndfile-dev
Arnaud Blanchard's avatar
Arnaud Blanchard committed
83 84 85
    git submodule add https://framagit.org/blaar/sndfile.git
    
    #asound : acquire and produce sound
Arnaud Blanchard's avatar
Arnaud Blanchard committed
86
    sudo apt-get install libasound2
Arnaud Blanchard's avatar
Arnaud Blanchard committed
87 88 89 90 91 92 93
    git submodule add https://framagit.org/blaar/asound.git
 
    #f_view_channel : gtk interface to view blc_channels (need gtk3, blgtk basic library for gtk3,  will be installed)
    sudo apt-get install gtk+3
    git submodule add https://framagit.org/blaar/blgtk.git
    ./install blgtk
    git submodule add https://framagit.org/blaar/f_view_channel.git
Arnaud Blanchard's avatar
Arnaud Blanchard committed
94 95

Adding projects
Arnaud Blanchard's avatar
Arnaud Blanchard committed
96
===============
Arnaud Blanchard's avatar
Arnaud Blanchard committed
97 98 99 100 101
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
102
=====
Arnaud Blanchard's avatar
Arnaud Blanchard committed
103

Arnaud Blanchard's avatar
Arnaud Blanchard committed
104 105 106 107 108
    ./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).
109

Arnaud Blanchard's avatar
Arnaud Blanchard committed
110 111 112 113 114 115
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)