[[作業日誌]]

&ref(title.jpg);

目次
#contents();

*メニュー [#b38d2a47]
-[[ファイル置き場>./upload]]
-[[資料置き場>./warehouse]]
-[[覚え書き>./howto]]
-[[TOPPERS/ASP詳解>./toppers-asp]]
-[[USBホストドライバ開発>./usb-host]]
-[[Bluetoothスタック>./bluetooth]]
-[[Ubuntu 10.10で始める組み込みプログラミング>./Ubuntu10.10]]
**Nishinoへのコメント [#n09a2a1c]
#pcomment(reply);

//**過去の日記 
//ページが長くなってきたら、過去の日記として別ページに保存するのがおすすめっす
//-[[./2010年4月]]

#region(作業計画)
*作業計画 [#a3e42a76]
**XperiaからWindowsにファイルを受信する(Windows) [#n7e95306]
**XperiaからWindowsにファイルを送信する(Xperia) [#obeddfa7]
**XperiaからWMPを操作する [#s0c44b79]
**ipodとWindowsでシリアル通信する [#x093a702]
**ipodとWindowsでシリアル通信をしてmp3タグを取得する [#bdd92c28]
**ipodとWindowsでBTシリアル通信をする [#d7c95c99]
**ipodとXperiaでBTシリアル通信をする [#jce16781]
とりあえずここまで。
#endregion

*11/02/13(日曜日) [#e0e590a2]
がっつりと宣伝。そしてパトロン募集中。

プログラミング同好会を結成します。
取り敢えず同好会でやること一覧

・カンファレンスに参加→人脈発掘(コネ作り)
・コンテスト荒らし
・金策
・ゲーム製作
・解析
・趣味プログラミング

簡単に言うと、就職のためのガチプログラミング修行部屋です。
低レイヤーからクラウドまで幅広いジャンルを狂ったようにやります。
未踏ユースとかにも参加する予定。
パソコン置くために部屋とか欲しいぞ。あと仲間ください.

「ただのプログラミング同好会には興味ありまry」

セキュリティ関係では
・ステルスマルウェア製作&解析
・ハイパーバイザを利用したSOFTICE並のデバッガツール製作
・ハードウェアHACK(ルータ、ゲーム機などのCFW作成)
などの日本語の情報があまりない感じのことをやろうと思います。

あと、卒論のプログラミングをお手伝いするかもしれない。
%%勿論サークル名はみんなのプログラム屋さん%%

『金沢大学プログラミング同好会 Hogehoge(仮)』

詳細は来年の4月を待て。


USB関連の情報はMH3が終わった頃にうpします。

*11/01/12(水曜日) [#a905d0ed]
最近PS3自作ソフト界隈がやばい。
ハッカーがPS3ソフトのMetldr Keyを公開→PSPのkirk engineのキーも芋づる式に発見→メリケンソニーマジ切れ告訴準備中

よくわかる解説
[[Geohot氏のmetldr key、Mathieulh氏のkirk engine key、そしてPlayStation神話崩壊:http://gamegaz.jp/blog/2011/01/03/549]]

まぁ、簡単に言うと、PS3に任意のプログラムがインストールできる時代になりました。改造どころかPSGrooveすら要らない子。余波でPSPまで丸裸。
CFWをインストールするだけでおk。非常に楽で御座います。

というわけで、いままで以上にPS3の自作ソフト界隈がHOT&でんじゃらすなわけ。

Cellの評価ボードにグラボまで付けて格安で提供してくれるなんてスゴ過ぎ。
さすがSONY!貧乏人にできない事を平然とやってのけるッ!
そこにシビれる!あこがれるゥ!

メモリが少ないので、PC上ソフトのアクセラレータとして使うのが最適。
今年の春はみんなで分散システムを組もう!

For自作ユーザー
[[Setup a build environment for compiling and running homebrew for PS3:http://scognito.wordpress.com/2010/11/04/setup-a-build-environment-for-compiling-and-running-homebrew-for-ps3/]]

……そろそろメモリ2GBくらいでRadeon6000番台のグラボを詰んだPS4(笑)が登場するかもしれない。

ps3publictoolsを埋め込んだファームウェア3.55用のPSL1GHTが欲しい人はコメントにでも書いといてください。部活にパッチ持ってきます。

*10/12/25(土曜日) [#k58b030a]
xrdpがひっそりと0.6になってたのでメモ。
cvsとgitのバージョン一緒だと勝手に思ってたらgitのほうが上だったorz

Ubuntu 10.10 (x86) 上で作業しました。

適当に作業用フォルダ作成
 mkdir src/xrdp
 cd src/xrdp
必要なものをインストール
 sudo apt-get install git autoconf libtool libssl-dev libpam0g-dev libx11-dev libxfixes-dev
ソースコード入手
 git clone git://xrdp.git.sourceforge.net/gitroot/xrdp/xrdp
コンパイルしてインストール
 cd xrdp
 ./bootstrap
 ./configure
 make
 sudo make install
日本語設定(geditキリッ)
 cd /etc/xrdp 
 sudo cp -ip startwm.sh startwm.sh.org
 sudo gedit startwm.sh
下記のサイトを参考にしつつ
[[xrdp 0.5.0 / 日本語入力 - Sceneries through the lenses:http://blog.goo.ne.jp/thaniwa/e/7da32303f57992beb7bea88e62fa5291]]

【scim-anthyの場合】
 #export PATH=$PATH
 #export LANG=$LANG
 export LANG=ja_JP.UTF-8
 .
 .
 .
 # auth       required     pam_env.so readenv=1
 if [ "$LANG" = "ja_JP.UTF-8" ]; then
 export XMODIFIERS=@im=SCIM
 export GTK_IM_MODULE=scim
 scim -d &
 fi
【ibus-anthyの場合】
 #export PATH=$PATH
 #export LANG=$LANG
 export LANG=ja_JP.UTF-8
 .
 .
 .
 # auth       required     pam_env.so readenv=1
 if [ "$LANG" = "ja_JP.UTF-8" ]; then
 export XMODIFIERS=@im=ibus
 export GTK_IM_MODULE=ibus
 export QT_IM_MODULE=xim
 ibus-daemon -d -x &
 fi
おまじない
 sudo service xrdp restart

終了。お粗末。

日本語キーボードの人はもう少し頑張ればおk。
[[xrdp の日本語キーボード認識:http://blog.goo.ne.jp/thaniwa/e/52119bba4fc63becaaeac505c6564d20]]

Sambaが先にインストールしてあれば、ポートを勝手に開けてくれるのでxrdpの設定が楽になる。
(もしかしたらxinetd入ってれば勝手に開けてくれるかも。勘違いしてたらスマソ)

Sambaをインストールしてない人はポートを開放して接続。
(TCPポートの3350,3389,5910の3つを開放すればたぶんいけるはず)

かなりいい加減なメモなので[[Ubuntu 10.10で始める組み込みプログラミング>./Ubuntu10.10]]にまとめます。

*10/12/24(金曜日) [#u9e48e2a]
今年のクリスマスは中止になりました。

冬休みを有意義にするために、今までのまとめとか。

現在やってるプログラミング関係なこと一覧。
・Springhead2 for DirectX(能力不足のために休止中)
・Plan9 Extended for PS3 (いろいろと移植中&改変中。もはや別物)
・トラ技78K0マイコンでPS3をホゲホゲ(完全に失念してた)
・SH7262のUSBホスト機能実装 (一番頑張ってる)
・TOPPERS/ASPのソース読解 (いろいろと謎な部分あり)
・DirectX10解析 (解析してると落ち着く)
・オープンソースプロジェクトのアレ
・ひみつ1
・来年のモノづくり実践プロジェクト用のアレ
・来年の未踏ユース用のアレ
・ちょっとアレげな便利ツール多種

それ以外
・素敵な基板作成
・ラムダ式習得(Z combinatorとか)
・開発用LinuxPCの準備(仮想マシンから卒業w)
・3D美少女とキャッキャウフフ(ボーン実装)

し、死んじゃう、らめぇーーー!

なんちゃってリアルタイム即応性分散システムのおかげで、
もうちょっと作りこめばPS3でPCゲームのアクセラレーションができそう。
Fallout: New Vegasのアクセラレーションとか想像してニヤニヤ。
PC版どころかPS3版すら持ってねぇけどな!orz
%%どうせまたGOY版出るんでしょ?%%

プログラミング系の成果物は来年サークル創ったら公開すると思われ。
USBホスト実装はダラダラやるけど真面目に内容を書き残すと思ふ。

突然話は変わるが、現在プログラミングゼミ用のパワーポイント製作してる。
セキュリティ的に考えて出来そうなことを纏めてみたら、酷すぎて泣きそうになった。

調べてみると、金沢大学に限った話でもないので各地の大学がこんなもんらしい。
お役所仕事極まってるだけな気もする。
%%こんなザルなセキュリティでユビキタスとか言って無線LANルータ付けまくってたら入られ放題だろうがカス%%

今すぐ俺の住所覧をM77星雲に書き換えたいです。


今年の冬は、アナライジングマルウェアを読みながらまったりしませう。

*10/12/20(月曜日) [#gba80afb]
USBホストドライバ開発に必要な知識がほとんど揃ったのでページをまとめる。
ついでに「Eclipseで始める組込み系プログラミング」とか書いてもいいのだけれど、
需要あるのだろうか…。

*10/12/18(金曜日) [#j89c3d2a]
金曜日夜8時からWSで行われる、秘密のプログラミングゼミに行ってきた。
今日は発表するものを決めたので、次回(1月7日)までに資料を作成します。

 「【おそまつさん】金沢大学のセキュリティはKU-SSO」
 「【脆弱性攻撃の基本】KU-SSO-MISS-OH!テクニック」
 「【やらないか?】阿部さん(いい男)で学ぶexploit」

の三本仕立てになる予感。アーッ!
一本5分くらい。全部で15分程度で終わればいいな。
一応、計算機リテラシーの時間に「WSのroot取れるなら取っていいよ。無理だと思うけど」と言われたのでそこは問題ないはず。
冗談だと思っていい加減なこと言うとしっぺ返しに合うんだからねッ!
解析畑の人間にそんなこと言う前に、ちゃんとパッチ当ててくれ。頼むからホント。
興味ある人がいたら是非参加してください。

いちおう、WS以外に存在する金沢大学のセキュリティ問題にもふれるかも知れませんが、実演できるのは時間的にWSのroot奪取だけになると思います。
時間が余れば、シェルコードの作成方法の概要にも触れる?

あと、バイオインフォマティクスの研究室に見学したら、
%%「テメェの考えてることマジ無理だから!一年坊が調子乗ってんじゃねぇぞカス!」%%
「この研究室じゃ難しいと思うよ」みたいなことを言われたので、国立シンガポール大学(NUS)へ留学することにほぼ確定。メカノバイオロジー研究所行きたい。
趨勢が変われば、そのときは他の大学院になりそうだけど。
日本はいろいろと法整備の関係でもたつきそうなので、英語を頑張って院は海外に行きます。

生物で3次元プリンター作るのは難しいか…。
技術的に不可能と言われるとやっぱり結構ヘコむ。絶対にやるけど。
成功するか、野垂れ死ぬかのどっちかじゃないと研究する面白みに欠けるだろjk。

%%まぁ、本音は「テメェらがちんたらやってるから、俺のやりたいことが『技術的に不可能』な研究になっちまったんだろうがボケ!!」だけど…そんなことは口が裂けても言えない。%%

京大の宮田隆先生の
[[古い遺伝子を使って新しい形を作る:カンブリア爆発と遺伝子の多様性:http://www.brh.co.jp/katari/shinka/shinka17.html]]
とか
[[分子進化の機構を探る:http://www.sci.kyushu-u.ac.jp/html/whats/53.pdf]]
を見れば、遺伝子がほとんど変わらなくてもモジュールのON・OFFだけで外見変えられるみたいだけど。


USBホスト開発をそろそろ再開しまふ。


*10/11/21(日曜日) [#eb81668c]
Windows7からUbuntuにアクセスしたいのでSMB2.0を試験的にサポートしてる最新版を使う。[[ここ:http://www.samba.org/samba/download/]]からSamba 3.5.6をダウンロードして展開。
【Sambaアップデート】
 cd (展開した場所)/Samba-3.5.6/source3
 ./configure
 make
 sudo make install
 sudo vi /etc/samba/smb.conf
テキストを追加
  max protocol = smb2
10.04から再起動しなくても反映されるようになったけれど一応
 sudo service smbd restart

【Sambaの設定】
%%だんだんメンドくさくなってきたので%%
せっかくのGUIをつかうため
apt-get system-config-samba
後はGUIでパスワードを設定。

【xrdp設定】
[[xrdpのショートカットキー:https://forums.ubuntulinux.jp/viewtopic.php?id=9647]]
これでDキーが入力できるようになる。

【おまけ】
ディスクユーティリティでベンチマークしてみた結果
平均書き込み速度(MB/s)
|1台|RAID0+LVM|
|110.7|333.6|
チャンク64kbにしたRAID0で最大書き込み速度615.4MB/sとかいうありえない速度をたたき出したけど原因は不明。素直に64kbにしておけばよかったかも。
チャンクサイズが変わっても平均はほとんど変わらなかったのでどうでもいいが。
テストのためしばらく更新休止。

*10/11/20(土曜日) [#zcfde78d]
Ubuntu 10.10 Desktop Edition x86_64 on HP ProLiant MicroServer のメモ

2TB*4+160GB(OS用)用というバリバリのファイルサーバ用構成。
ファイルサーバなのにraid 0(キリッ 
…一応LVMにはしたが。
まぁ、ホントに大事なデータは二重にバックアップとってあるので消えても問題ない。
HP ProLiant MicroServer の静音性は凄い。HD204UI(5400rpm)と相性抜群。
ストライピングで書き込みしてるのにまったく音がしない。
64bit版でチャレンジ。このせいでたいへんなことに。
DDR3メモリも安いので、拡張性を考えたら結果的にコレでよかったのかも。
A-DATAのAD3U1333C4G9-2(4GBx2)が神がかった安さなので、ECCないけど買うかもしれない。

【やって大失敗したこと】
 ディスクユーティリティでRAIDは組んじゃダメ!
「Warning : The partition is misaligned by …」と表示されます。
これで一時間くらい悩んみました。
使ったらダメとか…何のためのGUIツールなんだorz
RAID組むときは素直にmdadm使おう。
 配布されてるパッケージを使っちゃダメ!
提供されているx64版のLVM2には(v2.02.54)バグが存在し、Unknownデバイスに対して
vgcreateを行うと"Internal Error"を吐きます。(32bit版のパッケージは大丈夫)
なのでRAIDディスクはここで確実にオワタ\(^o^)/状態になります。
というわけで、lmv2は[[本家ソースコード:ftp://sources.redhat.com/pub/lvm2/]]から最新のを持ってきて展開。
自分はLVM2.2.02.76.tgzで行きました。
配布されてるmdadmもパッケージが2008年のヤツなので、バグ?か分かりませんがRAID0ディスク
をつくって再起動すると勝手に謎のRAIDアレイを増やしますw
さらに、再起動するうちに勝手に消えて0.0KB表示のRAIDアレイが出たりしますorz
こっちも[[本家ソースコード:http://www.kernel.org/pub/linux/utils/raid/mdadm/]]からダウンロードして展開。

結論:RAID+LVMは鬼門。

【削除注意!】
LVMを削除してからRAIDアレイを削除
 sudo lvremove /dev/Array00/lv00
 sudo vgremove /dev/Array00
 sudo mdadm -misc stop /dev/md00
 sudo rm /etc/mdadm/mdadm.configure

[[Ubuntu 10.04 Lucid LynxでRAID6構築:http://leddown.wordpress.com/2010/05/07/ubuntu-10-04-lucid-lynx%E3%81%A7raid%E6%A7%8B%E7%AF%89/]]を参考にさせて頂きました。

**手順 [#z383807c]
【環境】
OS:Ubuntu 10.10 Desktop Edition x86_64
HDD構成:160GB(sda) 2TB(sd[bcde])

【インストールパッケージ】
 sudo apt-get update
 sudo apt-get install lvm2 mdadm samba xrdp

【LVM2のアップデート】
 cd (展開した場所)/LVM2.2.02.76
 ./configure
 make
 sudo make install

【mdadmのアップデート】
 cd (展開した場所)/LVM2.2.02.76
 ./configure
 make
 sudo make install


【RAID 0 + LVM + 自動マウント】
 sudo parted -s -- /dev/sdb mklabel gpt
 sudo parted -s -- /dev/sdc mklabel gpt
 sudo parted -s -- /dev/sdd mklabel gpt
 sudo parted -s -- /dev/sde mklabel gpt
 sudo parted -s -- /dev/sdb unit MiB
 sudo parted -s -- /dev/sdc unit MiB
 sudo parted -s -- /dev/sdd unit MiB
 sudo parted -s -- /dev/sde unit MiB
 sudo parted -s -- /dev/sdb mkpart ext4 1 -1
 sudo parted -s -- /dev/sdc mkpart ext4 1 -1
 sudo parted -s -- /dev/sdd mkpart ext4 1 -1
 sudo parted -s -- /dev/sde mkpart ext4 1 -1
 sudo parted -s -- /dev/sdb set 1 raid on
 sudo parted -s -- /dev/sdc set 1 raid on
 sudo parted -s -- /dev/sdd set 1 raid on
 sudo parted -s -- /dev/sde set 1 raid on

 sudo mdadm --create --verbose /dev/md0 --chunk=128 --level=0 --raid-devices=4 /dev/sd[bcde] 
 sudo mdadm --detail /dev/md0
 sudo vgcreate Array00 /dev/md0
 sudo vgdisplay -v Array00
 sudo lvcreate -l 100%VG -n lv00 Array00
 sudo mkfs -t ext4 /dev/Array00/lv00
 sudo mdadm -Ds /dev/md0
 sudo sh -c "mdadm -Ds /dev/md0 >> /etc/mdadm/mdadm.conf"
 sudo modprobe dm-mod
 sudo vgscan
 sudo vgchange -ay Array00
 sudo lvs
 sudo mkdir /media/(フォルダ名)
 sudo mount -t ext4 /dev/Array00/lv00 /media/(フォルダ名)
 sudo chmod 777 /media/(フォルダ名)
 sudo vi /etc/fstab
テキスト追加
 # RAID0 LVM2 Array00
 /dev/Array00/lv00 /media/(フォルダ名) ext4 rw,auto,noatime 0 2
その後、再起動で自動マウントするか確認。

Sambaとxrdpの設定は明日の分に。

*10/11/16(水曜日) [#i008a6b0]
HDDのフォーマットが長いよママン。
そんなわけで全然開発が進んでないSH-2Aマイコンの話でもしようズラ。


【Q.USBホスト機能ってなんじゃボケ!穴にインサートすれば勝手にアヘアヘ動けよ!】
A.goo先生!出番です!→[[USBホスト機能とは何ですか?:http://oshiete.goo.ne.jp/qa/1508255.html]]
ホストとターゲットじゃ回路が全然違うのでソフトウェアで対応とか頑張っても無理。お前が突っ込んでるのは後ろの穴だ!このファッキンDT野郎がッ!!
……USBデバイスは結構実装が簡単なので、意外と簡単に回路もプログラムも組めます。
PSoCでもUSBターゲットコントローラ内蔵とか書いてある種類のヤツならUSBデバイス自作可能。
PSoC(USBターゲットコントローラ内蔵)を使ってトラ技78K0マイコンちっくにUSBでターミナル通信したいなら、まさにUSBUARTがモジュールにあるのでそのまま使えばおk

【まとめ】
・ホストとターゲットは別物
・デバイス=ターゲット=ファンクション(これらは全部一緒の意味。)
・USBターゲットコントローラ内蔵≠USBホストコントローラ内蔵
・[[ルネサスのUSB解説のページ:http://www2.renesas.com/usb/ja/about_usb/index.html]]
【例外!】
USB On-the-Go(USBOTG)… ターゲット同士でも接続可能なUSB2.0の追加仕様の規格。
XperiaはUSB OTG非対応だけどorz

【Q.SH-2AってMMUないけどOSとかのっけれるー?】
A.μITRONに謝れ!μClinuxにも謝れ!
T-Kernel使ってもおk。MMUなくても動くらしい。アプリの互換とかどうすんのよ?という疑問は[[ITRONからT-Kernelへの ミドルウェア移行ガイド:http://www.assoc.tron.org/jpn/others/migrationguide.pdf]]の8pあたり。
インターフェースでオススメOSはμITRONと言ってたのでT-Kernel使っても問題ないだろう、たぶん。ただ、素人な俺が手を出すと金がどんどん吸われていくマジックに引っかかってしまふ。

内蔵SRAMが1Mバイト(640kバイト)が痛すぎる。μClinuxにUSB機能つけたら起動できないレベルで足りない。クラス・ドライバの製作にさっさと取り掛かれると思ったけど世の中そんなに甘くなかった。
T-KernelのUSB2.0ホスト開発キットバカみたいに高いし。どないせーちゅうねん。
USBホストいかせてねーよ悲しい俺orz

eCoSでUSBホスト実装してみるしか…。


USB簡易ホストのサンプルソース探してたのになかったorz
記事のヒト5月にはできる(キリッ っていってたのに。
[[Enjoy CQ-SH7262:http://sourceforge.jp/projects/enjoy-cq-sh7262/]]
つくってみたけど、メモリで引っかかったとかなら泣ける。


*10/11/16(火曜日) [#e78c0a7a]
頼んでいたHPのMicroServerが明日届くはずなので準備のためにメモ。
そろそろPC環境も整理したいところ。物理エンジンもつくらなきゃいけないし。

・OSはUbuntu
・ソースコード保管所に。各開発PC用にMercurialで管理できるようにする。
・あとファイルサーバーも兼任

昔、必死で創り上げた自作OSのソースがあぼーんしたときは発狂しそうになった。管理は大事です。

とにかくPS3上でひと通りは動くようになったので、さっさとOS完成させなきゃいけないのに時間がない。VMつくりはじめた俺が馬鹿だった。メンドくさくなったら途中でテキトーなOSに逃げるか、そのまま出すかも。

あと[[SCore7:http://www.pccluster.org/ja/]]がひっそりと今更出てた。
勝手に出ないと思ってましたサーセン。
いろいろと%%パク%%参考にさせて頂きます。

……SCoreもPCクラスタコンソーシアムも周りでの知名度が低すぎて俺が泣いた。
[[SCoreとeScienceのinstallと設定について:http://www.pccluster.org/ja_event/wsinkyoto2010/01_Kameyama.pdf]]
というか、ものすごく面白そうな技術の話が!
[[E-SCIENCE PROJECT:http://www.open-supercomputer.org/escience/e-Science.html]]


 [[XcalableMP:https://www2.cc.u-tokyo.ac.jp/procon2010/Tutorial/Xmp.pdf]]:高性能並列プログラミング言語処理系
 逐次プログラムからのシームレスな並列化および高性能化を支援する並列言語コンパイラ
 [[Xcrypt:https://www2.cc.u-tokyo.ac.jp/procon2010/Tutorial/Xcrypt.pdf]]:高生産並列スクリプト言語の開発
 パラメータサーベイ等の粗粒度大規模並列処理を簡便・柔軟に記述可能なスクリプト言語
 Xruntime/[[Xabclib:https://www2.cc.u-tokyo.ac.jp/procon2010/Tutorial/Xabclib.pdf]]:高効率・高可搬性ライブラリの開発
 自動チューニング機構を含む数値計算ライブラリの開発
 複数の規模の違う実行環境を単一に扱うことが可能な、単一実行時環境の提供
(Xruntimeの中身はFIle I/O Tools&MPI-Adapter)

[[MPI-Adapter:https://www2.cc.u-tokyo.ac.jp/procon2010/Tutorial/MPIadapter.pdf]]
FIle I/O Tools
・[[STG:http://www.open-supercomputer.org/escience/staging.html]]
・[[Catwalk:http://www.pccluster.org/ja_event/wsinkyoto2010/04_Hori.pdf]] and [[Catwalk-ROMIO:https://www2.cc.u-tokyo.ac.jp/procon2010/Tutorial/Catwalk.pdf]]
・[[FILE I/O Optimization Tool:http://www.open-supercomputer.org/escience/FILE_I_O_Optmization.html]]
・I/O Tracer

【近況報告的な何か】
[[GPGPUfan:https://groups.google.com/group/gpgpufan1211?hl=ja]]のオープンソースプロジェクトに参加してみた。取り敢えずGPGPUはひと通りやったので何とかなると信じる。初めのオープンソース参加なので糞コード書き散らしそうでwktkする。
大規模連立方程式の数値解法みたいなことをPlan9上でやろうとしてたとこなので丁度良い感じ。
プロジェクトページが来年の1月くらいまでにはできるらしいなのでそれまでマターリしよう。


*10/11/15(月曜日) [#e78c0a7a]
XperiaのRootとったけど無理でしたーorz

取り敢えずUSB規格の資料集め。
上位層の実装は解析しながらやるのマジめんどくさいのでまったり行う。

たぶんUSBの開発したヒトはほとんどいないと思われるので、なるべく皆の参考になるように資料を掲載していきたいと思う。
ぶっちゃけ自分も自作のOSをUSB対応させたときとWindowsのドライバ自作したぐらいしか経験がないので、かなり知識が陳腐化してる。

USB2.0のProtocol Analyzerが学校にあるのか謎。

[[Fujitsu技術解説(USB):http://jp.fujitsu.com/microelectronics/technical/usb/]]
をみるとUSBの概要はほとんど理解できる。

SH-2AマイコンのUSBについて(インターフェース2010年7月号より)。
 スプリット・トランザクション対応!
 ハブ1段階まで対応


*10/11/11(木曜日) [#g0366533]
XperiaがAndroid 2.1になりました!

とうとう学校の無線LANに繋げ…802.1x Enterpriseを選択しても学校の無線LANに接続できない。学校の無線LANがWEPだからってloungeに繋ごうとすらしない。
え?ふざけんなボケェェェエエエエ!!!
WEP+ユーザー認証(PEAP+MSCHAPv2)と802.1x enterpriseのユーザー認証(PEAP+MSCHAPv2)がどう違うっていうんだよッッッ!!!
中身一緒だろーーーーがああああああああああ!!!!ド低脳がァーーッ!!!!

XperiaのRootとればなんとかなりそうな気はする。


v2.1になって無線LAN+Bluetoothの環境が改善&Bluetooth 2.1 + EDRに対応。
もう音がブツ切れになったりしない感じ。通信の問題かと思ってたけどやっぱりXperia側の問題だったみたい。
これでバッテリーの持ちも含めた、いろいろな問題点が解消されそう。前回の挫折を乗り越えろ俺!
【SH-2A Multi Host with BTアダプタ】
[概要]
SH-2AにVGAコネクタとUSBコネクタとipodドックコネクタを実装。
VGA入力はリモート鯖のBIOS弄るために欲しいと思った機能。
VGA-USB変換 or VGA-BT変換って感じ。
(BTの場合はプロファイルにSPPかBIP使います。BIPでどれくらいのフレームレートが確保できるかは不明)


《理想》
      ┌─VGAオス
      │
      │
 (電源)―(SH-2A)―(USB)―(USB-HUB)―(BTアダプタ)―――(Xperia)
  │   │        │
  │   │シリアル(AiR) │ファイル転送
  │   └───iPod──┘
  │       │
 (昇圧回路5V)┘




《現実》
      ┌─VGAオス
      │
      │
 (電源)―(SH-2A)―(USB)―(USB-HUB)―(BTアダプタ)―――(Xperia)
  │   │        │
  │   │シリアル(AiR) │ファイル転送
  │   └───iPod──┘
  │        
 (外部電源5V)

5V部分に外部バッテリー持ってくればポータブルになるかも。
やりたいことは汎用USB-BT変換キットって感じかも知れない。
できればXperiaにUSBキーボードとかもつないでみたい。HID対応したらしいし。

[部品]
・iPod Dockコネクタ
・USBメス
・EXTAL用 18MHz 水晶発振子
・RTC用 32.768MHz 水晶発振子
・Bluetooth マイクロUSBアダプター(Class2) ver2.1+EDR以上

取り敢えずこれくらい。Class2を使うのは消費電力のためです。
[[ここ:http://pc-kaden.net/log/eid27.html]]によると
|BT-MicroEDR1X|class1|150mA|
|BT-MicroEDR2X|class2|70mA|
倍くらい違うみたいです。

*10/11/08(月曜日) [#x6909c4a]
「日本のプログラマーは3Kなのか?」
 ・毛がない
 ・汚い
 ・キ○ガイ
……だいたいあってる。

突然だが、金沢大学でプログラマー集める方法求む。

・VM作れる
・OS作れる
・ドライバ書ける
・100万行くらいヘッチャラ
・生まれた瞬間に「XOR, XOR, XOR」と言って生まれてきた。

自分で言ってて絶望的な気がしてきた。どうやって探せば…。
一人で開発するのは気楽なんだが、なかなかモチベーションが持続しない&開発速度が遅い。

取り敢えず、ソースコード詳解のページに[[Plan9:http://sites.google.com/a/stu.kanazawa-u.ac.jp/sourcecode-maniax/os/plan9]]を作ってみた。
物理エンジンの更新をすっかり忘れてて全俺が泣いた。
だってよ!宿題出過ぎなんだよ!文化祭やって宿題とか無謀すぎるだろjk
そして俺は補習URYYYYYYYYYYYY何するだーーーーーッ!!!

ものすごくどうでもいい話。
[[文部科学省脳科学研究戦略推進プロジェクト:http://brainprogram.mext.go.jp/]]
が面白すぎてwktk

特に双方向信号制御技術に関しては俺の%%触手%%食指が動かざるを得ない。
%%スティモシーry%%


*10/11/06(土曜日) [#xb4847a1]
glendaちゃんマジプリティ!

Plan9かInfernoか…それが問題だ。

そんなこんなでInferno on Windows とか試してみた。
【Inferno on Windows】
1.[[Inferno Downloads:http://www.vitanuova.com/inferno/downloads.html]]でinferno.zipをダウンロード
2.Cドライブ直下に展開(C:\inferno)
3.C:\inferno\Nt\386\bin\emu.exeでInfernoのプロンプト起動
4.wm/wmでウィンドウ起動

Plan9 Extended on PS3のデバッグツールはPythonで書きまふ。

Plan9でRuby使いたいというかたは→[[Ruby 1.8.xをPlan9で動かす:http://www1.plala.or.jp/anraku/logbox/ruby_1_8_plan9.html]]
Check it out!


*10/10/30(日曜日) [#e7304ef3]
金沢大学にくればプログラミングだけで生きていける。
…そう思ってた時期もありました。

【[OpenFOAM] 英国ICON社との交流会】
http://www.ustream.tv/recorded/10064409
http://www.ustream.tv/recorded/10064465
http://www.ustream.tv/recorded/10064518
http://www.ustream.tv/recorded/10064544
http://www.ustream.tv/recorded/10064734
http://www.ustream.tv/recorded/10065221
http://www.ustream.tv/recorded/10065480
http://www.ustream.tv/recorded/10065639
 

最近は少しずつプレゼンの録画発表が増えてる。
地方在住の貧乏プログラマーモドキとしては嬉しい限り。

【今後の製作予定物】
・Xperia x iPod (Bluetooth)…Xperiaがアップデートしたらすぐにでも。もう10月末なのに…。
・トラ技78K0でPS3をホゲホゲ
・AsbestOSを個人でいじりつつ Plan9 Extended for PS3を作成
・形態形成のシミュレーション←卒論にしたい
・暇があればFPGAを使ってなんか作る。PakuruPCでも東工大に対抗して作る?

個人的にはMieruPCの思想とか構造は大好きなんだけど56,000円は…。
やっぱり自作の醍醐味は製品よりも安く作れないと。まぁ、売ってるモノが安すぎという感じは否めない。PS3を同じ価格(中古で21800円)で作れといわれたら発狂する。

↓以下、学術目的でございます。なんたって俺、学生だから!

【Cellって単精度演算以外大したことなくね?】
これは微妙に間違いというかCell自身で比較するとそうなる。つまり、単精度演算だけが他のCPUより突出して高い。ほかの機能はどっこいどっこい。なので、とりあえずCell使っとけって感じ。というか、電源、グラボまでそろって21800円だぞ。これ以上コスパの高いPCないっす。
単精度でも、近似とるだけなら問題ないものはいくらでもある…と思うんだけど。

【PS3にPlan9を使う理由】
分散コンピューティングっていったらPlan9だろうが!!
いま見てもPlan9凄すぎだと思うのだけど、なんであんなに流行らなかったのか。
[[ここ:http://www.atmarkit.co.jp/news/analysis/200902/09/future.html]]らへんだよな…。ドライバもlinuxのほうが遥かに充実してるし。
なんたって、Plan9はマスコットが%%キモイ%%…奇抜なデザインすぎた。

【PS3をホゲホゲする理由】
単純に性能の問題。ホゲホゲしないとPS3の性能を極限まで引き出せない。
糞グラボだとしても余ってる演算素子は余すとこなく使わせていただく。

【参考文献plz】
[[PS3Cluster Guide 1.0:http://www.ps3cluster.umassd.edu/]]

挫折したらそんときゃそんとき。

*10/10/30(土曜日) [#xe4b805c]
ようやく趣味の問題が終わって時間に余裕ができた。
金沢大学にPlan9ハッカーとかライブラリ製作者いないかなぁ…。

久しぶりにメールへ目を通すと400件近く来てた。グーグルグループのメールは違うアカウントにしないとたいへんなことになると理解。
android-group-japanみたいな大きなコミュだと質問大杉で、毒にも薬にもならない書き込みと大事なお知らせメールが一緒に来て泣きそうになる。
ほとんどがアンドロイド固有の問題よりプログラミングの質問。駆け出しのころを思い出して胸が熱くなる。日本のプログラマー増えろー。

そして愚痴。

Xperiaならメアドの統合できると思ってたのに…。
Xperiaのgmailアプリはなんで優先メール使えねーんだよおおおおおおorz
いつになったらOSのバージョン上がるんだ。
……もしかして、これがSonyからの挑戦状ってやつですか。HACKしなさい、と。


IBIMSLから電通大から教授または准教授の公募がきてた。
先生の中でセキュリティに詳しい講師の先生はGO!
そして、セキュリティ・暗号部門の入門書書いてください。暗号技術大全よりいい本がそろそろ出てもいーんじゃないか。
あと、AliceとBobはできてる。


「アプリを真似されたらどうする?」
android-group-japan内にアプリを真似されてぶち切れてる人がいた。
相手はパクった上に有料販売で特許出願中という内容だった。

こういうのは判例がたくさんあるので、弁護士に相談して解決を図っていただきたい。
めげないでこれからも開発を頑張って欲しい。一プログラマーとしてこれからも応援してます。

%%プログラマーの解決方法は1本パクられる内に100本つくるんだよおおおおおおおおお。便所の落書きを掲示板に書いて同意求めてくんじゃねえよボケぇ!!お前は質問してスッキリしたかもしてないが、お前の書き込みが俺のとこまで届いてくるから!たくさんメールが勝手に届いてくるから!みんなが見てるところにgdgd愚痴書き込み続けるのが許容されるのは匿名掲示板までだっつーの!解決する気があるなら弁護士にどうして相談しねーんだよ!そこまでみんな面倒みきれねーよ!!ちょっと退会してくるから!!テメェみてえな、そこかしこに、しこたま排泄物を撒き散らすヤツが大多数だから、世の中クサすぎて俺みたいなのは生きるのが辛くなるん!だ!よ! グーグルグループは書き込みをメールで送れる機能がついてんだよ!人の迷惑考えるなきゃならないのはテメェのほうだろうが!!!!!相手が傷つけたのはお前ひとりだろうが、お前の書き込みを一万人の会員の何%がうんざりしながらみてたと思ってるんだよ!プログラムにしか興味のない人間が集まってる場所に「パクられてチョー腹立つ。そう思わない?ねー?すっごく仕返ししたいんだけどなんかいい案ある?」みたいな書き込みをいい年した人間がやってんじゃねぇぞ!しかも最後に「デザイン、操作方法等も異なりますので、著作権侵害はむずかしそうですね。」ってそれ全然別のプログラムじゃねぇか。最後にネタばらしとか、真面目に考えた俺バカみたいじゃん?ここの釣り場はよく釣れますかクマー?悔しくても腹にしまい込め!死ぬ気でもっといいものを創り出せ!そうやってプログラマーは勝手に強くなってくんだよ!!それができないときは、ちゃんと相談すべき場所に相談しないといけないんだよ!%%


ふー、俺もスッキリした。以上で愚痴終わり。作業日誌を陵辱してやったぜ。

話は変わるが、ひとりでやるデスマーチもいいもんだ。
コピペよりも速く開発。それが廃人のジャスティス。


以下、メールのメモ。

[[【OpenFOAM勉強会for beginner】:http://www.ofwikija.org/index.php/OpenFOAM%E5%8B%89%E5%BC%B7%E4%BC%9A_for_beginner]]
録画
http://www.ustream.tv/recorded/10509204
http://www.ustream.tv/recorded/10509719
http://www.ustream.tv/recorded/10510486
http://www.ustream.tv/recorded/10511967
[[市街地風環境予測のための流体数値解析ガイドブック −ガイドラインと検証用データベース− 関連資料:http://www.opencae.jp/wiki/OpenFOAM%E5%8B%89%E5%BC%B7%E4%BC%9Afor_beginner]]

【日本Androidの会埼玉支部第1回ワークショップ】
[[環境整備方法:http://ow.ly/2R0vQ]]
[[ハンズオン資料:http://ow.ly/2R0vR]]
[[ハンズオンソースコード:http://ow.ly/2R0vS]]

【全国のイベント】
ACML2010 11月18-19日 学生割引料金は2000円 ktkr!

【北陸のイベント】
XSS Challenges 登山会 12月4日(土) 14時頃から、5日(日) 13時頃まで
HTML5などなど次世代Web勉強会 in 福井 11月27日(土) 13:30 - 17:30


XSS Challenges 登山会行きたい。けど多分その頃中間テスト。
宿題とか中間テストとか俺らはいつまで生徒気分なんだw

*10/10/28(木曜日) [#k2b7e906]
PSoCで関数を配列のように扱って呼び出す方法。

(例)LEDの初期化

 typedef void ( *Func )(void);
 Func LED_Start[] = { &LED_1_Start, &LED_2_Start, &LED_3_Start, &LED_4_Start, &LED_5_Start};
 …
 int i;
 for( i = 0; i < sizeof(LED_Start)/sizeof(LED_Start[0]); i++ )
 {
 	( *LED_Start[i] )();
 }

これで5個いっぺんに初期化できるはず。
仕組みが不明なら関数ポインタでググってください。

以下、まとめ。

【問題】
同じような名前の関数がたくさん出来るのに配列的に扱えない
→関数の使い回しがしにくい。モジュールごとに hogehoge1(foo, …), hogehoge2(foo, …)とか書くの?

【対処】
関数ポインタを使うことで類似名の関数を配列チックに扱える。
この例の”Func LED_Start[] = {…}”のようなものを事前に展開。先にヘッダーに貼りつけておく。
→関数の汎用化可能。hogehoge(int num, foo, …)でモジュール番号を指定して関数を使える。

もっと楽な方法ありそうだよな…。

*10/10/18(金曜日) [#od765d1d]
PSoCにプログラマブル・ゲイン・アンプ(PGA)あった!
発光ダイオードなんか挟まなくても、何の問題もないじゃないかorz

自作のPSoC評価基板に実装したピンアサインまとめ。
・P0[0]〜P0[7]…汎用ポート1(5V)
・P1[0]…SDATA
・P1[1]…SCLK
・P1[2]…RX
・P1[3]…TX
・P2[0]〜P2[6]…LCD

POSに使うピン

・P0[3]…フォースリアクタ[0]
・P0[4]…フォースリアクタ[1]
・P0[5]…GP2Y0A21YK


土日の間にPOS用基盤は完成しそうです。

*10/10/18(火曜日) [#t9b9448e]
ロジックアナライザktkr
暇を見てFPGA買います。

いつも使ってるPSoCの基板上へ新たに3.3Vピンを実装するため実験。

5V用の信号に発光ダイオードを挟んで試すと、予想通りとはいえ、ちゃんと3.3V用にレベル変換できて驚いた。
(発光ダイオードのVFが2Vくらいなので並列につなげると3.3V用になる)

電源だけは三端子レギュレータでちゃんとレベル変換しているから問題はでないと思うんだけどな……。

取り敢えず簡単に実装できるんで、不具合が出なければ使います。

【必要な部品】
・発光ダイオード x2
・1kΩ            x2

モーター制御用(2個)ならこれでおk
電流的な問題があるので、たくさん付けるのは無理です。

格安ロジアナであるZEROPLUS LAP-C(16032)で信号をとってみた結果。
%%中身が上位機種と同じだからってEEPry%%
&ref(16032.JPG,,50%);

*10/10/18(月曜日) [#mcb44df4]
POSの振動子はイヤホンで大丈夫かと思ったが五月蝿すぎて無理だった。コーン紙を破って試してみたところ、振動を全然感じない。頑張って電流流しまくったら、熱くなりすぎでイヤホンに触れないという無残すぎる結果にorz

というわけで、DS振動カートリッジをバラしてモーターをゲット。これでPOS用の振動子が手に入った。
DS振動モーターは矩形波の周波数に応じて回転数が変わる優れモノ。
2つのモーターの周波数をPSoCで制御しすることでファントムセンセーションを起こす。

【POS概要】
・板の上に手を置くことで、手のひら上の任意の場所に刺激呈示を行う。
・周波数はPSoCで矩形波を出すことで制御し、ユーザーからの入力に応じてPhSを喚起する場所をずらす(時間がなければ可変抵抗。時間があれば距離モジュールか加速度センサーを使う)

【買うもの(欲しいものリスト)】
・ロジックアナライザ
・FPGA評価ボード

デジボルしか持ってない俺涙目。

*10/10/15(金曜日) [#nbb07450]
最近ネタがひど過ぎるので、そろそろ自重します。
なんでこんなに荒れているのかというと、スパコン組みたい→金無い→orz
汎用性と予算の都合で、コスパの高いRadeon x 4+ PS3 x 5台くらいになりそうです。PC側のCPUは悩むところ。
スパコン(笑)とか言わないで…貧乏学生ナメんなよ!

というわけでPlan9っ子の俺はPS3向けにPlan9をチューニングしようと考えたが、成功するのか分からん。
最初は1000BASE-Tでつないでやってみるが、通信速度が致命的な場合はHDMIのポート使って通信するかもワカンネ。
HDMIのポート使って通信するのは技術的なハードルが高すぎるので(というかほぼ不可能)出来る気はしない。だが、学生は無謀なことをやるくらいで丁度いい気も。
一応、FLOPSとしては0.15x5+2.7x4+0.05x1くらいで=12TFLOPSくらいになりそう。理論値なんて信じられないが。
MIPSとFLOPSの兼ね合いを付けるとしたらCELL一択しかないので予算的にPS3使うしかなかった…。

Q.なんで12TFLOPS?
A.Cray-XT5-HEの1ラックの性能が12TFLOPSくらいらしいので。
Q.新型PS3使えるの?
A.ホゲホゲすればなんとか。最新のバージョンでも穴有りそうな予感。というか解析が趣味なので、暇つぶしにちょうどいいです。
Q.ホントに出来るの?
A.大学生以上にくだらないことに時間を使える人種は他にいません。時間x熱意=無限大の可能性(キリッ
誰か俺にお金ください。マジで。

で、なんでそんな性能いるのかというと昨日のアレもアレだが、自分はバイオの研究者になりたいのです。
形態形成のシミュレーションでもしようかなと思って論文見てたら、当然ですが超処理能力がいるわけで…。
つーか、TOP500に入るくらいのを造らないと、シミュレーションとか無理w
取り敢えず現実的なところから性能を攻めてみるかという次第。シミュレーションする生物を限定すれば微小な差に落ち着くので、シミュレーション可能だと思われ。

というわけで以下、バイオのメモ。

【形態形成の発現に関わる要因】
・遺伝子の表現型		e.g.外見ならホメオボックスのタンパク質配列のあたり
・環境要因依存の遺伝子スイッチ e.g.チロシン→チロシナーゼ(温度感受性変異)→メラニン
・エピジェネシス	    e.g.三毛猫の毛色

【遺伝子組換え】
・酵母相同組換え法

形質転換法
【トランスフェクション】
・リン酸カリウム法
・リポフェクション法
・エレクトロポレーション法
【ウイスルベクター】
・アデノウイルスベクター
・レトロウイルスベクター
・レンチウイルスベクター
・アデノ随伴ウイルス

【動物細胞への染色体導入】
微小核細胞融合法

【異種間核移植について】
近縁種でないと未受精卵に含まれている物質がかなり異なる。成体まで発生するは難しい。

【蛋白質の合成速度うp】
細菌や古細菌の平均的な翻訳速度は毎秒20アミノ酸であり、核生物の翻訳は平均毎秒2〜4アミノ酸と言われている。タンパク質の立体構造形成に関わる時間は、ものによるが
のでしょうが生体内では瞬時に行われるらしい。これは分子シャペロンなどの別の触媒蛋白質が蛋白質立体構造形成をサポートするためだと考えられている。

某先生様。質問に答えて頂き本当にありがとうございました。

*10/10/13(水曜日) [#j93fc129]
実は友達とゲームを作っている。
ありえないシステムの凝り方なので、何年後にできるか分かんないが…。

そこで音声合成システムをつくっておりまする。
実は音声工学に関して自分はムダなほど詳しい。
%%だって美少女にエロいこといわせたいじゃん!%%

モーショングラフの音声版(ボイスグラフとでもしておく?)を作成してみた感じかなりなめらかに喋った。(ちょっといろんな意味で公開できそうにないのが申し訳ないが、簡単にいうと人力ボーカロイドレベル)
音声データとそれに対応するテキストを用意するのがすごくシンドイので自作ツールでちちんぷいぷいして数100MB分揃えた。
そんな感じなので、どんな文章でもおkってわけではないが。
まぁ、某変態的友人の協力により莫大な音声サンプルが手に入ったため、なんとかなりそうな感じがする。%%美少女ゲーム大国日本バンザイ!%%
100GB分くらい(圧縮アーカイブなのに)の音声データのビットレート合わてグラフ作成するのはちょっとスペック的な意味で発狂しそうです。
これで1キャラ分ってwwwどんだけハイスペックゲームにするきだwww

とにかくノードをたどってエッジを再生することで音声データを作成するわけだが、実装の際には、モーションでいうところの動作ブレンディング処理が必要になるのでプログラムがクソめんどくさくて数学真面目にやらないとどうしようもないorz
他人の音声であってもVocaListenerっぽいことをさせると、(自力で作ったんで同じか分からん)びみょーな感じで使いまわせて、他の人もしゃべってくれる。モーショングラフほどではないっす。
%%喘ぎ声に関してはボイスグラフが最強すぎる。阿久女イクってレベルじゃねーぞ!完全に本人です。本当にありがとうございます。%%

最近、伏字がひど過ぎるので俺大学から消されるかもわかんね。
とにかくあざみ様を喋らせなければ。

CVに関しては……いうまでも無いよな?%%能登かわいいよ能登%%

*10/10/11(月曜日) [#md86ad75]
今度のマイコンペには触錯覚を利用した工作を出すつもり。
完成しなかったとき用の予備はすでにあるので無茶してもおkなはず。
大学生らしいキーワード「くだらない」「アホ」をモットーとする


%%"Phantom OPPAI Sensation"%%
%%Phantom OPPAI SensationとはOlpa Immesete(1920-2002 スウェーデン)によって発見された触錯現象のことである。%%
%%特定の周波数を持つ刺激を皮膚上の二点から与えることで、女性の胸部を押し付けられたような感覚を想起させる。%%
%%第二次世界大戦では捕虜の尋問の際に使用されたが、そのあまりの危険性のため、現在ではハーグ陸戦協定によって禁止されている。%%
%%民明書房刊 『女体力学系の物理』より%%



Phantom Obscure Sensation 略して「POS」
あいまいに感覚を再現すっぞ!あいまいクオリティーなのは気にしたら負け。


*10/10/09(土曜日)[#ab3dbaec]
風邪で死にかけ。俺、この配線が終わったらマイコンペに出品するんだ……。
前回は「次のマイコンペいつ?」→「明日」という悲しい流れだったので今度こそは…。

ちょと頭がgdgdなときは手順を確認しないと確実に失敗するんで、ちゃんと作業をメモりながら。

 .如璽織掘璽箸粒稜
 E展札轡隋璽箸粒稜
 配線の確認

ブレッドボードは楽なので確認がテキトーになりそう。
実装が楽だと「あれ?」とかなりそうなのが怖い。

.如璽織掘璽箸粒稜А

 USB-UARTコンバータ
…あれハンダ浮いてね?
一応デジボルで測ってみる。%%外れてやがるクソがッ%%端子の端っこが外れてたので修理。あと、シリアル信号は3.3Vのでおkらしい。一応用意してたPSocいらない子。
[[USB-UART変換:http://merl.ec.t.kanazawa-u.ac.jp/micon-bu/index.php?cmd=read&page=akita%2F%BA%EE%C9%CA%BD%B8#content_1_4]]
でピンアサイン確認。VDDを繋げばFETスイッチが作動してTarget側と連動するらしい。便利!ちょっとピンアサインが分かりにくいかもしれないので画像うp
&ref(USB-UART.jpg,,50%);

データシートでは自分中心でピンアサインが記述されていることが多く、自分がホスト(イニシエータはスカジーだけ?)、相手がターゲットです。
TX(送信)とRX(受信)は対になるので&color(red){TX-RX, RX-TX};と配線するのは当然ですね。
(受信と送信で一組になるので)
%%たぶん生徒が平気でRX-RX接続とかするからターゲット側にピンアサインを合わせてるのかもねlアヒャ!%%

 三端子レギュレータ48M033F
5V→3.3Vに変換
33uF以上の平滑コンデンサをINにいれてね!とあった。電解コンデンサ(100μF)あるのでおk

…ブレッドボードにパスコンと平滑コンデンサ積むのはスペース的に辛い。
何とかしてみた結果↓
&ref(GPS.jpg,,50%);
詰まっておりまする。

電源ショートの確認
デジボルで5V電源とGND、三端子レギュレータのOUTとGNDをつないでショートしていないか確認。(ショートしていると抵抗が0だったり、それに限りなく近い表示が出る。そして部品がふっとんだり壊れたりする。コンデンサ爆弾で死にかけた経験あり)
最低限これだけやっておけば部品が壊れることはない。

G枩の確認
目視で配線を追う。パターンを追うのは人力がやはり最強。

…大丈夫そう?

[[ここ:http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx]]でドライバ(VCP Driver Kit)をダウンロードしてインスコ。
実験開始。


あれ…動かない?ってPSocの電源入れてなかったら動くわけねぇw
電源入れてシリアル通信。速度は4800bps。
[[GPSマイクロミニ:http://www.switch-science.com/products/detail.php?product_id=288]]
窓際で実験した結果、衛生を12個ぐらい補足できた。けれど、現在地が出ない…。

[[Tera Term:http://ttssh2.sourceforge.jp/]]を使う。Tera Term Proの最新版はオープンソースになって管理されている。そして名前からProがなくなったw
かなり便利になっていますが…Tera Term v4.67(この時点で最新版)はブロードキャストコマンドにバグがあって改行がCRLFで送信できない。(画面から打つ分には問題ない)
デバッグモードで確認したので間違いないです。誰かバグ報告してください。

他にもバグがありそうだったのでツール変更。これが結果として吉と出る。
実験に役立ったすばらしいツール。
[[NMEA Monitor for windows:http://homepage2.nifty.com/k8/gps/indexj.htm]]

分かりやすッ!しかもコマンド送れるし…ログのフィルターもかけられる。
試行錯誤すること数時間。

外に出た瞬間につながったwwwww
なんというヒキコモリ対策wwwwww

……だが、その甘い考えはもろくも崩れ去った。

3.3Vと5Vで動かしてベンチマークをとった結果、すばらしいことがわかったのでまとめ。

【こんな場所では受信できない】
1.窓際ではダメ。ガラスに負ける。
2.窓を開けてもダメ。日差に負ける。
3.外に出るのが面倒だからといってタッパに入れて外に出してもダメ。フタに負ける。
3.外に出てもダメ。くもりだと雲に負ける

【受信できる場所】
雲ひとつないで空で、360度見渡せる場所。
そして何より類まれな運が必要なので、パワースポットとかいーんじゃないかなー。

【結論】
富士山の山頂でテルテル坊主の仮装をしながらGPSマイクロミニを空に掲げて走れ。
俺の土曜日を返せ。


%%まとめると、&color(red){衛星を9個以上好感度で受信しないと現在地が出せない。};という条件が恐ろしいほど足を引きずっている。%%
&color(gray){[10/12追記]&color(red){衛星を3個以上好感度で受信すれば取得できる模様。};資料の読み間違いみたいです。基板メーカーさんごめんなさい。};

さらに、このモジュールの付属アンテナはものすごく感度が悪いらしく、ガラス一枚程度で感度が下がり現在地取得が利用できなくなった。
こんなに感度がシビアなら書いておくれよ。
&color(gray){[10/12追記]よく晴れた日であれば、見晴らしの良い屋内でも補足できるらしいです。};


あと、3.3Vと5Vだと心なしか5Vのほうが感度がよかった気がするが、雲が出てないことのほうが遥かに大事。ちっちゃい以外取り柄ないとかいうな!むしろ、あまりのアレっぷりに愛着すら沸く。
*10/10/07(木曜日) [#c64e078c]

電子工作ゥー復活ッ!

というわけで、小松原先輩にGPSモジュール(GPSマイクロミニ)とブレッドボード一式を借りた。
ハンダの匂いがしない電子工作って不思議な感じがする。
…実はブレッドボードってあんまり使ったことがないのでちょっとドキドキ。

このGPSモジュールが超不思議仕様で、衛生位置が取得できるのに現在地が出せない。
自分で試してみたところ、ターミナルでコマンドが送れないという問題も発覚。データシートとの全面対決か始まる!

その前に、俺の記憶的にもノイズ的にも怪しそうな三端子レギュレータの仕組みを復習。


あー、動作が怪しいときはちゃんと電源にパスコンを挟まないとダメなのをすっかり忘れてた。
三端子レギュレータには平滑コンデンサとパスコンつけてあげないと。

【明日取りに行くもの】
セラミックコンデンサ(0.1μF)x4
電解コンデンサ(100μF)x1

回路を安定させてから、実験を開始してみる。

【問題点まとめ】
・現在地取得
・ターミナルでコマンド送信
・俺のやる気

*10/10/06(水曜日) [#x3bfe5c6]

GPGPUは奥が深い…というか、やっぱりまだ開発段階の環境だなーというのをひしひしと感じる。そしていろんな環境を揃えようと思うとカネがかかるorz

平野先生にメールを送ってみた結果、学校にもちゃんとGPGPUを試せる環境があるらしい。よかったー。
・nVIDIAのGeForce 9800 GTX
・ATI (AMD) のRadeon HD 4670

これでCUDAも何とかなりそう。

しかし、いろんなの触った個人的な感想(感覚?)だが、CellのSPUの汎用性は突出してすごい。GPGPUとは真逆になる?のかもしれないが、グラボの足りない処理を上乗せして計算できる。普通のCPUじゃここまでは無理。
どっち付かずというビミョーな立ち位置ではあるが、GPGPUのような「存在する処理能力を限界まで使い切りたい!」というときの要望に応えるには最高のアーキテクチャだと思う。
逆に言えば、歯磨き粉をひねり出すような高速化を追求したい変態プログラマー向き。

そう考えるとPS3は実質SPUx6+RSXx1でジオメトリ処理できるので、描画処理的にみれば恐ろしい演算速度である。(バスの速度もあるので一概には言えないが)
ぶっちゃけゲーム機能がいらない気がしてくる不思議。というかゲーム用にはどう考えてもメモリ少ないし…。PS3をごにょごにょして開発環境整えれば誰でも開発できるし…。

※高画質にするにはテクスチャの入れ替えが一番簡単なのだが、PS3はメモリ容量の関係で高画質のテクスチャを扱いづらい。ロード時間にも直結するところなので、超解像技術を使って誤魔化そうとしたら、SPU三つくらい使って意味ナスwwwという事態になる。あまりに絶望的なトレードオフにPCプログラマーに寝返ったヤツもきっといるはず。

まぁ、グラボの進化速度が凄すぎでHD5970の時点で4.64TFLOPSあるらしいので、PS3で頑張ってもGPU性能がお話にならないのは悲しい事実ではあるが。

そんなわけではあるが、そろそろ香しきハンダの匂いにつられて電子工作するかも。



*10/10/04(月曜日) [#m06b5cdd]
ダイナミックに変化するストリーミングによるインタラクティブ音楽の実現…まぁアルトネリコ3なんですが……。
仕組みを見るために戦闘していたら、いつの間にかDLCをダウンロードしてた。
ntnyの策略かッ!アルルとチュッチュしまくってたら裸眼立体視の選択肢がでてきた驚いたのは内緒。俺、このプログラミングが終わったらAKI団に入るんだ。

そんなわけで部員の中でCEDEC2010に興味あった人は連絡くれたら講演のpdfあるんでなんとかなりそうです。
物理エンジンつくろうず。

あと、東大であった第1回並列計算セミナーの動画がUSTREAMに上げられてます。
[[第1回並列計算セミナー:http://www.ustream.tv/channel/opencae-seminar?lang=ja_JP]]

行きたかったぜ…という人は見ときましょう。
あとGoogle グループ上にコミュニティがあるので参加したい人は是非お願いします。

そろそろXperiaもアップデート来るのでプログラミング本気だす・・・?
Effective Javaの本がけっこう面白い。

*10/09/18(火曜日) [#f89fdca7]
衝撃の事実発覚。
ATI Stream SDKの対応カードにHD3XXXもHD2XXXが書いてない……だと……!?
きれいな顔してるだろ?ウソみたいだろ。死んでるんだぜ、それで…

つまりオワタ。
      オ、オ、オワターオワオワオワター♪
      \    オオオオワターオワオオワオワタ/
         ♪\(^o^) ♪
          _  )  > _ キュッキュ♪
        /.◎。/◎。/|
  \(^o^)/.| ̄ ̄ ̄ ̄ ̄|  |  \(^o^)/
     )  )  .|        |/   

ベンチマークとると微妙に効いてるのでそれに賭けるしか…。

まぁ、ここはチラ裏じゃねーんだぞ!とそろそろ怒られそうなので、ちょっとタメになることを書いときます。


Q.
Springhead2をVS2010でコンパイルしたら大変なことに。
〜M.lib関連のErrorどうすれば?

A.
ReleaseDllのTargetNameとLib.OutputFileでの名前が違うのが問題。
デフォルトでどうなのかはわからないけれど自分の環境では

(TargetName).lib < (Lib.OutputFile)

だったので、Lib.OutputFileを修正してやればおk

(そのままだと、TargetNameは「$(PROJECTNAME)10M」、Lib.OutputFileは「$(PROJECTNAME)10.lib」となり、
 $(PROJECTNAME)10M.libが出力されるべきビルドで$(PROJECTNAME)10.libが出力される。ReleaseとReleaseDllでの出力ファイルの名前が一緒なので宇宙ヤバイ)

自分は他にハマるのが面倒だっので全部のプロジェクトで

 すべての構成-ライブラリアン-全般-出力ファイル
 <親またはプロジェクトの既定値から継承>に設定


と直しました。これでerror出ることはなくなります。

※補足
TargetName(=構成プロパティ-全般-ターゲット名)
Lib.OutputFile(=ライブラリアン-全般-出力ファイル)

ついでにいうと、設定してライブラリ作ってもSampleソースが
管理されてないので、そこでまたコケますw

他にもwarningやsampleで手直ししなければならないところがたくさんあるので、現在まとめてます。


*10/09/18(土曜日) [#x38aea4b]
発狂なう。

OpenMP! Cilk! インテル Parallel Studio! ヒャッハー!!
やはり学生の本分は勉強なのか…。趣味に生きたいってのに。
%%こうやってCすら危ういプログラマーが大学から量産されry%%
KKT条件(キリッ とか正直かんべんしてくれ。最適化の魔窟にハマりんぐ。
わーい数学だーい。わーい数学だーい。
というか、日本語の資料が少なすぎるよママン。
そういや思い出したのだが、Cilkを使えばC++でもArray Notationやエレメント型関数が使えるんだぜ!
Fortranのパクリなんだが、コンパイラが並列用に最適化しやすいんだって。

というかAMD+Radeonとか俺マイノリティ。IntelコンパイラもSSE4aに最適化とかしてくれよ!PGIコンパイラ持ってねーんだよ!

とにかくSpringhead2のソースコードを読みながら物理エンジン研究中。
泣きたくなったのでSpringhead2をDirectX10に対応させてきまふ。

*10/09/16(木曜日) [#y4c1eb42]
Xperiaのアップデートが来るたびにOSのバージョン見て絶望している俺がいる。

そんなこんなで、ソースコード読みすぎて頭おかしくなってきたので久しぶりに更新。
最近、自分の中でプログラミング熱が加熱しすぎて、物理エンジンに着手したけれど泥沼。

結果こうなる↓

   ∩___∩
   | ノ      ヽ/⌒) あばばばばばば
  /⌒) (゚)   (゚) | .|
 / /   ( _●_)  ミ/    ∩―−、
.(  ヽ  |∪|  /    / (゚) 、_ `ヽ
 \    ヽノ /      /  ( ●  (゚) |つ
  /      /      | /(入__ノ   ミ   あばばっあびゃばびゃばば
 |       /       、 (_/    ノ
 |  /\ \       \___ ノ゙ ─ー
 | /    )  )       \       _
 ∪    (  \        \     \
       \_)

さらに、こうなる↓

   ∩___∩三 ー_        ∩___∩
   |ノ      三-二     ー二三 ノ      ヽ
  /  (゚)   (゚)三二-  ̄   - 三   (゚)   (゚) |
  |    ( _●_)  ミ三二 - ー二三    ( _●_)  ミ  ウオーォオォーアッヒャアアアウオホーオオオオオ
 彡、   |∪|  、` ̄ ̄三- 三  彡、   |∪|  ミ    テンション上がってきた!!テンション上がってきた!!
/ __  ヽノ   Y ̄) 三 三   (/'    ヽノ_  |
(___) ∩___∩_ノ    ヽ/     (___)


一月で100万行書けって…? うはwwwおkwwww
スパゲティコード的な意味で空飛ぶスパゲッティ・モンスター教の信者になりそう。
まぁ、ソースコードの管理はmercurialつかったら問題なくなったが。

物理エンジンをATIStreamとCUDAに対応させてLANでつないでPS3をアクセラレータにするという壮大な計画は、資料集めの時点でヤバイことに。

というか翻訳とプログラミングの同時進行は結構限界がありまっする。どう考えても、ドキュメント作成者くらいは欲しいよねorz
PS3のほうはGeekが脱獄してくれたおかげで、アクセラレータとして動かせそうな感じがバリバリします。


というわけで、一人の限界を感じたので金沢大学にプログラミングサークルを作りたくなった。活動内容はGPGPUとかOSとか解析とかアーキテクチャ寄りのことになりそうだけど。

「ただの人間には興味ありません。この中にプログラマー、ハッカー、数学者、翻訳者がいたら、あたしのところに来なさい。以上。」

ぶっちゃけただの人間が一番欲しいんだが、入ってくれそうな人はいるんだろうか…。

というわけで問題はサークルの人員集めである。
山根研に突撃するしかないのか。スーパーハカー(キリッ をどっかから探すしかないのか…。

今こそ金沢大学の電子情報学類の底力ってヤツをお願いですから分けてくださいplz



*10/07/13(火曜日) [#t9e0276d]
トラ技78Kマイコンとユニバーサル基板のパターンが、同時にやばい数の剥離を起こしたため、涙ながらに直す作業へ。
…もう二度と剥離なんかさせないと心に誓うレベルのしんどさでしたorz

&ref(PSoCx78K0.jpg,,50%);

そして久しぶりに調べて分かったこと。
[[【トラ技2008年8月号付録企画】付録NEC78K0 USBマイコン基板同等品:https://www.marutsu.co.jp/user/shohin.php?p=55296]]
…これはポチりたくなってまうではないか。意外に安いし。

まぁ…トラ技2008年8月号が1090円だったことを考えるとあれだが。

そしていつのまにかHIDデバイスとして認識できるようになったみたい。
[[USBファンクションHIDクラスドライバ:http://www2.renesas.com/micro/ja/designsupports/sampleprogram/78k0/78f0730/index.html]]
ソースちょこっとしか理解できてないんで、他のデバイスになれるのか不明だが俺の%%やる気%%技術では無理そうな感じ。気が向いたらHIDデバイス作ってみるかも。

Windows x64のうんkなドライバ署名のためにUSBデバイスの自作はこれから廃れる一方かもしれないけど、俺頑張れ。超頑張れ。趣味に生きろ。
USBデバイスのオレオレ証明書※1がたまに失敗する理由がさっぱり分からん。
というか、オレオレ署名付きで配ったらライセンス違反なのか?

※1ドライバ開発のためのテスト署名を作成すること。bcdedit /set TESTSIGNING ONでテスト署名使用が有効化される。RemoveWatermarkX64でテストモードの文字は消せる。けれど、BD再生などがテストモードではできなくなるらしい。(BDドライブもってないので確認できない)

ただ署名のある汎用ドライバ(WinUSBみたいな)使えば、inf書き換えだけでおkなはず。
猫 ◆tCHWINGPEIさんもやってるし、たぶん大丈夫。ライセンス違反ではないはず。たぶん。

というわけで、署名のある汎用ドライバを咬ませてから通信すればフツーにUSBデバイスと通信出来ます。


*10/07/12(月曜日) [#occ4d55c]

 「トラ技78Kマイコン×PSoC」


腐女子脳の皆様こんにちは!
攻めだとか受けだとかぐだぐだ抜かす前に、男なら尻アル…もといシリアル通信するべし。
でも、シリアル通信コネクタも変換ケーブルもねーよorz


というわけで、トラ技78Kマイコンを使ってPSoCとのシリアル通信に挑戦。
もはやレガシーではない!ビバ、脱レガシー。
…でも、ぶっちゃけ78Kマイコン使うほどのことじゃないような。




関係ないけど、今さらkobaさんのグラフィカルなページをさっき見つけて感動。
リスペクトして何かやるかもしれないし、何かやらかすかもしれない。

%%っは・・・し、静まれ・・・俺の腕よ・・・!!%%
黒歴史おいしいです^q^

*10/07/11(日曜日) [#z6caff9b]
続・printf
cprintfのLCD出力を日本語(半角カナ)に対応させてみた。これでLCDのカタカナ出力が簡単に。データシートにStandard Character Pattern(S0)と書いてあるヤツなら使えるんじゃなかろうか。

全部の記号に対応させようかと思ったけど、それならprintf自前実装したほうがマシ。

#region(簡易版(ス・セの文字が表示できない。))
 	//日本語(半角カタカナ)を表示するための小細工。
 	//UTF-8は半角カタカナは3byteになり、先頭2byteがEFBDかEFBEになる
 	//。~-:EFBDA1~EFBDB0
 	//ア~ソ:EFBDB1~EFBDBF
 	//タ~ン,゙,゚:EFBE80~EFBE9F
 	//表示できない文字 ö,ス,セ
 int putchar(char c)
 {
 	int code = (int)c;
 	
 	if((code != 0xEF) && (code != 0xBD) && (code != 0xBE))
 	{	
 		if((0x80 <= code) && (code <= 0x9F))
 			code = code + 0x40;
 
 		LCD_1_WriteData((BYTE)code);
 	}
 
 	return c;
 }
#endregion

簡単に確かめられるように完全版の全コードを。
#region(半角カナ完全対応版)
 #include	<m8c.h>
 #include	<stdio.h>
 #include	"PSoCAPI.h"
 
 int g_UTF8_High_2bytes = 0; //UTF8の文字コードの上位2バイトを納める
 
 
 	//日本語(半角カナ)を表示するための小細工。
 	//UTF8の半角カナは3bytesになり、先頭2bytesがEFBDかEFBEになる
 	//。~-:EFBDA1~EFBDB0
 	//ア~ソ:EFBDB1~EFBDBF
 	//タ~ン,゙,゚:EFBE80~EFBE9F
 	//固有2bytes(EFBD,EFBE)に被っている文字 ö,ス,セ
 	//このPSoCのintは16bit = 0000h
 
 //UTF8半角カナをLCD用半角カナのキャラクターコードに変換する。
 int UTF8_To_S0(int code)
 {
 
 	g_UTF8_High_2bytes = g_UTF8_High_2bytes + code;
 	
 	//ö(0xEF)のコードは表示させない
 	if(code == 0xEF)
 		code = 0;
 	
 	//取りあえず,ス,セの文字が来た場合は、UTF8半角カナ固有の2bytes(EFBD,EFBE)    ではないことを確認。
 	if((code == 0xBD) || (code == 0xBE))
 	{
 		//EFBDかEFBEならUTF8のいらない先頭2bytesなので表示する必要なし。
 		if ((g_UTF8_High_2bytes == 0xEFBD) || (g_UTF8_High_2bytes == 0xEFBE))
 			code = 0;
 	}
 	
 	//タ~ン,゙,゚のとき (LCDキャラクターコード) = (UTF8下位1byte) + 0x40
 	if((0x80 <= code) && (code <= 0x9F))
 		code = code + 0x40;
 	
 	g_UTF8_High_2bytes = g_UTF8_High_2bytes << 8;	//00EFだったらEF00mにな る。次の文字のために下位1byteを開けておく。	
 	
 	return code;
 }
 
 int putchar(char c)
 {
 
 	int code = UTF8_To_S0((int)c);
 	
 	if(code != 0)
 		LCD_1_WriteData((BYTE)code);
 	
 	return c;
 }
 
 void main(void)
 {
 
 	LCD_1_Start();
 		
 	LCD_1_Position(0,0);
 	cprintf("MeRL マイコンブ");
 	
 	LCD_1_Position(1,0);
 	cprintf("リョウリノキホンハサシスセソ");
 }
#endregion
※補足:S0はLCDのキャラクターパターンの種類のこと(かな?)
Standard Character Pattern(S0)

どう考えてもグローバル変数長過ぎですねorz

…ソースに直接半角カナで書くなら、マクロで実装したほうがよかった気も。後のこと考えるとビミョーなところだけど。

てか、PSoCデザイナーでコードスニペット使う方法ないかのう…。

*10/07/10(土曜日) [#s92ddf36]
PSoCのprintfの使い方が判明。
ただ実装が…。
LCDに出すにはcprintfを使うわけだが、
 int putchar(char c)
の関数をいちいち書かなきゃならない。
printfをいろんな出力で使うための苦肉の策なのがよくわかる。苦肉すぎるが。
%%めんどくせえええええええええええええ!!!!%%

まぁ、仕方ないと思ってネットで調べるとstrncpy使ってるのばかり。
%%ちょwww printf使う程度のことにstring.h使うとかやってらんねぇwwww%%

…というわけでcsprintfをいろんな方法で実装してみた。
もっといい案を教えてエロい人!

#region(BYTEキャスト版)
 #include	<m8c.h>
 #include	<stdio.h>
 #include	"PSoCAPI.h"
  
 int putchar(char c)
 {
 	LCD_1_WriteData((BYTE)c);
 	return c;
 }
 
 void main(void)
 {
 	FLASH char* string = "HelloWorld";
 
 
 	LCD_1_Start();
		
 	LCD_1_Position(0,0);
 	cprintf("Merl");
	cprintf("%c", ':');
	cprintf(string);	//cprintf("%s", string)の代わり
	
	LCD_1_Position(1,0);
	cprintf("%d:", 16);
	cprintf("%o:", 16);
	cprintf("%x:", 16);
 }
#endregion

#region(csprintf版)
 #include	<m8c.h>
 #include	<stdio.h>
 #include	"PSoCAPI.h"
  
 int putchar(char c)
 {
 	char str[] = " ";
 	csprintf(str,"%c",c);
 	LCD_1_PrString( str );
 	return c;
 }
 
 void main(void)
 {
 	FLASH char* string = "HelloWorld";
 
 
 	LCD_1_Start();
		
 	LCD_1_Position(0,0);
 	cprintf("Merl");
	cprintf("%c", ':');
	cprintf(string);	//cprintf("%s", string)の代わり
	
	LCD_1_Position(1,0);
	cprintf("%d:", 16);
	cprintf("%o:", 16);
	cprintf("%x:", 16);
 }
#endregion

#region(strcpy版)
 #include	<m8c.h>
 #include	<stdio.h>
 #include	<string.h>
 #include	"PSoCAPI.h"
  
 int putchar(char c)
 {
 	char str[] = " ";
 	strncpy( str , &c , 1 );
 	LCD_1_PrString( str );
 	return c;
 }
 
 void main(void)
 {
 	FLASH char* string = "HelloWorld";
 
 
 	LCD_1_Start();
		
 	LCD_1_Position(0,0);
 	cprintf("Merl");
	cprintf("%c", ':');
	cprintf(string);	//cprintf("%s", string)の代わり
	
	LCD_1_Position(1,0);
	cprintf("%d:", 16);
	cprintf("%o:", 16);
	cprintf("%x:", 16);
 }
#endregion

%sはstrncpyの方でも使えなかったので、%sが使えないのは仕様にしておく(キリッ
これで使う容量減ったよな…?(チラッ

|BYTEキャスト版|csprintf版|scrcpy版|
|ROM 13% (4101/32768)|ROM 14% (4335/32768)|ROM 14% (4367/32768)|
|RAM 3% (37 bytes)|RAM 3% (39 bytes).|RAM 3% (37 bytes)|

完全に自己満足レベルでしたorz

%s使いたい時は自分で実装するしかないっす。

printf実装は[[ここ:http://www.pastelmagic.com/tips/tips.html]]参考でおk
これなら%sがprintfで使えるはず。

[[printf()でのfloat使用方法:http://itcorp24.blogspot.com/2009/11/printffloat.html]]

ぶっちゃけ、この程度の差なら、個人の好きな方法で良い気が。
特に問題がないようなら、自分はBYTEキャスト版で行きます。

*10/07/09(金曜日) [#zbed96fd]
車でXperiaを充電しようと思った。
あれ?USB電源からXperia充電できねぇorz
電圧測ると5V出てますね…。分かんねぇ、はっはワロス。
とか思ってググると3秒で疑問氷解した。

Xperiaの充電はD+とD-が短絡してないとできないらしい。
充電器ならD+とD-が短絡してても問題ないのでUSBカーチャージャを改造。
|&ref(CAR-CHR1.jpg,,50%);|&ref(CAR-CHR2.jpg,,50%);|
|改造前|改造後|

動作確認したところ、ちゃんと動いた。おkおk

マイコンブはiPhoneユーザーの方が多いけど、俺はSony信者&Google信者として孤独に闘い続ける。

…ipadホシイヨー

*10/07/07(水曜日) [#w168aae3]
最近さくさく更新してる。ちょっと感動。
さっそく昨日の自分に突っ込み。S-8100BってVssをGNDにつないでもいけるんじゃね?
データシート見たら特に問題ない感じが。ネットで検索したところ普通にGNDにつないでる人もいたのでなんとかなりそう。

今日はLCDの調整にチャレンジ。
いままでにつくった回路はこんな感じになっていまっする。
&ref(PSoC_circuit.jpg,,50%); &ref(PSoC_circuit_back.jpg,,50%);

日本語(半角カタカナ)の表示に手間取ったのでメモ。
普通に
LCD_1_PrCString("アイウエオ");
とか書いたら、思いっきり文字化けしました。

%%【必要なヘッダー】%%
%% stdio.h%%

【カタカナ文字列の配列】
 char str[ ] = {0xcf, 0xb2, 0xba, 0xdd, 0xcc, 0xde, NULL };
※自分の使っているLCDで「マイコンブ」の文字列となる。
 &color(red){stdio.h をincludeしないとなぜかこの形の配列が宣言できない。};%%イミフ。情報求む。%%解決。追記参照。

さくっとこのページのタイトル的なモノを作ってみたのでソースあげ。

10/07/10:修正
 #include <m8c.h>        // part specific constants and macros
 #include "PSoCAPI.h"    // PSoC API definitions for all User Modules
 
 void main(void)
 {
    // Insert your main routine code here.
	
    char str[ ] = {0xcf, 0xb2, 0xba, 0xdd, 0xcc, 0xde, 0}; //文字列「マイコンブ」の宣言
	
    LCD_1_Start();
	
    LCD_1_Position(0,0);		//LCDの文字列の始点を決定
    LCD_1_PrCString("MeRL ");           
    LCD_1_PrString(str);		//上の命令と合わせて「MeRL マイコンブ」と表示される
	
    LCD_1_Position(1,7);
    LCD_1_PrCString("nishino");
 }

もうマイコンペの期限が来てもうた。
そこでバーサライタ作ってたけど、距離センサー手に入ったのが今日です。

とりあえずいつものやっておこうか。

orz

10/07/10:追記
NULLが標準で実装されてないことを忘れてたorz
char str[ ] = {0xcf, 0xb2, 0xba, 0xdd, 0xcc, 0xde, NULL }
そりゃstdio.hないとコンパイルで引っかかる。
stdio.hを見たところ、
 #define NULL 0
になっていので0でおkみたい。

*10/07/06(火曜日) [#x3b6e0c2]
画像張りテスト。
&ref(cy8c29466.jpg,,50%);
できた。MiniProgでPSoCに書き込むため、最低限必要な配線の対応図です。

『はじめてのPSoCマイコン』の温度計を作成しようと思ったら大学にLM35ないじゃんorz
というわけで、S-8100Bで代用する方法を考える。
LM35がVs/Vout/GNDであるのに対し、S-8100BはVdd/Vss/Vout
GNDの場所をVssに変更してP0[7]に対応させる。あとはテキトーに説明書見ながら配線すればおkな気がする。

というか、リファレンス電圧いるけどPSoCで出せるの?とか思ったら普通に出せるのね。
PSoCからリファレンス電圧を出す方法→[[ここ:http://bluefish.orz.hm/sdoc/psoc_memo.html]]
てか、本のコラムページに2ページまるまる書いてあった。
ACBブロックはアナログ・バス出力しないときはリファレンス電圧出せる。そうなのか!スゴス。全然PSoC使いこなしてないですねorz

俺の脳みそではプルアップ抵抗(S-8100BのCMOS出力バッファの出力インビータンスが高いらしい)がいるかどうかぶっちゃけ分からん。いるなら後で実装。
誰か作ったことある人情報お願いします。


ここより、あんまりマイコンに関係ないメモ。
F5 Networks VPN ClientとUT-VPNサーバを共有したいフォルダのあるパソコンに入れると、
金沢大学内でも、結構簡単に家のPCとWindows標準のファイル共有ができる。

【仕組み】
|F5 Networks VPN Client|金沢大学内LANと家PCをVPN接続|
|UT-VPN|金大のプライベートIPを取得できればこっちのもの。学内ルータをVPN接続でさらに飛び越える|

%%仮想化してあるDVDを学校で見ようとかしちゃ…%%回線に負担がかかるのでやめたほうがいいと思われ。どのみち、軽くないと回線速度的にカクカクになるだろうし。

用法・用量を守って正しくお使いください。


*10/07/05(月曜日) [#eb81c971]
トラックに当て逃げ?されて死ぬかと思った。
正確には5m先で停止後、中からパンチパーマのおっさんが出てきて「テメェ!さっきウィンカーry」
現実ヤバい。俺の心がブロークン。先生!涙で曇って基板が見えません!

それはさておき、すっかり忘れてたマイコンペ。七月中のいつだろ?と思ってみたら明後日だったorz
…間に合うのか?

取りあえず、半固定抵抗を手に入れた俺は、嫌な現実を忘れてLCDの実装をしていた。
『はじめてのPSoCマイコン』やり始めたばっかりだけど、ホント凄いぞPSoC。
方形波をバンド・パス・フィルタを通して正弦波をつくる(方形波をフーリエ変換すると奇数次の高周波の和になるので)わけだが、スイッチト・キャパシタ・フィルタがPSoCだけで実装できる!
つまり、PSoCさえあれば正弦波出せる。SUGEEEEE

でも、家にオシロがないので実装したけど波の形見れないorz

そしてアマゾンで頼んだPCカメラがやっと届いた。これでOpenCVとPTAM使ってアザミちゃんを金沢大学に…

*10/07/04(日曜日) [#c6f295d0]
P0[0]からポートがあるの忘れてた。
接続コネクタの足を一個ずらさないと…。

ところで画像を張ってみるテスト。

…出来なかったorz

悲しすぎるのでチラシの裏。

最近のマイブームはWizardry。
ヤバイ。Wizardryヤバイ。まじでヤバイよ、マジヤバイ。
Wizardryヤバイヤバイ。
まず古い。もう古いなんてもんじゃry…と書き出しそうなほど。
PS3版WizardryはPS3の性能を無駄にしまっくてるシンプルさ。
やばいこのままだと二次元に乗っ取られる。俺の現実が二次元に乗っ取られる!
ヤバイ。むしろ、俺がヤバい。激安で売られてるアマガミの前で本気で悩んだりし始めるかもしれない。
アルトネリコ3を買うか悩んでる高校生の横で、ホワイトアルバムを平然とレジに持っていくサラリーマンくらいヤバい。その横に俺も加わって世界のダメ縮図を作ればいいんですね分かります。
果たして俺が夢を見て二次元になったのか、あるいは二次元が夢を見て俺になっているのか。我ながら意味が分からない。
*10/07/04(土曜日) [#p1dad3cc]
この前の半田の続きをやり始めたら半固定抵抗(10KΩ)を頂き損ねていたことが判明。
というか、画像張る気まんまんでやり始めたが、いつまでたっても先輩に管理者パスワード聞けない。来週こそ合えるはず。

*10/06/26(土曜日) [#mea28ea5]
[[日本語参考データシート:http://www7.tok2.com/home/mikamir/MEIJI/psoc_datasheet.pdf]]
[[CY8C29664:http://pdf1.alldatasheet.jp/datasheet-pdf/view/199936/CYPRESS/CY8C29466.html]]

XRESは外部リセット(external reset)の略だとさっき知った。
%%基盤%%基板さくさく組んで画像上げようと思ったら管理者パスワードだと…!?

orz

久しぶりに半田付けしたらイモすぎてフイタwこまけぇこたぁいry
小松原先輩のような半田超絶技巧に挑戦するしかないのか…。

*10/06/14(月曜日) [#ac67faa2]
BTライブラリの作成に行き詰ったので改訂 はじめてのPSoCマイコンを買って試してみることに。
…秋田先生いないじゃんorz
というわけで、先輩から基盤を借りて試してみた。のっけからポート番号を勘違いして躓く。しかし、PSoCフリーダム過ぎる。パーツ少なっ!っていうのが本音でした。

*10/05/20(水曜日) [#zdca2f58]
Google Apps Education Editionにstu.kanazawa-u.ac.jpがあることが判明。
金沢大学で誰か何かやってるのか!と思ってさっそく登録。
…ん?三人………。
何もないですねハイ。俺も含めて三人とか悲しす。
あー、と思ってアカウント削除しようかと思ったら管理者権限がないとできないとな!?
しかも管理者誰か分からねぇw 俺m9(^Д^)プギャー
…そんなわけで、[[Technical notes:http://sites.google.com/a/stu.kanazawa-u.ac.jp/technical-notes/]]というサイトを腹いせに開設。
気になるバイオ関連の情報とかマイコンに関係ないプログラム解析技術とか載せてく予定。完全に蛇足。
もちろんGoogle Apps Education Editionのstu.kanazawa-u.ac.jpドメインに登録した人だけ見れる予定。三人とか寂しすぎるだろorz
みんなGoogle教のGoogle信者になればいいと思うよ。思うよ!
そして管理者の人連絡下さい…というかもっと機能充実させてくれorz

*10/05/14(金曜日) [#a4ae0313]
見つけたサンプルが素晴らしいのでそのまま公開したい衝動に駆られる。
けれど、後学のためとか著作権とかあるので、我慢して泣きながらガリガリ書く。
昨日の俺が公開するとか言っちゃったのでやるしかない。
激しく公開。いや、激しく後悔。
テストも近いので時間かかるんだぜ。急いでる人は参考にしたリンクから飛んで自分の目で確かめてください。いや、ホント。

水面下でAZAMI計画が進行中…。進歩状況2%。

*10/05/13(木曜日) [#hdd67a85]
Bluetoothデバイス間通信を開発をするための準備ができたので予告。
これ書かないとまとめるの面倒になりそうな気がするので。

もしかしたら801.11nのアドホック通信に鞍替えするかもしれない。
どっちにしろBluetoothでOPPプロファイルを使った通信やwiiリモコンと繋ぐ?サンプルぐらいは載せるので期待してて下さい。頑張れよ俺。
頑張って…C#とC++とJavaでサンプルは書くけれど、本格的な開発はJava上になりそう…。

*10/05/09(日曜日) [#a8b2277b]
komatsubaraさんの『WiiRemoteでGoogleEarthを遊んでみた』を見て黒歴史を思い出した。
そのころは[[ここ:http://www.kako.com/neta/2006-019/2006-019.html]]のサンプルくらいしか知らなかったので、メガネのふちに赤外線LEDを(電源はボタン電池)で取り付けるアクセサリを作って疑似3D液晶+mmviewerで若気の至りに挑戦していた。
(完全に[[この動画:http://www.youtube.com/watch?v=Jd3-eiid-Uw&feature=player_embedded]]と[[この動画:http://www.nicovideo.jp/watch/sm3523079]]のパクリです)
そしてメタセコの作業用にこんな感じのプラグインを作ろうとして挫折。
絶望した俺は拡張現実という名の2.5次元に逃げるため、HandyAR(マーカーレスで手のトラッキングができる)を使ってイリュー(省略されました・・全てを読むにはここを押してください)

リアルタイムレンタリング(第2版)の本には本当にお世話になった。リアルタイムレンタリングと書いてあるけれど、3D技術について1から10まで教えてくれるすごい本。

   ,. ''"゙ヽ.          ,. ''"¨゙ヽ
  i. r‐ 、,. '''"¨ ̄ ̄¨丶、r.‐、. i
  ゙、 .>'´ __          ヽ、' .ノ
   /   ´ ̄`   '¨¨¨゙ヽ   ヽ'
.  /    ●     ●     ゙、
. ,'       _            ',        変態じゃないよ!
. i      i´   ヽ         i        仮に変態だとしても
  i   __...>-、‐'"      ,'        変態という名の紳士だよ
.. ',/ 、    _ハ、_...   /
 /  、 丶‐''"-ニニ´      /
./    ヽノ         /
  -、__ノヽ、‐-  --‐‐'''" \

*10/05/08(土曜日) [#of5b19a0]
生協パソコンにVS2005入ってると思ったらリモートデバッグしか入ってないじゃないかorz
SP1統合パッケージを作ったが時間かかりすぎw手順まとめたんで誰か詰まった人は参考にしてみてください。けど、Java使いならEclipseだしVS使うにしてももう2010使うか…。Chromeブラウザの開発するなら別だが。
とにかく開発が可能になったんでBluetoothの情報をまとめ中…。

*10/05/06(木曜日) [#d3e08add]
**作業環境 [#l67aba04]
とりあえずマイコン作業環境を整えてみた。

 回路設計 :TINA for Windows ver7.0.26.16 SF(Japanese Book Version)
 PSocツール:PSoC Designer

Pukiwikiって標準で#regionとか表組み自体の位置移動とかできないのかorz

**目標! [#i934a2b1]

iPod 5G 80GBとxperia X10で無線通信とかできればいいなぁ…。
とりあえず妄想垂れ流しで構想を練る。

【動機】
Xperiaの容量が1GB+16GBなのでぶっちゃけ十分な気がしないでもないが…iPodが80GBもあるんだったら外部ストレージとして使ってみたい。ネトラジを保存して聞くためならきっと80GBくらいはいるのでそういうことにしよう。

え?Media Go?普通の人はみんなiTuneしか使ってないんだぜ…。

【構想】
USB接続…Xperiaにホスト機能ないorz
無線LAN接続…学校の無線LANの接続方式がIEEE802.1x。OS的には対応しててもXperiaが対応してNEEEE。iPhoneじゃない俺涙目(SONY対応してくれ!もしくは大学がWPA-EPAにしてくれorz)

…Bluetoothしか残ってないじゃないか。
…Bluetoothしか残ってないじゃないか。(大事なことなので二回ry

【大まかな手順の妄想】
iPodのDockにBT通信モジュール差し込む
↓
PSoCから大宇宙の意思をDockに送る。
↓
iPodをAiR(AdvancediPodRemote)モードで起動
↓
BTでiphoneとXperiaがシリアル通信
↓
Xperiaから操作(mp3タグ情報とかも受け取る)
↓
Xperia or iPodで音楽再生。


ついでにXperiaから日本語で曲名検索とかできればなお良し。
(Xperia内に曲リストを作成して検索→曲の絶対番号指定でできそうな気が…?)

【完全なる妄想】
ファイルストレージとして使うにはiPodLinux上にBTのファイル送信機能つけてシリアル叩けばできる雰囲気が醸し出されるような気もしないでもない。卒業論文でもないのにそこまでできる気がしない。というかiPodLinuxはアップル的にOKなのだろうか。黒いネズミに消されるくらいやばいんでないだろうか。

【直面しそうな問題】
・通信速度
・バッテリーの持ち
・技術不足
・やる気の枯渇

IP:121.95.238.175 TIME:"2011-02-13 (日) 17:19:18" REFERER:"http://merl.ec.t.kanazawa-u.ac.jp/micon-bu/index.php" USER_AGENT:"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13"

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS