Armadilloフォーラム

Armadillo-EVA 1500でのユーザースイッチ活用

hirao-technoaccell

2014年8月26日 16時57分

お世話になっております。平尾と申します。
Armadillo-EVA 1500において、ユーザースイッチ入力をトリガにしてアプリケーションの起動・切替を行おうとしています。
基本的な質問で恐縮ですが、Armadillo EVA-1500にはArmadillo-500に実装されている"swmgr"コマンドは無いのでしょうか?試しにコマンドを入力してみたところ
root@debian:~# swmgr
-bash: swmgr: command not found
コマンドが無いとのレスポンスが返ってきました。
EVA 1500には"swmgr"に相当するコマンドが実装されているでしょうか?或いはC言語ベースで制御プログラムを作成しないといけないのでしょうか?
ご指導のほどよろしくお願い致します。

平尾

コメント

溝渕です。

> Armadillo-EVA1500において、ユーザースイッチ入力をトリガにしてアプリケーションの起動・切替を行おうとしています。
> 基本的な質問で恐縮ですが、ArmadilloEVA-1500にはArmadillo-500に実装されている"swmgr"コマンドは無いのでしょうか?

申し訳ございませんが、"swmgr"コマンドは実装していません。

Armadillo-EVA 1500のデフォルトユーザーランドは、Armadillo-500とは異なり Debian GNU/Linuxが動作しています。

Armadillo-EVA 1500で動作しているDebian GNU/Linuxは、正規認証ファイルを取り出すための"get-board-info-ae1500"パッケージを除いて全てDebianで公開されているパッケージでのみ構成されています。

> EVA1500には"swmgr"に相当するコマンドが実装されているでしょうか?或いはC言語ベースで制御プログラムを作成しないといけないのでしょうか?

Debianパッケージなどで公開されているものを使用するか、自作するかのいずれかになります。

先程Debianパッケージに目を通してみましたが、利用目的に合致しそうなものは見当りませんでした。自作する場合は、atmark-distに含まれる以下のプログラムが参考になると思います。

atmark-dist/vendors/AtmarkTechno/Armadillo-4x0.Common/swmgr/

以上です。

hirao-technoaccell

2014年8月26日 17時59分

溝渕様

お世話になっております。平尾です。
早速のご指導ありがとうございます。やはり実装されていませんでしたか。
プログラム例の案内ありがとうございます。atmark-distのフォルダーから見つけました。これを参考に自作してみます。
今後とも宜しくお願い致します。

平尾

> 溝渕です。
>
> > Armadillo-EVA1500において、ユーザースイッチ入力をトリガにしてアプリケーションの起動・切替を行おうとしています。
> > 基本的な質問で恐縮ですが、ArmadilloEVA-1500にはArmadillo-500に実装されている"swmgr"コマンドは無いのでしょうか?
>
> 申し訳ございませんが、"swmgr"コマンドは実装していません。
>
> Armadillo-EVA 1500のデフォルトユーザーランドは、Armadillo-500とは異なり Debian GNU/Linuxが動作しています。
>
> Armadillo-EVA 1500で動作しているDebian GNU/Linuxは、正規認証ファイルを取り出すための"get-board-info-ae1500"パッケージを除いて全てDebianで公開されているパッケージでのみ構成されています。
>
> > EVA1500には"swmgr"に相当するコマンドが実装されているでしょうか?或いはC言語ベースで制御プログラムを作成しないといけないのでしょうか?
>
> Debianパッケージなどで公開されているものを使用するか、自作するかのいずれかになります。
>
> 先程Debianパッケージに目を通してみましたが、利用目的に合致しそうなものは見当りませんでした。自作する場合は、atmark-distに含まれる以下のプログラムが参考になると思います。
>
> atmark-dist/vendors/AtmarkTechno/Armadillo-4x0.Common/swmgr/
>
> 以上です。
>

溝渕です。

> atmark-distのフォルダーから見つけました。これを参考に自作してみます。

ユーザースイッチのドライバは、Armadillo-EVA 1500とArmadillo-400シリーズ共にgpio-keysを使用しています。イベントコードは全く異なるので修正が必要です。

Armadillo-EVA 1500のユーザースイッチのイベントコードについてはマニュアルの以下の箇所をご参照ください。

http://manual.atmark-techno.com/armadillo-eva-1500/armadillo-eva-1500_p…

以上です。

hirao-technoaccell

2014年8月26日 18時16分

溝渕様

お世話になっております。平尾です。
ご丁寧なアドバイスありがとうございます。
頑張って作成してみます。

平尾

> 溝渕です。
>
> > atmark-distのフォルダーから見つけました。これを参考に自作してみます。
>
> ユーザースイッチのドライバは、Armadillo-EVA 1500とArmadillo-400シリーズ共にgpio-keysを使用しています。イベントコードは全く異なるので修正が必要です。
>
> Armadillo-EVA 1500のユーザースイッチのイベントコードについてはマニュアルの以下の箇所をご参照ください。
>
> http://manual.atmark-techno.com/armadillo-eva-1500/armadillo-eva-1500_p…
>
> 以上です。
>

hirao-technoaccell

2014年8月28日 15時22分

溝渕様

