gainer.forum
Welcome, Guest. Please login or register.
May 26, 2013, 05:39:48 AM

Login with username, password and session length
Search:     Advanced search
* GAINER.cc HOME
* +GAINER
* フォーラムへの登録方法の説明(日本語版
1465 Posts in 404 Topics by 380 Members
Latest Member: ashi
* Home Help Search Calendar Login Register
+  gainer.forum
|-+  Japanese(日本語)
| |-+  バグ&要望
| | |-+  ProcessingでのMODE7サポート
« previous next »
Pages: [1] Go Down Print
Author Topic: ProcessingでのMODE7サポート  (Read 14542 times)
fukazawa
Newbie
*
Posts: 9


View Profile
« on: August 22, 2008, 01:15:19 PM »

こんにちは。
以前話題全般のProcessingでのプログラミングについてのスレッドで質問させていただいた者です。
その節はありがとうございました。
雑談の場であるのにすみません、ひとつお伺いしてもよろしいでしょうか。

はじめまして。 Smiley

Processing 用ライブラリに MODE7 (8x8 Matrix LED) のためのメソッドが実装されていないようでしたので、ちょろっと試してみました。ライブラリ build 方法の違いのためか、I/O モジュールの初期化時にエラーになったりするものの、とりあえずは動いています。

おお、これは素晴らしいですね。追加していただいた部分のソースを標準で配布しているライブラリ側に追加させていただいてもよろしいですか?

このMODE7についてなのですが。
私はv1.1.0rc4を使っているのですが、analogOutput[]は相変わらず要素数0で初期化されているようです。
初心者のため大きな見落としをしているのかもしれませんが、追加されているのでしょうか。
もしくは追加されているライブラリを教えて頂けないでしょうか。

度々の質問すみません。
よろしくお願い致します。

Logged
mayfair
The team leader of the GAINER v1 development team
Administrator
Hero Member
*****
Posts: 579



View Profile WWW
« Reply #1 on: August 22, 2008, 01:17:30 PM »

このMODE7についてなのですが。
私はv1.1.0rc4を使っているのですが、analogOutput[]は相変わらず要素数0で初期化されているようです。
初心者のため大きな見落としをしているのかもしれませんが、追加されているのでしょうか。
もしくは追加されているライブラリを教えて頂けないでしょうか。

すみません、まだ公開されているものには取り込まれていません。取り込んだものが公開でき次第、お知らせしますので今しばらくお待ちください。
Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #2 on: August 22, 2008, 09:09:16 PM »

お返事ありがとうございます。

そうですか、わかりました。
できればProcessingで進めたいと考えているので、
ではこの場合、ソースコードをコンパイルして実行できる形にする
というのがひとつ方法としてあると思うのですが、他にも方法がありましたら教えて頂けないでしょうか。
この方法は、ProcessingダウンロードページではMAC版のソースコードはなく、Linux版だけなのでできるかどうかわからないのです・・・。

何度もすみません。よろしくお願い致します。
初心者の私が実行できる形にするよりも追加されたものが公開されるほうが先かもしれませんが・・・。




Logged
mayfair
The team leader of the GAINER v1 development team
Administrator
Hero Member
*****
Posts: 579



View Profile WWW
« Reply #3 on: August 25, 2008, 04:24:28 PM »

こんにちは。

MODE7のサポート追加を含めた最新版のProcessing用ライブラリを遠藤さんに用意していただきました。

暫定的に以下に置きましたので、もしよろしければお試しください。 Wink

http://dl.getdropbox.com/u/36239/processing_r289.zip
Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #4 on: August 26, 2008, 01:14:19 PM »

ありがとうございます!!

試してみます!
すごい!はやいですね。 Shocked
再構築に四苦八苦していたので・・・本当に嬉しいです。

早速やってみます。
本当にありがとうございます。


Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #5 on: August 26, 2008, 08:12:09 PM »

fukazawaです。
MODE7について、迅速な対応ありがとうございました。

MatrixLEDのサンプルを試してみた結果をご報告します。(ここに書くのは違うのかもしれませんが)

Mac OS X、Processing0144、PowerPCG5、ドライバは最新のもので追加された最新版ライブラリ
を試した結果、コンソールにGainer not found となります。
Windows XP、Processing0148、PowerPCG5、ドライバは同じく最新のもので試した場合はコンソール
に以下のようなメッセージが出ます。get ready!以降の文が赤くなっています。


Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
open serial port
version check. OK
silent mode
configuration: MODE7
get ready!

Exception in thread "Animation Thread" java.lang.IllegalMonitorStateException: current thread not owner
   at java.lang.Object.wait(Native Method)
   at processing.core.PApplet.delay(PApplet.java:1948)
   at MatrixLED.draw(MatrixLED.java:57)
   at processing.core.PApplet.handleDraw(PApplet.java:1400)
   at processing.core.PApplet.run(PApplet.java:1305)
   at java.lang.Thread.run(Thread.java:595)


メッセージエリアにはlllegalMonitorStateException: current thread notownerと出ます。
この時マトリクスLEDは回路図でいうと7,8行目で7,8列目の四つが点灯しています。
このサンプルで少し指示を変えてみてもテキストや明るさはちゃんと反応しますが、このエラーメッセージが気になります。

初心者ならではのものすごい基本的なミスをしているのかもしれません、
もしそれでしたらご指摘いただけないでしょうか。また直してやってみたいと思います。
すみません。









Logged
endoh
Developer
Newbie
*****
Posts: 14


View Profile Email
« Reply #6 on: August 26, 2008, 10:00:55 PM »

Processingライブラリ担当の遠藤です。
WinXPでの環境でしか検証できていませんが、
lllegalMonitorStateException: current thread notowner
に関しては0148の環境でのみ起きるようです。
draw()のなかでdelay()を呼ぶとこの例外がおきるようです。
http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Programs;action=display;num=1219295583
0144では問題は起きないので0144をつかうかもしくは、frameRate()を使うなどで解決できます。

macのほうの問題は申し訳ありませんが、
Gainerのインスタンスを作る前に
 Gainer.DEBUG = true;
と書き込んだ上でで表示されるログをコピーして貼り付けてもらえますか?

よろしくお願いします
Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #7 on: August 27, 2008, 12:58:28 PM »

fukazawaです。
ありがとうございます!windowsではそのどちらか試してみます。

すみません、このことで合っているのかどうかわかりませんが・・・
エディタに書き込んだ際のメッセージのことでいいのでしょうか。
コンソールでは

processing.app.debug.RunnerException: unexpected token: void
   at processing.app.Sketch.build(Sketch.java:1538)
   at processing.app.Sketch.handleCompile(Sketch.java:1324)
   at processing.app.Editor.handleRun(Editor.java:1283)
   at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:321)
   at java.awt.Component.processMouseEvent(Component.java:5580)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
   at java.awt.Component.processEvent(Component.java:5348)
   at java.awt.Container.processEvent(Container.java:2010)
   at java.awt.Component.dispatchEventImpl(Component.java:4050)
   at java.awt.Container.dispatchEventImpl(Container.java:2068)
   at java.awt.Component.dispatchEvent(Component.java:3885)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3933)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
   at java.awt.Container.dispatchEventImpl(Container.java:2054)
   at java.awt.Window.dispatchEventImpl(Window.java:1791)
   at java.awt.Component.dispatchEvent(Component.java:3885)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
   at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
