add restriction
[apps/onscreenapp.git] / README.md
1 # CAN模拟走行规制说明手顺
2
3 ## 5.0.2源码打wayland补丁并重新编译
4
5 ```
6 $ cd meta-agl
7 $ patch -p1 < meta-agl-wayland-ivi-extension_2.0.2.patch
8 ```
9
10 ## 关联Service和App源码的下载地址和版本信息
11
12 1. [low-level-can-service (CommitID:700580)][lowcan]
13
14     需要打开机自动启动补丁
15
16     ```
17     $ cd low-level-can-service
18     $ patch -p1 < low-level-can-service.patch
19     ```
20
21 2. [qlibwindowmanager][qlibwm]
22
23 3. [libwindowmanager][libwm]
24
25 4. [agl-service-windowmanager-2017][wm]
26
27 5. [agl-service-homescreen-2017 (CommitID:1a955ad4)][hs]
28
29 6. [libHomeScreen (CommitID:0240e70e)][libhs]
30
31 7. [restriction][restriction]
32
33 8. [videoplayer][videoplayer]
34
35 9. [homescreen-2017 (CommitID:b5865d4b)][hsapp]
36
37
38 ## SD卡制作 (在PC上操作)
39
40 1. 烧写SD卡
41
42 2. 利用Ubuntu16.04中的Disks工具对SD卡空闲区域进行分区,并格式化为ext4格式, 最终生成分区名如: `/dev/sdb2`
43
44 3. 拷贝video文件到SD卡的media目录下
45
46     ```
47     $ sudo cp Camry_EBV.mp4 /media/$USER/root/media/
48     ```
49
50 4. 拷贝地图数据到SD卡新分区
51
52     ```
53     $ sudo cp -r navi_data /media/$USER/data/
54     ```
55
56 5. 拷贝相关service和app到SD卡
57
58     ```
59     $ sudo cp low-can-service.wgt /media/$USER/root/home/root/
60     $ sudo cp windowmanager-service-2017.wgt /media/$USER/root/home/root/
61     $ sudo cp libpolicy_manager.so /media/$USER/root/usr/lib/
62     $ sudo cp libwindowmanager.so.0.1.0 /media/$USER/root/usr/lib/
63     $ sudo cp libqtWindowmanagerWrapper.so.0.1.0 /media/$USER/root/usr/lib/
64     $ sudo cp homescreen-service-2017.wgt /media/$USER/root/home/root/
65     $ sudo cp libhomescreen.so.0.1 /media/$USER/root/usr/lib/
66     $ sudo cp restriction.wgt /media/$USER/root/home/root/
67     $ sudo cp videoplayer.wgt /media/$USER/root/home/root/
68     $ sudo cp homescreen-2017.wgt /media/$USER/root/home/root/
69     ```
70
71
72 ## 启动配置 (在开发板上操作)
73
74 1. 安装app
75
76     ```
77     ssh root@${BOARDIP}
78     # afm-util remove low-can-service@5.0
79     # afm-util install low-can-service.wgt
80     # afm-util remove windowmanager-service-2017@0.1
81     # afm-util install windowmanager-service-2017.wgt
82     # afm-util remove homescreen-service-2017@0.1
83     # afm-util install homescreen-service-2017.wgt
84     # afm-util install videoplayer.wgt
85     # afm-util install restriction.wgt
86     # afm-util remove homescreen-2017@0.1
87     # afm-util install homescreen-2017.wgt
88     ```
89
90 2. 配置dev-mapping
91
92     ```
93     # echo -e "[CANbus-mapping]\nhs=\"vcan0\"\nls=\"vcan1\"\n" > /etc/dev-mapping.conf
94     ```
95
96     ***注意: 在实车环境下,需要将vcan0和vcan1替换为实车的can设备节点***
97
98 3. 创建生成vcan设备脚本
99
100     ```
101     # echo -e "modprobe vcan\nip link add vcan0 type vcan\nip link set vcan0 up\nip link add vcan1 type vcan\nip link set vcan1 up" > ~/lowcan.sh
102     # chmod +x ~/lowcan.sh
103     ```
104
105 4. 自动挂载SD卡新分区
106
107     ```
108     # echo -e "/dev/mmcblk0p2       /home/root/ALS          auto       defaults,sync  0  0" >> /etc/fstab
109     ```
110
111 5. 链接地图数据
112
113     ```
114     # ln -s /home/root/ALS/navi_data /home/navi_data
115     ```
116
117 6. 修改lowcan启动的service文件
118
119     ```
120     # vi /var/local/lib/systemd/user/afm-service-low-can-service@5.0.service
121     ...
122     //找到此行
123     ExecStartPre=/bin/mkdir -p %h/app-data/low-can-service
124     //增加下面一行
125     ExecStartPre=/bin/sh %h/lowcan.sh
126     ...
127     ```
128
129     ***注意:afm-service-low-can-service@5.0.service文件版本号可能不同,根据实机上的文件进行修改即可***
130
131 7. 重启开发板
132
133
134 ## 调试
135
136 1. 打开videoplayer
137
138 2. 在ssh终端发送can数据
139
140     ```
141     ssh root@${BOARDIP}
142     # cansend vcan0 3BB#01
143     # cansend vcan0 3BB#00
144     ```
145
146     ***说明:
147     3BB#01 表示 Event_LightstatusBrakeOn
148     3BB#00 表示 Event_LightstatusBrakeOff***
149
150
151 [lowcan]: https://oss-project.tmc-tokai.jp/gitlab/als2018/low-level-can-service/tree/master
152 [qlibwm]: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/qlibwindowmanager.git;a=tree;h=696956618c85a6203464720721bdf3ad50bcdaa1;hb=696956618c85a6203464720721bdf3ad50bcdaa1
153 [libwm]: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging/libwindowmanager.git;a=tree;h=9bd3d91218f196da4246e87c8273548f04ced57e;hb=9bd3d91218f196da4246e87c8273548f04ced57e
154 [wm]: https://gerrit.automotivelinux.org/gerrit/gitweb?p=apps/agl-service-windowmanager-2017.git;a=tree;h=a21dd2b748731f1bbe956da6d22a87cc1412de30;hb=a21dd2b748731f1bbe956da6d22a87cc1412de30
155 [hs]: https://oss-project.tmc-tokai.jp/gitlab/AppFW/agl-service-homescreen-2017/tree/ALS
156 [libhs]: https://oss-project.tmc-tokai.jp/gitlab/AppFW/libHomeScreen/tree/ALS
157 [restriction]: https://oss-project.tmc-tokai.jp/gitlab/als2018/restriction/tree/master
158 [videoplayer]: https://oss-project.tmc-tokai.jp/gitlab/als2018/videoplayer/tree/master
159 [hsapp]: https://oss-project.tmc-tokai.jp/gitlab/als2018/homescreen-2017/tree/master