お世話になっております。平尾です。
頂いたアドバイスにそって「swmgr」を作成してみました(添付)。と言っても、swのstruct宣言を
struct _sw sw[] = {
{"sw0", KEY_3, "SW3 on Armadillo-1500 board"},
{"sw1", KEY_4, "SW4 on Armadillo-1500 board"},
{"sw2", KEY_5, "SW5 on Armadillo-1500 board"},
{"sw3", KEY_6, "SW6 on Armadillo-1500 board"},
に変更しただけですが。これをコンパイルし、Armadilloにコピーし
root@debian:~# ls
swmgr
試しに簡単なLEDを点灯する下記コマンドを発行したところ、正しく動作することが確認できました。ありがとうございました。
root@debian:~# ./swmgr sw0 0 echo 1 > /sys/class/leds/LED4/brightness

さてご質問ですが、この作成した「swmgr」ですが、armadillo-1500のどのフォルダーに格納すればよいでしょうか。製品マニュアルを見てみましたが、1500の場合ユーザー作成アプリの処理方法やファイルの構造等の記述が見当たらずお問い合わせした次第です。rc.localの中に、
chmod +x root/swmgr
./root/swmgr
というコマンドを追加する方もあるとは思うのですが、今後のアプリ作成時のためにも正しい配置先を知っておきたいと思います。
基本的な質問で恐縮ですが、よろしくお願い致します。

以上

> 溝渕様
>
> お世話になっております。平尾です。
> ご丁寧なアドバイスありがとうございます。
> 頑張って作成してみます。
>
> 平尾
>
>
> > 溝渕です。
> >
> > > atmark-distのフォルダーから見つけました。これを参考に自作してみます。
> >
> > ユーザースイッチのドライバは、Armadillo-EVA 1500とArmadillo-400シリーズ共にgpio-keysを使用しています。イベントコードは全く異なるので修正が必要です。
> >
> > Armadillo-EVA 1500のユーザースイッチのイベントコードについてはマニュアルの以下の箇所をご参照ください。
> >
> > http://manual.atmark-techno.com/armadillo-eva-1500/armadillo-eva-1500_p…
> >
> > 以上です。
> >

ファイル ファイルの説明
swmgrプログラム1500.txt

溝渕です。

> 頂いたアドバイスにそって「swmgr」を作成してみました(添付)。

添付していただいてありがとうございます。本フォーラムを参照している方に有益な情報となります。

> この作成した「swmgr」ですが、armadillo-1500のどのフォルダーに格納すればよいでしょうか。

[ae1500]# swmgr

上記のように(lsなどのようにパス指定無しで)実行するには、PATHの通ったディレクトリに配置する必要があります。標準状態では次のようになっています。

[ae1500]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

例えば、/usr/local/bin以下にswmgrを配置すると、パス指定無しでswmgrを実行することができます。

その他に、次のようにパスを追加することにより、任意のディレクトリに配置することも可能です。

[ae1500]# export PATH=$PATH:/root/bin

上記、環境変数"PATH"については、Linuxの一般的な情報ですので、
- Linux
- 環境変数
- PATH
あたりをキーワードにWEB検索すると、より詳しい情報が得られると思います。

以上です。

hirao-technoaccell

2014年8月28日 16時04分

溝渕様

お世話になっております。平尾です。
早速のご返信並びにご丁寧なアドバイスありがとうございました。
私はArmadillo-1500のリセット後自動的に「swmgr」を起動させたい( [ae1500]# swmgrを入力することなく)と考えています。その為、自動起動できるフォルダがないか知っておきたいと思いお問い合わせさせて頂きました。私の理解不足での見当違いなご質問ならご容赦を。

以上

> 溝渕です。
>
> > 頂いたアドバイスにそって「swmgr」を作成してみました(添付)。
>
> 添付していただいてありがとうございます。本フォーラムを参照している方に有益な情報となります。
>
> > この作成した「swmgr」ですが、armadillo-1500のどのフォルダーに格納すればよいでしょうか。
>
> [ae1500]# swmgr
>
> 上記のように(lsなどのようにパス指定無しで)実行するには、PATHの通ったディレクトリに配置する必要があります。標準状態では次のようになっています。
>
> [ae1500]# echo $PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
>
> 例えば、/usr/local/bin以下にswmgrを配置すると、パス指定無しでswmgrを実行することができます。
>
> その他に、次のようにパスを追加することにより、任意のディレクトリに配置することも可能です。
>
> [ae1500]# export PATH=$PATH:/root/bin
>
> 上記、環境変数"PATH"については、Linuxの一般的な情報ですので、
> - Linux
> - 環境変数
> - PATH
> あたりをキーワードにWEB検索すると、より詳しい情報が得られると思います。
>
> 以上です。
>

溝渕です。

的違いな回答をし、失礼いたしました。

> 自動起動できるフォルダがないか知っておきたいと思いお問い合わせさせて頂きました。

実行ファイルを配置しておくと、自動起動するようなフォルダはデフォルトでは存在しません。

swmgrを自動的に実行させたい場合は、/etc/rc.localにコマンドを書いておくのが一般的と思います。

以上です。

hirao-technoaccell

2014年8月28日 17時08分

溝渕様

お世話になっております。平尾です。
早速のご回答ありがとうございます。
/etc/rc.localにコマンドを追加する方向で進めます。
今後とも宜しくお願い致します。

以上

> 溝渕です。
>
> 的違いな回答をし、失礼いたしました。
>
> > 自動起動できるフォルダがないか知っておきたいと思いお問い合わせさせて頂きました。
>
> 実行ファイルを配置しておくと、自動起動するようなフォルダはデフォルトでは存在しません。
>
> swmgrを自動的に実行させたい場合は、/etc/rc.localにコマンドを書いておくのが一般的と思います。
>
> 以上です。
>