processing.app.debug.RunnerException: unexpected token: void
   at processing.app.Sketch.build(Sketch.java:1538)
   at processing.app.Sketch.handleCompile(Sketch.java:1324)
   at processing.app.Editor.handleRun(Editor.java:1283)
   at processing.app.EditorToolbar.mousePressed(EditorToolbar.java:321)
   at java.awt.Component.processMouseEvent(Component.java:5580)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
   at java.awt.Component.processEvent(Component.java:5348)
   at java.awt.Container.processEvent(Container.java:2010)
   at java.awt.Component.dispatchEventImpl(Component.java:4050)
   at java.awt.Container.dispatchEventImpl(Container.java:2068)
   at java.awt.Component.dispatchEvent(Component.java:3885)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4256)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3933)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3866)
   at java.awt.Container.dispatchEventImpl(Container.java:2054)
   at java.awt.Window.dispatchEventImpl(Window.java:1791)
   at java.awt.Component.dispatchEvent(Component.java:3885)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
   at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)



と出ます。
メッセージエリアはunexpected token: voidと出ます。
内容間違っていたらすみません、ご教授下さい。



Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #8 on: August 27, 2008, 02:52:39 PM »

遠藤様

すみません。MACでのエラーについてですが。
先ほどよくよく確認したところクックブックで使っているものと私が使っていたマトリクスLEDは型番が違うということ、それによる配線のミス、MacでWindows版での記述"COM3"をそのままで試していたという基本的なミスが発覚しました。

それらを直して試した場合、ちゃんと動きました。6列目が特に明るく点灯し、34列目はうっすら点灯、78列目は点灯なし、という反応です。
また、windowsの方はframeRateに直したところ、1列目も明るく、2列目は34列目と同じ明るさ、他は同じように動くことが確認できました。
メッセージエリアの表示はArrayIndexOutOfBoundsException: 512となります。MACではこのメッセージはありません。

お騒がせして大変申し訳ありませんでした、
ご面倒おかけして本当にすみません…。
« Last Edit: August 27, 2008, 08:30:30 PM by fukazawa » Logged
endoh
Developer
Newbie
*****
Posts: 14


View Profile Email
« Reply #9 on: August 27, 2008, 10:51:05 PM »

動作して何よりです。
 
Gainer.DEBUG = true;
に関してですが、
setup()内などで
gainer = new Gainer(this)
とGainerのインスタンスを作る前に
Gainer.DEBUG = true;
と書きますと各種命令のやり取りが出力できるようになります。
動作が怪しいときなど、どの命令で止まっているかがわかると思いますので
ご活用ください。
今後ともよろしくお願いします
Logged
fukazawa
Newbie
*
Posts: 9


View Profile
« Reply #10 on: August 31, 2008, 07:37:55 PM »

ありがとうございます。

わかりました。おかしいとき試してみます。
どうもご面倒おかけしてすみませんでした。
ありがとうございました。

Logged
Ammiddeon
Newbie
*
Posts: 1

321162571
View Profile
« Reply #11 on: August 25, 2009, 03:57:21 PM »

Thanks for the testing, L-P.

In the version you tried, I was only proxying the rubyish under_scored method names, and not their camelCased cousins. That why rectMode didnt work, but rect_mode would have. Youre right, though, and if were going to support them at all, it should be in both places, and proxying all of them as well only adds a fraction of a second to start-up time, so they are in now, along with the rest.

Good point about the constants. I added a method that proxies all of the constants into the Processing::Proxy as well. You can use CENTER, P3D, RETURN, PVector, and the rest now.

Is there anything were still missing?
Logged
Pages: [1] Go Up Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!