README.md 4.05 KB
Newer Older
Arnaud Blanchard's avatar
Arnaud Blanchard committed
1

Arnaud Blanchard's avatar
Arnaud Blanchard committed
2
[![logo](logo_blaar.png)](http://blaar.org)
Arnaud Blanchard's avatar
Arnaud Blanchard committed
3

Arnaud Blanchard's avatar
Arnaud Blanchard committed
4
Basic Libraries And Applications for Robotics
Arnaud Blanchard's avatar
Arnaud Blanchard committed
5
6
7
8
9
10
11
=====================================
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 
12
- [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
13
- [blc_program](https://framagit.org/blaar/blc_program) : Parse arguments and interacts with  user in commandline.
Arnaud Blanchard's avatar
Arnaud Blanchard committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

<!--
Others usefull  basic libraries
----------------------------
- blv4l2 : Video capture on Linux. Need video for linux libv4l2
- blQTKit : Video on MAC OS. Need Quicktime libQTKit
- blcl : OpenCL
- blalsa : ALSA sound on Linux
- blgtk : helpers for gtk graphic library

Basic applications
===============
- [i_channels](https://framagit.org/blaar/i_channels/wikis/home) : Display and manipulate blc channels
- i_coreaudio
- i_create_mask
- i_QTKit_camera
- i_v4l2_camera
- i_oscillator
- [i_tino_arms](https://framagit.org/blaar/i_tino_arms/wikis/home) Broker to drive the arms of the robot tino
- i_wiimote
- [f_view_channel](https://framagit.org/blaar/f_view_channel/) : Display blc channel in a graphical interface
- f_gnuplot : display data graphs of blc_channels
- [f_schunk_hand](https://framagit.org/blaar/f_schunk_hand/wikis/home)
-->

Arnaud Blanchard's avatar
Arnaud Blanchard committed
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Standard install BLAAR
======================

Mac OSX
------------

[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
```sh
curl -sS https://framagit.org/blaar/blaar/raw/master/developer_tools/standard_osx_blaar_install.sh | sh
```

You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/standard_osx_blaar_install.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.

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/)

Ubuntu
------

Copy past this line in a terminal
```sh
 wget -q  -O/tmp/blaar_install.sh  https://framagit.org/blaar/blaar/raw/master/developer_tools/standard_ubuntu_install.sh && sh /tmp/blaar_install.sh; rm /tmp/blaar_install.sh
```

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

You can do [**step by step**](https://framagit.org/blaar/blaar/blob/master/developer_tools/standard_ubuntu_install.sh) copying command line by command line. This may be useful to better understand and in case where the installer crash.


Adding projects
---------------
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
78
=====
Arnaud Blanchard's avatar
Arnaud Blanchard committed
79

Arnaud Blanchard's avatar
Arnaud Blanchard committed
80
81
82
83
84
    ./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.

Usually it is better to use`wraprun.sh` which does the same but use **rlwrap**  to have better keyboard interaction (history, completion, ...). However it sometime confuses terminals with complex displays ( text refreshing, ASCII art, ... ).
85

Arnaud Blanchard's avatar
Arnaud Blanchard committed
86
You have equivalent commands for debugging or editing projects. These scripts are shortcuts and you can manually compile, debug etc. See [developement](development).
87

Arnaud Blanchard's avatar
Arnaud Blanchard committed
88
89
90
91
92
93
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)