Armadilloフォーラム

Armadillo440 SW1 状態取得について

murakami_sec

2019年11月5日 14時27分

お世話になります。村上と申します。

Armadillo440でSW1の状態が読めません。

プログラム(C言語)で
/dev/input/event0
をopenしてreadで状態を確認するのですが
イベントコード 28 (KEY_ENTER) に変化することがありません。
(openはエラーが出ていません。)

手持ちのArmadillo420で動作確認済みの実行ファイルで
実行しましたが駄目でした。

スタートアップガイド
(armadillo-440_startup_guide_ja-2.0.1.pdf)
にある「9.3. swmgr 使用例」を参考に
swmgr sw0 1 date
で実行してもSW1の押下を検知しません。
(※同じ手順でArmadillo420はSW1の押下を検知しました。)

2台のArmadillo440で同様の動作結果となっているので
機器の個体不良ではないと思います。

原因として何が考えられるでしょうか?
ご教授のほどよろしくお願いいたします。

コメント

at_makoto.sato

2019年11月5日 15時20分

佐藤です。

> 原因として何が考えられるでしょうか?
> ご教授のほどよろしくお願いいたします。
Armadillo440電源投入後に自動で起動する Xfbdev が先にキーイベントを拾ってしまうためと考えられます。
Xfbdev を kill した後に再度確認してみてください。

murakami_sec

2019年11月5日 15時53分

> 佐藤です。
>
> > 原因として何が考えられるでしょうか?
> > ご教授のほどよろしくお願いいたします。
> Armadillo440電源投入後に自動で起動する Xfbdev が先にキーイベントを拾ってしまうためと考えられます。
> Xfbdev を kill した後に再度確認してみてください。

村上です。早速の回答ありがとうございます。

Xfbdev を killで動作確認できました。

自動起動でSW1を使用するアプリを動作させる場合、
XWindowを使用しなければユーザランドでX.Org KDriveを外すのがセオリーでしょうか?
rc.localで「killall Xfbdev」を実行してからアプリを起動するほうが良いでしょうか?

推奨される方法があれば教えてください。

at_makoto.sato

2019年11月5日 17時38分

佐藤です。

> XWindowを使用しなければユーザランドでX.Org KDriveを外すのがセオリーでしょうか?
X を全く使わないのであれば、こちらのほうが ROMサイズも小さくなりArmadilloの起動も早くなるので良いかと思います。
以下の2つのコンフィグを外して atmark-dist をビルドしてください。

Vendor specific
-->  functester
X Window System
-->  X.Org KDrive

ビルド方法
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

murakami_sec

2019年11月6日 9時58分

村上です。

アドバイスありがとうございます。
2つのコンフィグを外して検証してみます。

この度は対応ありがとうございました。