Return const structures.
[apps/low-level-can-service.git] / README.md
index 07860f0..1629ffb 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,71 +1,67 @@
-Nanopb - Protocol Buffers for Embedded Systems
-==============================================
+# CAN signaling binder
 
-[![Build Status](https://travis-ci.org/nanopb/nanopb.svg?branch=master)](https://travis-ci.org/nanopb/nanopb)
+CAN bus binder, based upon OpenXC vi-firmware project.
 
-Nanopb is a small code-size Protocol Buffers implementation in ansi C. It is
-especially suitable for use in microcontrollers, but fits any memory
-restricted system.
+There are 2 separated projects here, one with the CAN-binder that is installed
+on an AGL target and the CAN config generator used to generate a source file for
+the low level binding.
 
-* **Homepage:** https://jpa.kapsi.fi/nanopb/
-* **Documentation:** https://jpa.kapsi.fi/nanopb/docs/
-* **Downloads:** https://jpa.kapsi.fi/nanopb/download/
-* **Forum:** https://groups.google.com/forum/#!forum/nanopb
+Full document can be found under `docs` directory.
 
+# Fast build procedure
 
+Just use build.sh script:
 
-Using the nanopb library
-------------------------
-To use the nanopb library, you need to do two things:
+```bash
+./build.sh
+```
 
-1. Compile your .proto files for nanopb, using protoc.
-2. Include pb_encode.c, pb_decode.c and pb_common.c in your project.
+This will build both projects under build directory for each of them with default configuration.
 
-The easiest way to get started is to study the project in "examples/simple".
-It contains a Makefile, which should work directly under most Linux systems.
-However, for any other kind of build system, see the manual steps in
-README.txt in that folder.
+# Generate documentation
 
+## Prerequisites
 
+You can use gitbook to serve documentation. To do so, please install it using *npm* as well as *calibre* package from your package distribution manager:
 
-Using the Protocol Buffers compiler (protoc)
---------------------------------------------
-The nanopb generator is implemented as a plugin for the Google's own protoc
-compiler. This has the advantage that there is no need to reimplement the
-basic parsing of .proto files. However, it does mean that you need the
-Google's protobuf library in order to run the generator.
+```bash
+sudo npm install -g gitbook-cli
+sudo apt-get install calibre
+```
 
-If you have downloaded a binary package for nanopb (either Windows, Linux or
-Mac OS X version), the 'protoc' binary is included in the 'generator-bin'
-folder. In this case, you are ready to go. Simply run this command:
+To generate Doxygen documentation, you'll need doxygen and graphviz:
 
-    generator-bin/protoc --nanopb_out=. myprotocol.proto
+```bash
+sudo apt-get install doxygen graphviz
+```
 
-However, if you are using a git checkout or a plain source distribution, you
-need to provide your own version of protoc and the Google's protobuf library.
-On Linux, the necessary packages are protobuf-compiler and python-protobuf.
-On Windows, you can either build Google's protobuf library from source or use
-one of the binary distributions of it. In either case, if you use a separate
-protoc, you need to manually give the path to nanopb generator:
+Prepare your build environment:
 
-    protoc --plugin=protoc-gen-nanopb=nanopb/generator/protoc-gen-nanopb ...
+```bash
+mkdir build && cd build
+cmake ..
+```
 
+## Generation
 
+Generate a PDF version :
 
-Running the tests
------------------
-If you want to perform further development of the nanopb core, or to verify
-its functionality using your compiler and platform, you'll want to run the
-test suite. The build rules for the test suite are implemented using Scons,
-so you need to have that installed. To run the tests:
+```bash
+gendocs.sh pdf
+```
 
-    cd tests
-    scons
+Serve an HTML version, this will run a web server that will serve you locally documentation :
 
-This will show the progress of various test cases. If the output does not
-end in an error, the test cases were successful.
+```bash
+gendocs.sh serve
+```
 
-Note: Mac OS X by default aliases 'clang' as 'gcc', while not actually
-supporting the same command line options as gcc does. To run tests on
-Mac OS X, use: "scons CC=clang CXX=clang". Same way can be used to run
-tests with different compilers on any platform.
+Generate doxygen documentation:
+
+```bash
+gendocs.sh doxygen
+```
+or
+```bash
+cd build && make doxygen
+```