X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2F2-Installation.md;h=fd6360b382962467bab24ea79d51f41c786e1466;hb=b6bc89e63ee24c4e5ec1559d7390da90201ff9cd;hp=c87402c083faf5cacab68be6a4e970a6d0d5f30f;hpb=24c4af5f03b233331782400b780bd5cbca0133a3;p=apps%2Fagl-service-can-low-level.git diff --git a/docs/2-Installation.md b/docs/2-Installation.md index c87402c0..fd6360b3 100644 --- a/docs/2-Installation.md +++ b/docs/2-Installation.md @@ -1,14 +1,15 @@ # Prerequisites -* An AGL system installed with latest Daring Dab version. +* An AGL system installed with latest Daring Dab version with latest Application +framework version >= 0.6. * Make sure you built the AGL generator else you will not be able to generate custom low-level CAN binding. It will produce a _application-generated.cpp_ file to paste in the source, _CAN-binder/low-can-binding/binding/_, directory. -* Make sure you already set up the AGL SDK using the following [SDK Quick Setup Guide](http://docs.iot.bzh/docs/getting_started/en/dev/reference/setup-sdk-environment.html). Alternatively, please refer to official guides available on [AGL Developer Site](http://docs.automotivelinux.org/docs/devguides/en/dev/#guides). +* Make sure you already set up the AGL SDK using the following [Download or Build Your SDK Installer](../../../getting_started/reference/getting-started/app-workflow-sdk.html). Alternatively, please refer to official guides available on [AGL Developer Site](../../../devguides). -To get the correct SDK version installed, you **must** prepare your environment with the **iotbzh** flavor using _prepare_meta_ tool. To do so, run the following command in your docker image in the step 4 in place of `... [ prepare build environment ] ...`: +If you need to have the graphic stack inside your SDK, you have to prepare your environment with the **iotbzh**, or **Daring Dab** flavor using _prepare_meta_ tool. To do so, run the following command in your docker image in the step 4 in place of `... [ prepare build environment ] ...`: > **NOTE** These commands assume that proprietary graphic drivers for Renesas Porter board are located in _/home/devel/share/proprietary-renesas-rcar_ directory. @@ -17,29 +18,28 @@ prepare_meta -f iotbzh -o /xdt -l /home/devel/mirror -p /home/devel/share/propri /xdt/build/m3ulcb/agl-init-build-env ``` -* An [USB CAN adapter](http://shop.8devices.com/usb2can) connected to connector through the [right cable](http://www.mouser.fr/ProductDetail/EasySync/OBD-M-DB9-F-ES/)). +* (Optionnal) An [USB CAN adapter](https://shop.8devices.com/index.php?route=product/product&path=67&product_id=54) connected to connector through the [right cable](https://www.mouser.fr/ProductDetail/EasySync/OBD-M-DB9-F-ES?qs=pLQRQR43dtrcAQQLCUAIxA%3D%3D) if you want to connect to a real car through the OBD2 connector. # Getting started -## Use of CAN config generator +## CAN config generator usage ### Build requirements -* CMake version 3.0 or later +* CMake version 3.3 or later * G++, Clang++ or any C++11 compliant compiler. ### Compile -> **CAUTION** It is **very important** that you do not source the SDK environment file to compile this project because some build requirements aren't installed in the AGL SDK for now. - ```bash +source /xdt/sdk/environment-setup-aarch64-agl-linux export PATH=$PATH:/xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/bin export WD=$(pwd) -git clone --recursive https://gerrit.automotivelinux.org/gerrit/apps/low-level-can-service -export GENERATOR=${WD}/CAN-signaling/CAN-config-generator -cd ${GENERATOR} +git clone --recursive https://gerrit.automotivelinux.org/gerrit/apps/agl-service-can-low-level -b Renesas_delivery_Q2 +git clone --recursive https://gerrit.automotivelinux.org/gerrit/apps/low-level-can-generator +cd ${WD}/low-level-can-generator mkdir -p build cd build cmake -G "Unix Makefiles" .. @@ -86,13 +86,13 @@ engine.torque You can use some basic decoder provided by default by the binding which are: -* ***decoder_t::noopDecoder*** : Default decoder if not specified, return raw value from signal's bitfield. -* ***decoder_t::booleanDecoder*** : Coerces a numerical value to a boolean. -* ***decoder_t::stateDecoder***s : Find and return the corresponding string state for a CAN signal's raw integer value. +* ***decoder_t::decode_noop*** : Default decoder if not specified, return raw value from signal's bitfield. +* ***decoder_t::decode_boolean*** : Coerces a numerical value to a boolean. +* ***decoder_t::decode_state*** : Find and return the corresponding string state for a CAN signal's raw integer value. ### Generating JSON from Vector CANoe Database -> **CAUTION** This chapter has not been tested since we haven't necessary automotive tools for that. +> **CAUTION** This chapter has not been tested since it haven't necessary automotive tools for that. If you use CANoe to store your `gold standard` CAN signal definitions, you may be able to use the OpenXC `xml_to_json.py` script to make your JSON for you. First, export the Canoe .dbc file as XML - you can do this with Vector CANdb++. Next, create a JSON file according to the format defined above, but only define: @@ -143,19 +143,27 @@ This generator will follow OpenXC support status of the low level CAN signaling ## Compile and install the binding +### Build requirements + +* Kernel >= 4.8 +* CMake version 3.3 or later +* G++, Clang++ or any C++11 compliant compiler. + +### Compile + Clone the binding repository, copy the generated file and updated the git submodules. Execute the following commands from this repository: ```bash -cd $WD/low-level-can-service/CAN-binder -cp ${GENERATOR}/build/application-generated.cpp ../low-can-binding/binding +cd ${WD}/agl-service-can-low-level +cp ${WD}/low-level-can-generator/build/application-generated.cpp ../low-can-binding/binding ``` ### Installation ```bash -cd $WD/low-level-can-service/CAN-binder +cd ${WD}/agl-service-can-low-level mkdir build cd build cmake .. @@ -175,5 +183,5 @@ On the target, assuming _**wgt**_ file is in the root home directory: ```bash afm-util install low-can-service.wgt -{ "added": "low-can-service@2.0" } +{ "added": "low-can-service@4.0" } ```