- 1 名前:デフォルトの名無しさん mailto:sage [04/09/24 15:07:03]
- BREW(Binary Runtime Environment for Wireless)についてのスレ
QUALCOMM BREWホーム www.qualcomm.com/brew/ja/ www.qualcomm.com/brew/ BREW JAPAN .COM|BREW増強計画 www.brewjapan.com/ 前スレ pc5.2ch.net/test/read.cgi/tech/1076511398/ 関連情報>>2-18 ■過去スレ 02 pc5.2ch.net/test/read.cgi/tech/1076511398/ 01 pc2.2ch.net/test/read.cgi/tech/1011078904/
- 48 名前:35 [04/09/30 10:46:16]
- {
DBGPRINTF("### QR_DecodeSymbol:Start ###"); // ファイル参照 ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_FILEMGR, (void **)&pFileMgr); if(pFileMgr){ pFile = IFILEMGR_OpenFile(pFileMgr, pMe->QR_FileName, _OFM_READ); if(pFile){ // ビットマップヘッダの読み込み ret32 = IFILE_Read(pFile, (void *)&bmFh, 14); ret32 = IFILE_Read(pFile, (void *)&bmIh, sizeof(BITMAPINFOHEADER)); lImageSize = (bmIh.biHeight * bmIh.biWidth * bmIh.biBitCount / 8); }else{ return 1; } // ビットマップフレームデータの取得→16ビットデータをExtensionに渡すための前処理 if(bmIh.biBitCount == 24){ // 24ビット・ビットマップの場合 pimg16 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight * 2 ); if( !pimg16 ){ return 2; } Conv24BGRto16RGB_UpsideDownEx(pFile, pimg16, bmIh.biWidth, bmIh.biHeight, lImageSize); }
- 49 名前:35 [04/09/30 10:47:08]
- if(bmIh.biBitCount == 8){
// 8ビット・ビットマップの場合 IFILE_GetInfo(pFile, &fi); pimg24 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight+100); pimg16 = (unsigned char*)MALLOC(bmIh.biWidth * bmIh.biHeight+100); if( !pimg16 ){ return 2; } ret32 = IFILE_Seek(pFile, _SEEK_END, -lImageSize ); IFILE_Read(pFile, pimg24, lImageSize); Conv8BGRto16RGB_UpsideDown( pimg24, pimg16, bmIh.biWidth, bmIh.biHeight); } if(pFile){ ReleaseObj((void**)&pFile); } if(pFileMgr){ ReleaseObj((void**)&pFileMgr); } }else{ if(pimg24){ FREE(pimg24); } if(pimg16){ FREE(pimg16); } return FALSE; } }
- 50 名前:35 [04/09/30 10:48:23]
- // Extensionを利用してのデコード処理
// パラメータの設定 gImage.imSize= sizeof(QRDEC_IMAGE);// 構造体サイズ gImage.imPixels= pimg16;// フレームデータバッファ gImage.imWidth= bmIh.biWidth;// イメージ幅 gImage.imHeight= bmIh.biHeight;// イメージ高さ gImage.imBitCount= (bmIh.biBitCount == 24) ? 16 : 8;// ビットカウント gImage.imCompression= QRDEC_BI_RGB;// 圧縮形式 gImage.imSourceCameraType= QRDEC_IM_DEFAULT;// カメラ情報1 gImage.imSourceCameraValue= 0;// カメラ情報2 gSymbol.siSize= sizeof(QRDEC_SYMBOL_INFO);// 構造体サイズ gSymbol.siSymbolType= QRDEC_QR_CODE_M2 | QRDEC_JAN13 | QRDEC_JAN8;// ターゲットシンボルタイプ gSymbol.siQRVersionLow= 1;// QRコード対象最小バージョン gSymbol.siQRVersionHigh= 20;// QRコード対象最高バージョン
- 51 名前:35 [04/09/30 10:51:55]
- // 結果文字列受取バッファの確保
if(!pMe->QR_psDecodedText){ pMe->QR_psDecodedText = (unsigned char *)MALLOC(QR_MAX_DECODE_BUFFER_SIZE); if( pMe->QR_psDecodedText == NULL ){ if(pWorkarea){ FREE(pWorkarea); } if(pimg24){ FREE(pimg24); } if(pimg16){ FREE(pimg16); } if(pDibScreen){ ReleaseObj((void**)&pDibScreen); } if(pScreen){ ReleaseObj((void**)&pScreen); } if(pQrdec){ IQRDE3GV_Release(pQrdec); } return (boolean)8; } } MEMSET(pMe->QR_psDecodedText, 0, QR_MAX_DECODE_BUFFER_SIZE); // 結果フォーマット文字列バッファの確保 if(!pMe->QR_psFormatText ){ pMe->QR_psFormatText = (unsigned char *)MALLOC(QR_MAX_DECODE_BUFFER_SIZE); if( pMe->QR_psFormatText == NULL ){ if(pWorkarea){ FREE(pWorkarea); } if(pimg24){ FREE(pimg24); } if(pimg16){ FREE(pimg16); } if(pDibScreen){ ReleaseObj((void**)&pDibScreen); } if(pScreen){ ReleaseObj((void**)&pScreen); } if(pQrdec){ IQRDE3GV_Release(pQrdec); } return (boolean)8; } } MEMSET(pMe->QR_psFormatText, 0, QR_MAX_DECODE_BUFFER_SIZE);
- 52 名前:35 [04/09/30 10:54:04]
- sInfo.tiSize= sizeof(QRDEC_STRING_INFO);// 構造体サイズ
sInfo.tiDecodedBuffer= pMe->QR_psDecodedText;// 結果受取バッファ sInfo.tiFormatBuffer= pMe->QR_psFormatText;// 結果フォーマットバッファ sInfo.tiMaxBufferSize= QR_MAX_DECODE_BUFFER_SIZE;// バッファサイズ // デコードExtensionインスタンスの構築 if ( (ret = ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_QRDEC3GV, (void **)&pQrdec)) != SUCCESS){ if(pScreen){ ReleaseObj((void**)&pScreen); } return 2; } // デコードExtension処理領域の問い合わせ if(!pWorkarea){ lMemoryVecLen = IQRDE3GV_QrdecGetWorkAreaSize(pQrdec); pWorkarea = MALLOC(lMemoryVecLen * 3); if(!pWorkarea){ if(pQrdec){ IQRDE3GV_Release(pQrdec); } return 2; } } // デコードパラメータのセット rc = IQRDE3GV_QrdecDecodeSymbolSetParameters(pQrdec, &gImage, &gSymbol, &sInfo, pWorkarea); if(rc){ if(pWorkarea){ FREE(pWorkarea); } if(pQrdec){ IQRDE3GV_Release(pQrdec); } return 2; } rc = QRDEC_S_CONTINUE;
- 53 名前:35 [04/09/30 10:54:37]
- // デコード処理実行
while (rc == QRDEC_S_CONTINUE ){ rc = IQRDE3GV_QrdecDecodeSymbolNextStep(pQrdec, 150, 100, pWorkarea); } if ( rc == QRDEC_S_OK ){ pMe->QR_lBufferSize = sInfo.tiBufferSize; }else{ ret = QR_GetErr(rc); } if(pWorkarea){ FREE(pWorkarea); } if(pQrdec){ IQRDE3GV_Release(pQrdec); } return (boolean)rc; }
- 54 名前:35 [04/09/30 10:56:36]
- /*-------------------------------------------------------------------------------
QR_DecodeFromBmp QRコード・バーコードデコード処理 IBitmapから直接変換 ------------------------------------------------------------------------------- */ static voidQR_DecodeFromBmp( IApplet* pi, IBitmap* pBmp ){ CHelloWorld2* pMe = (CHelloWorld2*)pi; void*pWorkArea = NULL; IQrdec3GV*pQrdec = NULL; intret; QRDEC_IMAGEimageArea; QRDEC_SYMBOL_INFOcodeInstructions; QRDEC_STRING_INFOstringArea; AEEBitmapInfobi; if( ( ret = ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_QRDEC3GV, (void **)&pQrdec)) != SUCCESS ){return; } { IBITMAP_GetInfo( pBmp, &bi, sizeof(bi)); imageArea.imSize= sizeof(QRDEC_IMAGE);// 構造体サイズ imageArea.imPixels= (unsigned char*)pBmp;// フレームデータバッファ imageArea.imWidth= bi.cx;// イメージ幅 imageArea.imHeight= bi.cy;// イメージ高さ imageArea.imBitCount= 16;// ビットカウント imageArea.imCompression= QRDEC_BI_RGB;// 圧縮形式 imageArea.imSourceCameraType= QRDEC_IM_DEFAULT;// カメラ情報1 imageArea.imSourceCameraValue= 0;// カメラ情報2
- 55 名前:35 [04/09/30 10:57:21]
- codeInstructions.siSize= sizeof(QRDEC_SYMBOL_INFO);
codeInstructions.siSymbolType= QRDEC_QR_CODE_M2; codeInstructions.siQRVersionLow= 0; codeInstructions.siQRVersionHigh= 0; stringArea.tiSize= sizeof(QRDEC_STRING_INFO); stringArea.tiDecodedBuffer= pMe->QR_psDecodedText; stringArea.tiMaxBufferSize= QR_MAX_DECODE_BUFFER_SIZE; stringArea.tiFormatBuffer= pMe->QR_psFormatText; if (pWorkArea == NULL) { unsigned long MemoryVecLen = IQRDE3GV_QrdecGetWorkAreaSize(pQrdec); pWorkArea = MALLOC(MemoryVecLen); } IQRDE3GV_QrdecDecodeSymbolSetParameters( pQrdec, &imageArea, &codeInstructions, &stringArea, pWorkArea); } while (ret == QRDEC_S_CONTINUE ){ ret = IQRDE3GV_QrdecDecodeSymbolNextStep(pQrdec, 150, 100, pWorkArea); } if ( ret == QRDEC_S_OK ){ DBGPRINTF("○●○ QR(Bmp):SUCCESS ○●○"); pMe->QR_lBufferSize = stringArea.tiBufferSize; }else{ ret = QR_GetErr(ret); } if(pWorkArea){ FREE(pWorkArea); } if(pQrdec){ IQRDE3GV_Release(pQrdec); } return; }
- 56 名前:35 [04/09/30 10:58:12]
- 大変長くなってしまって申し訳ありません。
宜しくお願いします。
- 57 名前:デフォルトの名無しさん mailto:sage [04/09/30 11:30:40]
- QRはやってないし、わからんが
そらAEECLSID_JPEGを指定したらJPEGが出力 されるがな。 加工したいならRAW出力で出力して、BMPファイルに すればいいんでねーの?
- 58 名前:35 [04/09/30 13:27:44]
- >>57
AEECLSID_WINBMPやAEECLSID_NATIVEBMPが設定できなかったので、 とりあえず動かすためにAEECLSID_JPEGを設定していました。 というかCAM_ENCODE_RAWの存在をすっかり忘れていました。 RAW出力早速やってみます。
- 59 名前:57 mailto:sage [04/09/30 14:55:04]
- >>58
CAM_PARM_VIDEO_ENCODE_LISTでGetParamやれば サポートフォーマットは取得できる。 まぁ〜BMPサポートしているのなんか見たこと 無いけど とりあえず、RAWはメーカ依存なので絶対とは いえんけどYUV422で出力されると思われ # RGBは見たとき無いな・・・あんのかな?
- 60 名前:デフォルトの名無しさん mailto:sage [04/09/30 16:20:37]
- とりあえず長いソースを晒すときはテキストでうぷしる
でも守秘義務は守ろうな 晒せる範囲に気をつけれ でカメラだが jpg援交画像をimageで取り込み→bitmap化 getフレームのbitmapを直接取り込み あたりをすればよいかと思われ
- 61 名前:58 [04/09/30 21:22:04]
- >>59-60
情報提供&忠告有難うございます。 RAW出力でやってみたのですが、やはりうまくいかないようです。 >jpg援交画像をimageで取り込み→bitmap化 >getフレームのbitmapを直接取り込み サンプルのコードを見る限り、解析するときに ret32 = IFILE_Read(pFile, (void *)&bmFh, 14); ret32 = IFILE_Read(pFile, (void *)&bmIh, sizeof(BITMAPINFOHEADER)); で取得した情報を元に16bitに変換してるようなので、 BMP形式でファイルに保存してからじゃないと無理っぽいです。 IBitmapから直接解析しようとすると、 Extensionの構造体(特にQRDEC_IMAGEのimPixels)に何を入れていいかわからない状態です。
- 62 名前:デフォルトの名無しさん [04/09/30 22:58:44]
- BREW 上でMINIXをさらにショボくしたようなレベルの簡易OSが作れないかな、
と思っているんですが、ちょっと質問。 1、MMUはイジれますか?第一、そもそもハード的にありますか? 2、少なくとも、Dirty Bitは見たいのですが、可能ですか? 3、例外や割り込みはトラップできますか。とりわけ、ページフォルトは? 4、簡易OS上のアプリからのBREWのAPIコールやライブラリコールをトラップ (正確には禁止)できますか? クアルコムは、BREWでJavaVMも書けるよ、と怪気炎を吐いていますので、 このあたりのOSレベルの機能も無理やり開放させる方法があるような気がするのですが、 どうでしょうか。
- 63 名前:デフォルトの名無しさん mailto:sage [04/10/01 22:07:00]
- BREW Developers Agreementについて解説してあるサイトとかないですか?
グラントバック条項として BREWの開発に役立つ特許なら親会社のでも子会社のでもクアルコムに実施料無料で 自由に使わせろって書いてあるように読めるんだけど。 子会社はともかく親会社にそんなこと認めてもらうなんて・・・。 みんなこんな契約そのまま承諾してるのかなあ?
- 64 名前:デフォルトの名無しさん mailto:sage [04/10/02 01:50:48]
- >>60
関係ないが 援交っていーぱつ変換でだすなんt
- 65 名前:デフォルトの名無しさん [04/10/02 03:20:44]
- >>62
だれか教えて! とりわけ、 ・ページフォルトがトラップできるか ・BREW API/ライブラリへのコールがトラップ(もしくは禁止)できるか ・ダーティービットが見れるか この三点、よろしくお願いします。
- 66 名前:デフォルトの名無しさん [04/10/03 23:27:08]
- うーん。クアルコムのサイトでの検索結果では、
非常にダメっぽいなぁ。mmap() すらないんだもんな。
- 67 名前:デフォルトの名無しさん mailto:sage [04/10/04 09:24:17]
- 型宣言について聞いてみたい。
BREWでは int16, int32, uint16, uint32 といった型がわざわざtypedefされているが インターフェイスのヘルプを見ると引数や戻り値に int と書かれているものもある。 みなさんソース書くときにint16とかの記述で統一してますか? それともintも混在で? 「そんなの好きに書けばいいじゃない」って、気にするほどのもんでもないのかな。 (結局はコンパイルでintやlongに置き換わるわけだし) 実は bool型 true, false が boolean型 TRUE, FALSE (1, 0でdefineされてる) で定義されてるのもかなりウザイと感じている。 boolean result = (a != b); がエラーになってバカらしいなと… (BREW的には boolean result = (a != b) ? TRUE : FALSE; )
- 68 名前:デフォルトの名無しさん [04/10/04 10:17:27]
- >みなさんソース書くときにint16とかの記述で統一してますか? それともintも混在で?
自分で宣言した変数ではintしか使ってない。 >実は bool型 true, false が >boolean型 TRUE, FALSE (1, 0でdefineされてる) >で定義されてるのもかなりウザイと感じている。 同感。すげーウザイ。 他にも、KDDI認証とかマニュアルの不便さとか、挙げればキリがない。
- 69 名前:デフォルトの名無しさん mailto:sage [04/10/04 10:33:24]
- BREWは、VC依存でしょうか?
gccでは使用できませんか?
- 70 名前:デフォルトの名無しさん mailto:sage [04/10/04 11:28:33]
- 素人なので間違えてたらごめんなさい。
GNUDEでもできるみたいなんですが、 elf2modが必要で、正式デベロッパーになるか、 auのBREWCPになるか、Visual Studio Addin を入れないといけないみたいですね。 ところで、Visual Studio Addin入れようとするとエラーになるんですが、 やっぱりVisual Studioがないといけないんでしょうか。 String NO_VS_ERR_MSG1 was not found in string table.って出ます。
- 71 名前:69 mailto:sage [04/10/04 11:35:10]
- >>69の質問は、gccで作成されたアプリの資源が生かされるのかどうかの為に聞きました。
よろしく、お願いします。m(. .)m
- 72 名前:69 mailto:sage [04/10/04 11:38:37]
- >>70
すいません。レスを確認しませんでした。 >GNUDEでもできるみたいなんですが、 >elf2modが必要で、正式デベロッパーになるか、 >auのBREWCPになるか、Visual Studio Addin を入れないといけないみたいですね。 なるほど、そうなんですか。gccでも可能ってことですね。 ありがとうございました。
- 73 名前:デフォルトの名無しさん mailto:sage [04/10/04 17:19:33]
- >>69-72
エミュレータ用のDLLを生成するには、Visual C++相当のコンパイラが必要。 gccがVCと互換性のあるDLLを吐いてくれるのかどうかは知らん。 実機向けにビルドするならgccで問題ないが、>>70にあるとおり、Visual Studioが 入っていないとgcc用のelf2modがインストールできない。 まあ、gccベースのアプリをBREW化するのはコンパイラ以外の問題のほうが多いと思うが... (グローバル変数、Cの標準関数、浮動小数点演算が全部NG。 C++の機能も制限あり...これはgccだと回避できるのかな? 100%イベントドリブン+シングルスレッドな構造にそのまま移植できるソースなんて そうないだろうし。)
- 74 名前:デフォルトの名無しさん mailto:sage [04/10/04 22:41:55]
- まあ武龍の売りはイベントドンブリとかうっへり言語じゃなくて
高速で動く高性能チップと それようのネットリワーク環境が ワンセットになっている事らしいから まあチップの中の人とか小人さんがいくら優秀でも それに命令を渡すため書類の書き方やら手続きやら用語やらがあれだったら 中の人やら小人さんも働きようがないゃな
- 75 名前:949 [04/10/05 14:12:49]
- 質問が御座います。
今朝端末でアプリを立ち上げた所、 「エラーが発生しました(004)」と表示され、 製作中の全てのアプリで同じ現象が 発生している状態です。(⊃△T) ※昨日まで動作していました エラー004の内容についてお知りの方、 助言していただけないでしょうか?
- 76 名前:デフォルトの名無しさん mailto:sage [04/10/05 14:21:56]
- >>75
SIGファイルの期限切れ
- 77 名前:75 [04/10/05 14:30:33]
- >SIGファイルの期限切れ
(゚△゚;) クライアント様に新しいの用意して もらいまふ…。_| ̄|○||| >>76 早急なレスありがとうございました。
- 78 名前:デフォルトの名無しさん mailto:sage [04/10/05 16:14:22]
- _| ̄|〇.oO( IBITMAP_Release2回やらんとメモリ解放されない・・・・)
原因が解かりません。 まさか仕様って訳じゃ無いですよ・・・ね? 一応解放されるけどなんか気持ち悪いです。 どなたか解決法知ってましたら助けてくださぃ。
- 79 名前:78 mailto:sage [04/10/05 16:24:52]
- 自己解決しました。
2次配列で取得してました(;´Д⊂)
- 80 名前:デフォルトの名無しさん mailto:sage [04/10/05 17:36:48]
- >>77
SIGは3ヶ月で切れるから気をつけれ
- 81 名前:デフォルトの名無しさん mailto:sage [04/10/06 14:26:42]
- 前スレでGCCでのビルドについて質問した者です。
makefileアップしてもらってもうまく行かずに悩んでいたが、>>76ではたと気づいたよ。 sig作り直したらうまく行きました(;°д°) ついでにC++でもHelloWorldレベルでの確認までできたのでフォーラムのほうにアップしますた。 ttp://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=97 みんなありがとう!(^^)!
- 82 名前:デフォルトの名無しさん mailto:sage [04/10/06 23:49:26]
- 武龍で強制的にスリープさせる方法なんてあんのかね?
- 83 名前:デフォルトの名無しさん mailto:sage [04/10/07 01:17:05]
- >>81
お〜ま〜え〜は〜ア〜ホ〜か〜 まあ、実際良くあることだけどな
- 84 名前:デフォルトの名無しさん mailto:sage [04/10/07 11:27:20]
- BREWで動く関数ポインタの使い方を教えていただけませんか?
下のに書いた感じで、エミュでは問題なく動いてるんですが、 armコンパイルするとエラーが(⊃д⊂) switch caseや if else 多用すれば良いとも言うけど… //キーイベントが発生したら、本関数をコール KeyEvent(AEEApplet *a, uint16 wParam) { void (*key[])(AEEApplet*, uint16)={ KeyEvent_0, //0 KeyEvent_1, //1 KeyEvent_2, //2 … }; //共通処理 key[a->JumpNo]; //各関数へジャンプ }; void KyeEvent_0(AEEApplet *a, uint16 wParam) { //個別処理 } void KyeEvent_1(AEEApplet *a, uint16 wParam) { //個別処理 } //以下略
- 85 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:23:24]
- リンク時にはまだ関数のアドレスが確定してないから、変数の初期値として
関数のアドレスは指定できないよ。 実行しはじめてからでないと。
- 86 名前:84 mailto:sage [04/10/08 00:14:02]
- なるほど…
つまるところ関数ポインタをメンバ構造体へ突っ込んどいて、 動的に初期化すればOKて事ですか・・? うーん、そこまでやるならif elseでズラズラ書いた方が良いかなぁ… ひとまずやってみます。ありがとうございました。
- 87 名前:デフォルトの名無しさん mailto:sage [04/10/08 07:13:45]
- >>85
それじゃぁ呼び出しもできないね。 >>86 「なるほど」じゃねぇだろ。
- 88 名前:84 mailto:sage [04/10/08 08:52:35]
- armコンパイル時にリンクでエラーが出てたと思ったので、
納得してしまったんでつが… じゃぁどーすりゃいいんだyp!ヽ(`Д´)ノ
- 89 名前:デフォルトの名無しさん mailto:sage [04/10/08 08:55:28]
- >>88
「思った」ってなんだよ? エラーでたならエラーメッセージ貼って質問するのが基本なわけだが、できないのか?
- 90 名前:デフォルトの名無しさん mailto:sage [04/10/08 09:11:51]
- >>84
>key[a->JumpNo]; //各関数へジャンプ これに引数は書かないのか? (*key[a->JumpNo])(a, wParam); ではダメ? ちなみに関数ポインタは実機でも使えるよ。 リンクも通るし、できた mod もちゃんと動く。 ただ、前の開発では配列にしたら何故かダメだった。 調べるのもめんどくさいので switch で切り分けた (´A`)
- 91 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:14:34]
- グローバルなポインタの配列?は出来ないくさい。
テーブルのテーブルとかすると叱られた。
- 92 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:59:39]
- なんかBREWの仕様もさながら
ARMコンパイラが腐ってるのが苦労の原因に見える……外から見てると
- 93 名前:デフォルトの名無しさん [04/10/08 11:56:36]
- 質問です。
通信処理を行った後、少しの間動作が遅くなる といった現象が起きているのです。 どうもIWEB_GetResponse使った時点から 遅くなってる様なのですが、 同じ様な現象が起こった方アドバイスいただけませんか? ちなみにソースはこんな感じ↓ venus.aez.jp/uploda/dat/upload10830.txt SDKのサンプル元にしてます。 よろしくお願い致します。
- 94 名前:デフォルトの名無しさん mailto:sage [04/10/08 15:09:39]
- >>93
とりあえず、ぱっと見の突込み所(遅くなる原因かはわからないけど) なんでデータ受信時の再読み込み系でCALLBACK_Initを 何回もやっているの?必要だっけか? たまにしかアクセス行かないアプリなら別だけど IWebをリクエスト毎に生成するのは何故? IWebは基本的に使いまわすもの
- 95 名前:デフォルトの名無しさん mailto:sage [04/10/08 17:18:38]
- >>94
CALLBACK_Initについてはコールバック設定前に行うっていうのはどっかに書いてあったはず・・・。 あとIWebについてだけど あれって使いまわせないと思うんだが? IWebはIWEB_Releaseを行わないと切断できないし。 ついでに>>93については分からないなぁ・・・。 俺のときはメモリを細かく取ってたら遅くなったけど。
- 96 名前:デフォルトの名無しさん mailto:sage [04/10/09 00:41:23]
- >>91
constつけてないだろ。
- 97 名前:デフォルトの名無しさん mailto:sage [04/10/09 23:48:57]
- ラボで貸してくれるという評価ボードって何ができるの?
ICEつなげてソースデバッグとかできるとありがたいんだが・・・・
- 98 名前:デフォルトの名無しさん mailto:sage [04/10/11 12:26:02]
- MSのeMbedded VC++4.0でBREW用バイナリは出来ないのかなぁ・・・。
- 99 名前:デフォルトの名無しさん mailto:sage [04/10/12 19:13:16]
- J2Bトランスレータってどうしたんでしょうね。
10月から始まるって話でしたよね。
- 100 名前:デフォルトの名無しさん mailto:sage [04/10/12 20:11:31]
- Javaに詳しいトランスレーター用の中の人が思ったより集まらなかったのでは?
どうせ家内製手工業だろうし
- 101 名前:デフォルトの名無しさん mailto:sage [04/10/13 00:47:01]
- 十数秒で変換って書いてあるから、手作業はほとんどないと思いますが、
やっぱりあんまり期待できないですね。
- 102 名前:デフォルトの名無しさん mailto:sage [04/10/13 01:20:38]
- BREW開発セミナー
www.staffnet.co.jp/BREWseminar/
- 103 名前:デフォルトの名無しさん [04/10/15 09:18:35]
- ぶりゅっ
- 104 名前:デフォルトの名無しさん [04/10/15 14:46:41]
- はじめまして。
質問なのですが、機種ごとに違う、画面の大きさを取得できる関数が あったとおもうのですが。。なんでしたっけ。 それと、横幅は240で固定なのでしょうか。縦は違う??
- 105 名前:デフォルトの名無しさん mailto:sage [04/10/15 15:24:27]
- >>104
画面の大きさはISHELL_GetDeviceInfoで取得したAEEDeviceInfo構造体に入ってる。 これで機種ごとにサイズを見てみれ。
- 106 名前:93 [04/10/16 21:30:20]
- >>94,95
レスありがとうございます。 試行錯誤しておりますが、現状直らず…。_| ̄|○||| 現状わかった事として 通信終了後(成功失敗に関わらず)、 約1分程で動作速度が元に戻る。(T△T;) CallBack、タイムアウトのタイマーは開放してるんで、 それ系の不具合では無いと思うのですが…。 引き続き情報お待ちしております…。m(_ _)m
- 107 名前:デフォルトの名無しさん mailto:sage [04/10/16 21:49:15]
- 通信とは関係ないけど、
BREWエミュで文字列リソースだけ読ませるだけの アプリ作って起動したらやたらとフレームが落ちて重くなったことがあった。 そこで画像も読ませたりすると普通の速度に戻ったりとか。 原因は不明・・スマン
- 108 名前:デフォルトの名無しさん mailto:sage [04/10/16 22:19:16]
- >>108
>約1分程で動作速度が元に戻る。(T△T;) 見事に自動切断(っていうのか?)の時間レスね なんか解放し忘れてんのかね
- 109 名前:デフォルトの名無しさん mailto:sage [04/10/18 06:45:07]
- ところでenraタソはどこ行きましたか?
- 110 名前:デフォルトの名無しさん mailto:sage [04/10/18 23:57:34]
- pngをメモリから読めますか?APIが見つかりません。
- 111 名前:デフォルトの名無しさん mailto:sage [04/10/19 10:36:37]
- >>110
メモリから読むなら、IMemAStream -> IAStream でIIMAGEにストリーム設定すればいけんでない?
- 112 名前:デフォルトの名無しさん [04/10/19 12:38:15]
- JavaとBREW:
混同してはならない2つの技術の性格 www.mainichi-msn.co.jp/it/coverstory/news/20041018org00m300052000c.html ■■将来は「Java on BREW」か
- 113 名前:110 mailto:sage [04/10/19 20:57:46]
- >>111 できました。ありがとうございます。
- 114 名前:デフォルトの名無しさん mailto:sage [04/10/19 23:42:12]
- とりあえずンニーでカメラ動かそうとすると大変だな
ところでカメラエンコードが失敗したときって何で判定すんの?
- 115 名前:デフォルトの名無しさん [04/10/20 13:04:42]
- >114
よくわからんけど、戻り値を調べるなりできたファイルをチェックするなりすればいいんでは?
- 116 名前:デフォルトの名無しさん mailto:sage [04/10/20 18:56:17]
- エミュレータのソフトキーはキーボードから操作できないのでしょうか。
[*]キーはテンキーの'*' [#]キーはテンキーの'.' [クリア]キーはBS [電源]キーはESC に対応してました。
- 117 名前:デフォルトの名無しさん [04/10/21 18:02:00]
- HTTP接続した後、1分ぐらい別の作業(画面更新とか)したあとに
再度HTTP接続すると、毎回Response code -1200とか返るんですが これはエミュだから?実機でもそう?もしくはサーバー?
- 118 名前:デフォルトの名無しさん [04/10/21 19:02:04]
- ファイルの読み書きなんですけど、
実機ではうまく動いているのにシミュレータでは IFile_Writeの戻り値が0になってしまいます。 どぉすればいいですかね? ちなみにIFILEMGR_GetLastErrorの戻り値はEFSFULLでした。 ファイルシステムに空きがないという事だったのですが、どういう意味でしょうか? またこの場合、どのように対処すればいいのでしょうか?
- 119 名前:デフォルトの名無しさん mailto:sage [04/10/21 19:12:49]
- >>118
brewforums.qualcomm.com/ja/showthread.php?s=&threadid=74
- 120 名前:デフォルトの名無しさん mailto:sage [04/10/21 22:54:14]
- 1ヶ月も前の話になるけど、ゲームショウで
BREWのゲームって出てなかったよな。 KDDIのブースでもマルチマッチングのPS2のゲームがあっただけだし…
- 121 名前:118 [04/10/22 10:18:23]
- >>119
有難うございました!無事解決しました。
- 122 名前:デフォルトの名無しさん [04/10/22 10:42:12]
- 先日BREWをはじめました。
CGI連携について教えてください。 IWebインターフェイスでCGIに連携する時 仕様書のサンプルのようにGetLineで取得すると、テキストデータ以外がとれません。 バイナリ-データを取得するにはどうすればよいのでしょうか? GetLineでは取れないのでしょうか?
- 123 名前:デフォルトの名無しさん mailto:sage [04/10/22 11:11:12]
- >>122
ISOURCE_Read WebRespInfoのpisMessageはISource のインスタンスだべ サンプルにあったような・・
- 124 名前:デフォルトの名無しさん mailto:sage [04/10/22 11:32:06]
- ありゃ、漏れIPEEK_Read()でやってたよ>バイナリの読み込み
まぁ動いてるからいいんかな・・・
- 125 名前:122 [04/10/22 12:53:34]
- う〜ん、うまくとれませんorz
CGIから Print"abc"; なら取れるのに、 print pack("c", $status); だと とれません... なにか必要な設定などありますか?
- 126 名前:デフォルトの名無しさん mailto:sage [04/10/22 13:24:49]
- >>125
HTTPヘッダとボディのデータを一度モニタした方が 良いんでは?
- 127 名前:123 mailto:sage [04/10/22 14:02:35]
- >>125
ごめん。ファイルリソース取得はそれでOK だったけど、昔cgiでバイナリ出力したときは 漏れもエラーになってた気がする orz BREW側のHTTPヘッダの解析でまずいことでもして るのかね? 公式で聞いた方がいいかも
- 128 名前:デフォルトの名無しさん [04/10/24 01:05:29]
- BREWプログラミング実践バイブル
のサンプルプログラムなんですが、エミュレータで動作確認はできないんですかね? やっぱりdllファイルがないとだめですよね。dllファイルを作るまでの知識がないもんで・・
- 129 名前:デフォルトの名無しさん mailto:sage [04/10/24 01:36:07]
- 何がしたいのかはよくわからないけど、
アプリが無いとエミュレータで動作確認はできないねぇ・・・ そういえば、開発者で実戦バイブル買った人っているのかな?
- 130 名前:デフォルトの名無しさん [04/10/25 01:20:04]
- >>129
サンプルをDLしたんですけど、エミュレータで確認したいんですよぉ。 ・゜゜・(≧д≦)・゜゜・。エーン!! DLしたファイルの中にはmif、bid、ソースファイルなどはあるのですが、dllだけないんです。 vc++でコンパイルしてdllを生成するまでの手順がわからないので、困っています。 sdk ver2.1を使っています。 どなたか教えてください。
- 131 名前:デフォルトの名無しさん mailto:sage [04/10/25 01:50:02]
- ARMコンパイラーはあるんですか?
自分もサンプルをエミュで動かしてみたいんですが、 ARMコンパイラーないし、Visual Studioもないし‥。 開発だけなら無料でできるって聞いたのに・・・。orz
- 132 名前:デフォルトの名無しさん mailto:sage [04/10/25 04:09:19]
- >>130
dllの作り方はBREWと関係なしにVC++のマニュアルとか検索で調べるとか。 >>131 エミュレータで動かすならARMコンパイラは不要。 VisualStudioでなくてもVisualC++.NETでも可。Cのソースからdllが作成できればいい。 無料でできるのはBREW SDKのインストール。
- 133 名前:131 mailto:sage [04/10/25 05:45:31]
- >>132
すいません。根本的なところで勘違いしてたみたいですね。 ありがとうございました。やってみます。
- 134 名前:デフォルトの名無しさん mailto:sage [04/10/25 06:05:58]
- >>132
ちゃんと動きました!ありがとうございました!
- 135 名前:デフォルトの名無しさん [04/10/25 11:13:26]
- >>134
エミュレータで、確認できたんですか?やっぱりdllを生成してですか?
- 136 名前:131 mailto:sage [04/10/25 11:45:15]
- エミュで確認できましたよ。dll作りました。
FakeRPGのdllのサイズ400kbもありますけどね。
- 137 名前:デフォルトの名無しさん mailto:sage [04/10/25 11:46:50]
- 「BREWプログラミング実践バイブル」にSDKのインストール方法から、
VC++を使ってdllの作成方法にエミュの起動方法まで載ってるのに、 喪前は一体何を聞きたいんだ?
- 138 名前:デフォルトの名無しさん [04/10/25 14:03:36]
- BREWにて
Graphics2.setRenderMode() みたいなことができる関数ってあるんでしょうか? javaアプリの移植は、結構大変ですねぇ
- 139 名前:デフォルトの名無しさん [04/10/25 16:32:49]
- BREWアプリのプログラム領域とデータ領域ってどのくらいの大きさなんですか?
ググってもそれらしき情報が見当たりません・・ DLできる最大のデータ量が600KBみたいな事は書いてあったんですが。
- 140 名前:デフォルトの名無しさん mailto:sage [04/10/25 16:52:57]
- >>139
600KBってのはCDMA 1X WINのみ。 それでQVGAの機種が300KBだっけ? その他はどうだったか忘れた。
- 141 名前:デフォルトの名無しさん mailto:sage [04/10/25 17:15:14]
- >>139
端末仕様書とかはKDDIのConfidential扱いだから ググっても見つからないかも。
- 142 名前:デフォルトの名無しさん mailto:sage [04/10/25 19:41:59]
- >>137
たぶん、本を買ったんじゃなくて、 ネットで公開されてるサンプルプログラムだけを落とした方だと思います。 自分もそうなので。
- 143 名前:デフォルトの名無しさん mailto:sage [04/10/25 21:41:48]
- 半透明ってできないの?
JAVAのPhase3の時はスプライトで半透明をつかってフェードしたので 同じことやろうと思って調べてんだけど・・・ ISpriteにもないみたい・・・ だれかヒントください
- 144 名前:デフォルトの名無しさん mailto:sage [04/10/26 00:30:25]
- 残念ながら、半透明は非サポート。
将来的にサポートが予定されているんだっけかな・・? どうしてもやりたいなら、DIB直接弄るしかないんでないの?
- 145 名前:デフォルトの名無しさん mailto:sage [04/10/26 00:47:35]
- 最近アホが多いな
- 146 名前:デフォルトの名無しさん mailto:sage [04/10/26 12:08:31]
- とりあえずソースを複数に分けるときってどんな風にやってる?
グローバル変数が使えないから従来のCの様な分け方できないもんな
- 147 名前:デフォルトの名無しさん [04/10/26 13:17:53]
- >>139
BREWはmodファイルもヒープに格納される。 だから、プログラムで使用するヒープ容量とmodサイズがヒープ容量を超えないようにする。 ちなみに、フレームワークでもヒープを消費するようで起動時点で端末によって使用済みヒープ容量が結構違う。 この辺は実機で確認していくしかないでしょ。 #端末のヒープ容量はCP登録していれば一部をQのデベロッパーサイトから見れる #載っていないやつはメーカに問い合わせろとか書いてある ファイルシステム上のサイズのことなら、BREW上での制限は特に無い。 容量使えるだけ使える。 ただ、キャリアのガイドラインがあるから>>140の言っているような制限がある。 KDDIの制限ならKDDIのサイトに詳しい資料があるね。ちょっと古いけど。 >>146 普通のCでもグローバル変数ばしばし使っているようじゃスパゲッティーになるわけだが。 BREWの場合はIApplet構造体をグローバルのように使うのが常道。 #定期的にカーネルへ処理を戻さないといけないから恒常的にデータを保存できるのはここだけ 漏れはC++のフレームワーク作っちゃって、メインクラスのメンバでデータ保存してるけどね。
- 148 名前:143 mailto:sage [04/10/26 21:31:30]
- >>144
thx IDIBでやってみる…
|

|