Make copy to sdcard more reliable
[apps/agl-service-can-low-level.git] / docs / 2-Installation.md
index b519de3..d4071a4 100644 (file)
@@ -8,21 +8,13 @@ It will produce a _configuration-generated.cpp_ file to paste in the source, _sr
 
 * Make sure you already set up the AGL SDK using the following [guide](http://docs.iot.bzh/docs/getting_started/en/dev/reference/setup-sdk-environment.html).
 
-To get the correct SDK version installed, you **must** prepare your environment with the **chinook-next** version. To do so, run the following command in your docker image:
+To get the correct SDK version installed, you **must** prepare your environment with the **chinook-next** version. To do so, run the following command in your docker image in the step 4 in place of `... [ prepare build environment ] ...`:
 
-> **NOTE** This command assume that proprietary graphic drivers for Renesas Porter board are located in `/home/devel/share/proprietary-renesas-rcar` directory.
+> **NOTE** These commands assume that proprietary graphic drivers for Renesas Porter board are located in `/home/devel/share/proprietary-renesas-rcar` directory.
 
 ```bash
 $ prepare_meta -f chinook-next -o /xdt -l /home/devel/mirror -p /home/devel/share/proprietary-renesas-rcar/ -t porter -e wipeconfig -e rm_work
-```
-
-* Check that you updated git submodules, executing the following commands from this repository:
-
-```bash
-$ git clone https://github.com/iotbzh/CAN_signaling
-$ cd CAN_signaling
-$ git submodule init
-$ git submodule update
+$ /xdt/build/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/)).
@@ -55,9 +47,10 @@ You may want to install `libboost-all-dev` to get all boost components even if i
 
 ```bash
 $ export PATH=$PATH:/xdt/sdk/sysroots/x86_64-aglsdk-linux/usr/bin
+$ export WD=$(pwd)
 $ git clone https://github.com/iotbzh/can-config-generator.git
 $ cd can-config-generator
-$ mkdir build
+$ mkdir -p build
 $ cd build
 $ cmake -G "Unix Makefiles" ..
 $ make
@@ -103,7 +96,7 @@ engine.torque
 
 > **CAUTION** This chapter has not been tested since we 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:
+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:
 
 - CAN messages.
 - Name of CAN signals within messages and their generic_name.
@@ -151,21 +144,35 @@ This generator will follow OpenXC support status of the low level CAN signaling
 > **NOTE**: The `buses` item will not be supported by this generator because the binding use another way to declare and configure buses. Please refer to the binding's documentation.
 
 ## Compile and install the binding
+Clone the binding repository, copy the generated file and updated the git submodules.
+
+Execute the following commands from this repository:
 
-With an AGL SDK environment correctly configured and **sourced**, I suggest you to set the TARGET variable in the root CMakeLists.txt file if you have an AGL target already running in your network.
+```bash
+$ cd $WD
+$ git clone https://github.com/iotbzh/CAN_signaling
+$ cd CAN_signaling
+$ git submodule init
+$ git submodule update
+$ cp $WD/can-config-generator/build/configuration-generated.cpp src/
+```
+
+### Installation using *make install*
+
+With an AGL SDK environment correctly configured and **sourced**, I suggest you to set the TARGET variable in the CMakeLists.txt file located under _src_ directory if you have an AGL target already running in your network.
 
 Then you can directly build and install the binding and source directory on your target system.
 
-Execute these commands to get your binding compile :
+Execute these commands to get your binding compile:
 
 ```bash
-$ mkdir build
+$ mkdir -p build
 $ cd build
 $ cmake ..
 $ make
 ```
 
-And if you have set TARGET variable, you can install it on your AGL system :
+And if you have set TARGET variable, you can install it on your AGL system:
 
 ```bash
 $ make install
@@ -191,6 +198,8 @@ It's because installation remove the binding before installing it.
 
 If it is the first time that you make the installation then you'll have this message in place of _**true**_.
 
+### Installation manually
+
 To install it manually, you need to copy the _low-can-binding.wgt_ file on your target, then from it execute the following commands :
 
 On your host, to copy over the network :
@@ -199,9 +208,9 @@ On your host, to copy over the network :
 $ scp low-can-binding.wgt root@<target_IP>:~
 ```
 
-On the target, assuming _**wgt**_ file is in the root home directory :
+On the target, assuming _**wgt**_ file is in the root home directory:
 
 ```bash
-~# afm-util install low-can-binding.wgt
+# afm-util install low-can-binding.wgt
 { "added": "low-can-binding@0.1" }
 ```