README.md 4.93 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
75
76
77
78
79
80
81
**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
    git submodule add  git submodule add https://framagit.org/blaar/o_gnuplot.git
    
    #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)