X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=README.md;h=a608363b2d606eb927343437b0fae948a6fedb04;hb=fa5efb55fb570b33a842917565592df04d400e94;hp=459eaf84613687a07cb60996ea41dd64b478854a;hpb=16f08f9fc8ff73e775cbf54b1024629ca7db0e58;p=apps%2Flow-level-can-service.git diff --git a/README.md b/README.md index 459eaf8..a608363 100644 --- 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://koti.kapsi.fi/jpa/nanopb/ -* **Documentation:** https://koti.kapsi.fi/jpa/nanopb/docs/ -* **Downloads:** https://koti.kapsi.fi/jpa/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. -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 +```