diff --git a/README.md b/README.md index a2ee9a718f..e714505bfe 100644 --- a/README.md +++ b/README.md @@ -5,63 +5,12 @@ UAVCAN - CAN bus for UAV Reference implementation of the [UAVCAN protocol stack](http://uavcan.org/). -## Usage +## Documentation -Please refer to . - -## Installation - -### Posix - -Prerequisites: - -* CMake v2.8+ -* Python 3.2+ or Python 2.7 -* Any C++03 or C++11 (preferred) compiler - -Installation: -```bash -mkdir build -cd build -cmake .. # Optionally, set the build type: -DCMAKE_BUILD_TYPE=Release (default is RelWithDebInfo) -make -make install -``` - -The make command will generate the C++ headers for all standard DSDL types and build the static library for libuavcan. - -The make install command will install the following components: - -* Libuavcan library. -* All standard DSDL type definitions. -* All generated headers for the standard DSDL types. -* Pyuavcan package (it will be installed for the default Python version). -* Libuavcan DSDL compiler - `libuavcan_dsdlc` (use `--help` to get usage info). -* *Linux only:* Linux drivers for libuavcan (see `libuavcan_drivers/linux/`). - -### Microcontrollers - -No installation required. - -#### Using non-make build system - -1. Invoke the libuavcan DSDL compiler `libuavcan_dsdlc` to generate C++ headers, or include the headers directly from the system directories if they are installed on your host system (described above). -2. Add the source files and include directories into your project: - 1. Libuavcan source files. - 2. Libuavcan include directory. - 3. Directory containing the hierarchy of generated headers. - 4. Source files of the libuavcan driver for your platform (refer to the directory `libuavcan_drivers/`). - 5. Include directories of the libuavcan driver for your platform. -3. Build. - -#### Using make - -It's much easier. - -1. Include `libuavcan/include.mk`. -2. Use the variables `LIBUAVCAN_*` to retrieve the list of source files and include directories. -3. Use the variable `LIBUAVCAN_DSDLC` to invoke the DSDL compiler to generate headers (i.e. add a make target for that). Alternatively, invoke the compiler by hand, or include the headers directly from the system directories if they are installed on your host system (described above). -4. Use the make script for your platform driver. Normally it's `libuavcan_drivers//driver/include.mk`. Refer to the relevant examples to your platform to see how exactly. +* [UAVCAN specification](http://uavcan.org/UAVCAN_specification) +* [Libuavcan overview](http://uavcan.org/Libuavcan) +* [List of platforms officially supported by libuavcan](http://uavcan.org/List_of_platforms_officially_supported_by_libuavcan) +* [Libuavcan tutorials](http://uavcan.org/Libuavcan_tutorials) ## Library development @@ -72,6 +21,7 @@ Prerequisites: * Google test library for C++ - gtest * Static analysis tool for C++ - cppcheck * C++03 *and* C++11 capable compiler with GCC-like interface (e.g. GCC, Clang) +* CMake 2.8+ Building the debug version, running the unit tests and the static analyzer: ```bash