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)