概要
-
cantoolsをラズパイでビルドのメモ
cantools is a set of command line tools for dealing with DBC, ASC, and MDF files. The tools can be used to analyze and convert the data to other formats. Shared libraries for parsing and accessing these files are also provided.cantoolsはDBC、ASC、およびMDFファイルを扱うためのコマンドラインツールのセットです。ツールは、分析し、他の形式にデータを変換するために使用することができます。これらのファイルを解析し、アクセスするための共有ライブラリも提供されます。 (グーグル翻訳)
-
cantools-0.15.tar.gz
では、ファイルが足りない? (fileFormat.h
とか)
=> svnから取得 -
libmatio
とか、hdf5
がないとかでエラー
=>sudo apt-get install libmatio-dev
-
compile
とかtest-driver
がないとかでエラー
=>cantools-0.15.tar.gz
に含まれているのをコピー -
リンクエラー
=> ヘッダファイルの、inline void*
をinline static void*
へ -
#
can-utils
は socketcanとかにつかうやつ。
環境
- 2016-05-27-raspbian-jessie-lite.img
手順
sudo apt-get install -y libmatio-dev check automake libtool bison flex
sudo apt-get install -y subversion
svn checkout svn://svn.code.sf.net/p/cantools/code/trunk cantools-code -r 57
wget -O cantools-0.15.tar.gz https://sourceforge.net/projects/cantools/files/cantools-src/0.15/cantools-0.15.tar.gz/download
tar xf cantools-0.15.tar.gz
cp ./cantools-0.15/{compile,test-driver} cantools-code/.
cd cantools-code
#パッチ
sed -i 's/inline/inline\ static/g' src/hashtable/hashtable_itr.h
#
libtoolize --force
autoconf -i -f
./configure LDFLAGS="-L/usr/lib/arm-linux-gnueabihf/hdf5/serial"
make
make check
その他
テスト用に、j1939_utf8.dbc
とかぐぐるといいかも。
dbcls
pi@raspberrypi:~/cantools-code $ ./dbcls --help
Usage: dbcls [OPTION] -d dbcfile
List information about dbcfile.
Options:
-N, --networks list networks
-n, --nodes list nodes
-e, --envvars list environment variables
-m, --messages list messages
-s, --signals list signals
--verbose verbose output
--brief brief output (default)
--help display this help and exit
pi@raspberrypi:~/cantools-code $ ./dbcls -m -d ./j1939_utf8.dbc
$C0000000;VECTOR__INDEPENDENT_SIG_MSG;0;Vector__XXX;"This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider.";;
$88F02DFE;AccelerationSensor;7;Vector__XXX;"The acceleration sensor message shall provide a measurement of the vehicle's acceleration in the lateral, longitudinal,
and vertical axes."; GenMsgCycleTime = 10 (INT) GenMsgSendType = 0 (INT) VFrameFormat = 3 (INT);
$98FCEAFE;VEP4;8;Vector__XXX;"Vehicle Electrical Power #4"; VFrameFormat = 3 (INT);
...
...
...
$9CFDA7FE;VROM;8;Vector__XXX;"Voltage Regulator Operating Mode"; GenMsgCycleTime = 1000 (INT) GenMsgSendType = 0 (INT) VFrameFormat = 3 (INT);
$8CFDA6FE;VREP;8;Vector__XXX;"Voltage regulator excitation status"; GenMsgCycleTime = 100 (INT) GenMsgSendType = 0 (INT) VFrameFormat = 3 (INT);
pi@raspberrypi:~/cantools-code $