yuuto_koube
2014年4月9日 20時29分
いつもお世話になっております。
いくつかお伺いしたいのですが、回答いただけますでしょうか。
使用デバイス :armadillo-440
開発環境 :atde4
1、USBデバイスを認識するのに必要な設定(カーネル及びユーザーランド)がありますか?
2、rs232c-USB変換機を用いてarduinoから値の取得を試みておりますが
ardiunoもUSBデバイスとして認識できるのでしょうか?。
ちなみに以下の記事を利用してプログラムを作成し、Teratermへの出力を試みましたが値の出力を確認できませんでした。
参考URL: http://armadillo.atmark-techno.com/faq/serial-programming
作成したプログラム
#include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> #include <termios.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #define SERIAL_PORT "/dev/sd1" /* シリアルインターフェースに対応するデバイスファイル */ int main(int argc, char *argv[]) { char buf[2]; /* バッファ */ int fd; int i; /* ファイルディスクリプタ */ struct termios oldtio, newtio; /* シリアル通信設定 */ fd = open(SERIAL_PORT, O_RDWR); /* デバイスをオープンする */ do{ read(fd, buf, sizeof(buf)); /* デバイスから読み込み */ printf("%d", buf[0]); printf("%d", buf[1]); printf("%d\n", buf[2]); }while( buf[0] = '\n' ); close(fd); /* デバイスのクローズ */ printf("Hello World!\n"); return 0; }
3、Qtを用いてarmadillo-440の液晶パネルにgifアニメーションを表示させたいのですが
カーネル及びユーザーランドの設定が必要でしょうか?
必要ならば変更箇所もご教授いただけると幸いです。
※Qtはver_4.8.2です。Qtcreatorは、ver_2.5.2
以上、何卒よろしくお願いいたします。
コメント
sankyo_takada
お世話になっております。
> 3、Qtを用いてarmadillo-440の液晶パネルにgifアニメーションを表示させたいのですが
> カーネル及びユーザーランドの設定が必要でしょうか?
> 必要ならば変更箇所もご教授いただけると幸いです。
Armadillo-410でgifアニメーションを表示させることは可能でしょうか?
この投稿を見ましたが、解決できておりましたらご教授いただけると助かります。
Qtで作成したプログラムからgifアニメを表示させようとしたところ、ホスト上では表示されましたが
ターゲット上では非表示となってしまいました。
よろしくお願いいたします。
at_takashi.sasayama
笹山です。
> Qtで作成したプログラムからgifアニメを表示させようとしたところ、ホスト上では表示されましたが
> ターゲット上では非表示となってしまいました。
QMovie で gifアニメーションの表示を行われていますか?
それですと、ホストでは表示されるのに、Armadilloで表示されないのは、
Armadillo に libqgif.so (gifプラグイン) が追加されていないのが原因です。
例として QMovie::supportedFormats() を実行すると、
ホスト(ATDE4)と、Armadillo では結果が異なると思います。
サンプルコード
QMovie *movie = new QMovie("animation.gif"); qDebug() << "Supported format:" << movie->supportedFormats(); QLabel *processLabel = new QLabel(this); processLabel->setMovie(movie); movie->start();
ホスト(ATDE4) での結果
Supported format: ("gif", "mng")
Armadilloでの結果
Supported format: ("")
Howto : Armadillo-440でQt! 第2回
http://armadillo.atmark-techno.com/howto/armadillo-440-qt-2
上記 Howto で公開している ユーザーランドをお使いでしたら、
atmark/atmark-dist-qt-20121105/vendors/AtmarkTechno/Armadillo-440.Qt にある
hello_qml/Makefile
hello_qt/Makefile
samegame/Makefile
のいずれか1つを編集し、INSTALL_QT_PLUGINS に libqgif.so を追加してください。
hello_qml/Makefile の編集例
1 TARGET=hello_qml 2 INSTALL_FONTS=TakaoPGothic.ttf 3 INSTALL_QT_PLUGINS=libqtslibmousedriver.so libqgif.so # libqgif.so を追加
編集後、ユーザーランドの再ビルドを行いますと、
/usr/local/Trolltech/Qt-4.8.3-qws-armel/plugins/imageformats/libqgif.so が
ユーザーランドイメージに含まれ、gifアニメーションを表示できるようになります。
QMovie::supportedFormats() では gif が確認できるようになります。
libqgif.so 追加後の Armadilloでの結果
Supported format: ("gif")
sankyo_takada
izawa
2014年4月9日 21時15分
取り急ぎ、気になった点だけ。
1. USB機器をA440に繋いで認識させたいということでしたら、デバイスによってはカーネルの設定が必要でしょう。
ATDEでmake menuconfigしてDeviceDriverのUSBの辺りですね。
2. USBtoSerialをどっち向きで繋いでいるんでしょうか。A440側がUSBなら、変換器がUSB機器として認識されます。
つまり、変換器のドライバーを組み込まないといけないということです。上記に該当しますね。
逆に、A440側がシリアルなら、ただのシリアルポートです。その場合はUSBは関係ありません。
尚、そのプログラムはシリアルポートの設定をしていないようですので巧く動くと思えません。
ついでに言えば、配列の範囲外をアクセスしているのでその辺もアレですね。
それと、そのプログラムでは入力を試みているようですが……
3.Qtは私も試してみたいと思いつつ暇がなくて試してません。
AtmarkTechnoさんのサイトのHowTo記事がありますから、先ずはそちらをご覧になっては如何でしょう。