Robot
ロボット
モーター制御

IXS iMCs01をUbuntu1404で使う

More than 1 year has passed since last update.

目的

IXS Researchのモータコントローラ、iMCs01をUbuntu14.04で使う方法について。
発売から時間が経ち、マニュアルはUbuntu1204を想定しているが、最新のKernelではそのままコンパイルできない。
http://www.ixs.co.jp/products/controller/imcs01-j.html

動作確認環境

Ubuntu 14.04.5(x64) LTS trusty
Kernel 4.4.0-83-generic
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

カーネルのバージョンを確認する。

$ uname -r
4.4.0-83-generic

ドライバーをダウンロードする。

下記のページから、Linux Kernel3.2のドライバーをダウンロードして解凍する。
http://www.ixs.co.jp/support/imcs01d.html

$ wget http://www.ixs.co.jp/download/src/imcs01_driver_3.2.tar.gz
$ tar xvfz imcs01_driver_3.2.tar.gz 

ドライバーをmakeする

makeをすると、下記のエラーが発生する。

$ cd imcs01_driver/driver
$ make

autoconf.hのコピー

urbtc.c:24:43: fatal error: linux/autoconf.h:
そのようなファイルやディレクトリはありません
#include //chg t.miyo

これは、最新のkernelではautoconf.hの場所が変わってしまったため。
linux以下に、autoconf.hをコピーする。リンクを貼っても良い。

$ cd /usr/src/linux-headers-4.4.0-83-generic/include/
$ cd ./generated
$ sudo cp autoconf.h ../linux/

ソースコードの修正

urbtc.c中の、err(...)、dbg(...)関数がエラーを吐いてしまうため、これを全てコメントアウトする。
編集したものは下記に格納。
https://github.com/nnn112358/imcs01_driver-for-Ubuntu1404/blob/master/imcs01_driver%20for%20Ubuntu1404/driver/urbtc.c

$ git clone https://github.com/nnn112358/imcs01_driver-for-Ubuntu1404.git

再度make

再度makeし、Driverファイルが生成されれば完了。

urbtc.ko

ドライバの読み込み

下記のコマンドで読み込み。

$ sudo insmod urbtc.ko

iMCs01を USB コネクタに差す。/dev/urbtc0が作られる。

$ ls -l /dev/urbtc*

アクセス権を変更する。

$ sudo chmod 777 /dev/urbtc*