[2019] はじめまして 投稿者:たも 投稿日:02/09/25(Wed) 15:44
はじめまして。私は23歳の会社員です。
今度私の会社の新製品のアピール用としてLEGOをいじりはじめました(legOSを入れて)。
そこで質問なのですが、RCX本体についているボタン(VIEWやPROG等)でwakeup評価用関数を作ろうとしたのですがうまくいきません。
ちなみに環境は2.0 で legOSが0.2.4です。下に例として作ったソースをあげさせてもらいます。
#include <unistd.h>
#include <dmotor.h>
#include <dbutton.h>
#include <conio.h>
#include <unistd.h>
wakeup_t button_press_wakeup(wakeup_t data)
{
return PRESSED(button_state(),data);
}
int main(int argc, char *argv[]){
motor_a_speed(MAX_SPEED);
motor_a_dir(fwd);
wait_event(&button_press_wakeup,BUTTON_VIEW);
motor_a_dir(rev);
return 0;
}
それとmakeしたときにでてくるエラーですが、
undefined reference to `_button_state'
と出てきます。
おそらく"button_state"というマクロが定義されていないということだと自分では思っているのですが、これは私がincludeし忘れているものがあるのでしょうか?自分でいろいろと調べてみたのですがわかりませんでした。
よろしければご指導お願いします。
長文失礼致しました。
[2022] undefined reference 投稿者:">mac 投稿日:02/09/26(Thu) 10:52 <URL>
> 今度私の会社の新製品のアピール用としてLEGOをいじりはじめました(legOSを入れて)。
私としては、人の商売を無料で手助けするのは、
基本的に無しなんだけど、ちょっとだけ (^^;
> undefined reference to `_button_state'
> と出てきます。
> おそらく"button_state"というマクロが定義されていないということだと自分では思っているのですが、これは私がincludeし忘れているものがあるのでしょうか?自分でいろいろと調べてみたのですがわかりませんでした。
linkerが、button_state()という関数がないといっています。
http://www.mi-ra-i.com/JinSato/MindStorms/legOS/RoboCon_No16/event.c.txt
が、参考になるかな。
[2023] Re: undefined reference 投稿者:たも 投稿日:02/09/26(Thu) 13:36
> 私としては、人の商売を無料で手助けするのは、
> 基本的に無しなんだけど、ちょっとだけ (^^;
申し訳ありません。寛大な御心に感謝します。m(_ _)m
私なりに紹介していただいたコードをみて改良してみました。
#include <unistd.h>
#include <dmotor.h>
#include <dbutton.h>
wakeup_t button_press_wakeup(wakeup_t data)
{
return BUTTON_VIEW;
}
int main(int argc, char *argv[]){
motor_a_speed(MAX_SPEED);
motor_a_dir(fwd);
wait_event(&button_press_wakeup, 0);
motor_a_dir(rev);
return 0;
}
しかし、これでプログラムを実行すると、viewボタンを押していないのにモータがrev回転してしまいました。
これはいったいどういうことなのでしょうか?
もしよろしければご指導願います。
p.s 教えて君で申し訳ございません
[2028] Re^2: undefined reference 投稿者:">mac 投稿日:02/09/26(Thu) 19:29 <URL>
実際やってないので、この辺が限界なんだけど、
パクルんだったら最初は全部パクルもんだよね。
それでだめなら、wait_event(&button_press_wakeup, 1);
にしてみるとか...
#include <unistd.h>
#include <dmotor.h>
#include <dbutton.h>
wakeup_t button_press_wakeup(wakeup_t data)
{
return BUTTON_VIEW;
}
int main(int argc, char *argv[]){
motor_a_speed(MAX_SPEED);
motor_a_dir(fwd);
while(1) {
wait_event(&button_press_wakeup, 0);
if ( dm_a.dir == fwd ) {
motor_a_dir( rev );
} else {
motor_a_dir( fwd );
}
}
return 0;
}
[2032] Re^3: undefined reference 投稿者:たも 投稿日:02/09/27(Fri) 13:24
macさん御回答ありがとうございます。
> パクルんだったら最初は全部パクルもんだよね。
全部パクルと著作権とかにひっかかるのでは?と思ったもので。
前述のソースのとおり試したのですが、0でも1でもモータはrev回転してくれませんでした。(;;)
今後は自分なりに模索してみて、ダメなようでしたらあきらめます。
どうもありがとうございました。
[2024] 追記 投稿者:たも 投稿日:02/09/26(Thu) 13:46
上記のコードですが、おそらくwait_eventが正常に働いてないのかと私は思っております。
ということはwakeupの記述がまちがっているのでしょうか?
だらだらと申し訳ありません。
[1939] ブリックエラーって?? 投稿者:azu 投稿日:02/06/26(Wed) 16:28
はじめまして。こんにちは。
私は卒研でレゴについての研究をしています。
今日RIS2.0でプログラムをRCX2.0にダウンロードしようとしたところ、
突然「不明なブリックエラーが発生しました」というものが出てきてRCX_CODEでプログラムしたファイルがダウンロードできなくなってしまいました(T_T)
しかしNQCでのプログラムは正常にダウンロードでき、動作します。
電池も交換してみたのですが変化なしです。
一体ブリックエラーって何ですか??教えてください。お願いします。
[1940] Re: ブリックエラーって?? 投稿者:くるとん 投稿日:02/06/27(Thu) 01:47
> 一体ブリックエラーって何ですか??教えてください。お願いします。
azuさんこんにちは。
私もさっぱりわからないエラーです。お力になれなくて残念。
NQCが大丈夫ですから、RCXハードは無事でソフト面が原因かと。
御使用の環境(RIS 2.0,RCX Code)の場合
レゴジャパンのサポートに聞いてみてはいかがでしょうか。
電話でもメールでも聞けますよ。
http://mindstorms.lego.com/japan/help/support.asp
では、うまく解決するよう祈ってます。
[1941] Re^2: ブリックエラーって?? 投稿者:azu 投稿日:02/06/27(Thu) 13:27
> では、うまく解決するよう祈ってます。
ありがとうございます、
がんばってみます☆
もしもほかに情報を知っている方がいたら教えてくださいm(_ _)m
[1967] Re^3: ブリックエラーって?? 投稿者:きり 投稿日:02/08/02(Fri) 16:28
> > では、うまく解決するよう祈ってます。
>
> ありがとうございます、
> がんばってみます☆
> もしもほかに情報を知っている方がいたら教えてくださいm(_ _)m
>azuさん、くるとんさんぼくも、ブリックエラーがでてしまいました。だけど、まったくなにもわかりません。
[1970] Re^4: ブリックエラーって?? 投稿者:くるとん 投稿日:02/08/03(Sat) 00:12
きりさん、こんにちは。
>azuさん、くるとんさんぼくも、ブリックエラーがでてしまいました。だけど、まったくなにもわかりません。
残念ながらこのエラーの対策はわかりません。
レゴジャパンさんに質問する前に以下の点を調べてから
問い合わせるのがオススメです。
(人それぞれでパソコン環境は別物ですので。)
・自分のパソコンの環境。
(メモリ(RAM)の量/ハードディスクの量/CPUの種類)
・RCX用のソフトをインストールした時にエラーは出なかったか。
・一度は正常に動いたのか。
・どういう操作をするとブリックエラーが確実にでるのか。
電話するなら、パソコンの電源を入れて赤外線タワーをつなぎ、
RCXの電源を入れて赤外線タワーに向けてから
RCXのソフトを起動しておくと、エラーが再現できて良いでしょう。
じゃっ、がんばって!
[1971] Re^5: ブリックエラーって?? 投稿者:きり 投稿日:02/08/03(Sat) 08:03
> きりさん、こんにちは。
>
> >azuさん、くるとんさんぼくも、ブリックエラーがでてしまいました。だけど、まったくなにもわかりません。
>
> 残念ながらこのエラーの対策はわかりません。
> レゴジャパンさんに質問する前に以下の点を調べてから
> 問い合わせるのがオススメです。
> (人それぞれでパソコン環境は別物ですので。)
>
> ・自分のパソコンの環境。
> (メモリ(RAM)の量/ハードディスクの量/CPUの種類)
> ・RCX用のソフトをインストールした時にエラーは出なかったか。
> ・一度は正常に動いたのか。
> ・どういう操作をするとブリックエラーが確実にでるのか。
>
> 電話するなら、パソコンの電源を入れて赤外線タワーをつなぎ、
> RCXの電源を入れて赤外線タワーに向けてから
> RCXのソフトを起動しておくと、エラーが再現できて良いでしょう。
>
> じゃっ、がんばって!
ありがとう。こんど、ためしてみます。
[1972] Re^6: ブリックエラーって?? 投稿者:きり 投稿日:02/08/03(Sat) 08:11
> > きりさん、こんにちは。
> > > > >azuさん、くるとんさんぼくも、ブリックエラーがでてしまいました。だけど、まったくなにもわかりません。
> > > > 残念ながらこのエラーの対策はわかりません。
> > レゴジャパンさんに質問する前に以下の点を調べてから
> > 問い合わせるのがオススメです。
> > (人それぞれでパソコン環境は別物ですので。)
> > > > ・自分のパソコンの環境。
> > (メモリ(RAM)の量/ハードディスクの量/CPUの種類)
> > ・RCX用のソフトをインストールした時にエラーは出なかったか。
> > ・一度は正常に動いたのか。
> > ・どういう操作をするとブリックエラーが確実にでるのか。
> > > > 電話するなら、パソコンの電源を入れて赤外線タワーをつなぎ、
> > RCXの電源を入れて赤外線タワーに向けてから
> > RCXのソフトを起動しておくと、エラーが再現できて良いでしょう> > > > じゃっ、がんばって
> ありがとう。こんど、ためしてみます(^-^)
[2016] エラ一表示の理由 投稿者:石川弥 投稿日:02/09/24(Tue) 17:43
今更ネタなんですが、
ブリックエラ一はもしかしてRIS2.0の
ロ一バ一ボットチャレンジのレベル3ライントレ一ス
サンプルプログラムを表示してダウンロ一ドした時に
でませんでしたか?
私はそのような理由でブリックエラ一が出たんです。
原因はそのサンプルプログラムの左折、右折、前進
の動作時間の値が全て0秒になっていたからだと思われます。
値が0秒といつも表示されるわけではないのですが、
なぜそうなるかまでは分かりません。
ちなみに私はそれ以外のことでブリックエラ一は出ていません。
[2009] 光センサーの使い方 投稿者:やまちゃん 投稿日:02/09/22(Sun) 22:44
はじめまして
VisualBasicからRCX1.0を使ってみようと作り始めたのですが
光センサーの値をVBの変数に入れたいのですが
どうすれば良いのでしょうか
[2010] Re: 光センサーの使い方 投稿者:">mac 投稿日:02/09/23(Mon) 09:54 <URL>
> VisualBasicからRCX1.0を使ってみようと作り始めたのですが
> 光センサーの値をVBの変数に入れたいのですが
> どうすれば良いのでしょうか
Spilit.ocxは、ご存知ですか?
http://mindstorms.lego.com/sdk/index.html
[2011] Re^2: 光センサーの使い方 投稿者:やまちゃん 投稿日:02/09/23(Mon) 14:45
macさん
返答ありがとうございます
Spirit.ocxを使用しています。
SetVarがあるのでGetVarもあるのかと思い探したら
無かったので、光センサーから取得したデーターをVBの
画面に表示できないかと思って書き込みました。
[2012] Re^3: 光センサーの使い方 投稿者:">mac 投稿日:02/09/23(Mon) 16:48 <URL>
> Spirit.ocxを使用しています。
> SetVarがあるのでGetVarもあるのかと思い探したら
> 無かったので、光センサーから取得したデーターをVBの
> 画面に表示できないかと思って書き込みました。
最初にこう書いていただけたら、もっとよかったです。
Poll (Source, Number)を使い、
Sourceに9 or 12
NumberにPort No.を指定します。
[2014] Re^4: 光センサーの使い方 投稿者:やまちゃん 投稿日:02/09/23(Mon) 18:37
macさん返答ありがとうございます。
試してみます
これからは詳しく書くようにします。