▼ 2008/08/30(土) [ニコ動] N:TM(技術部 高槻MT)
■ニコニコ技術部関西勉強会
イベント詳細はニコニコ技術部 まとめwikiの,ニコニコ技術部関西勉強会を参照.
Make:東京が楽しかったという記事を見たこと,フェスタ68が濃いユーザが多かったことで,いってみた.ハードよりのイベントは希少なので,極力参加したいと思う.移動時間が3時間程度までなら...(コストはこの際無視だろjk)
■本日の成果
- 多くのニコ動 技術部の中の人と会えたこと.
- 知らない分野へのポインタが増えたこと.
- プロジェクトには可愛いおにゃのこの名前をつけること←最重要事項
週末の睡眠不足と,空腹と疲労で記憶力が通常の半分以下に低下しておりました.それでもコレだけは覚えています,ということで('A`
あと,需要確認もかねて何なりと動画うpしていきましょう.ただし編集作業時間が結構かかるので,あくまでも補助的に.
自己のタスク消化が最優先.これは譲ってはいけない.だからこそコミケのサークル参加を封印したのだから...
■記憶からサルベージ
単語だけ.気力と元気と記憶が残っていれば,動画エンコの合間に追記します.
- Tr選別は300個くらいでも行うべし(FETだとコストかかりすぎるだろw
- ロボットコンテスト参加支援者が居た!
- マイコンカーラリーの電源は1系統.ノイズ対策も腕の見せ所
- 初学者向けの動画需要もあるようだ
- 高速回転ねぎ回しは5万以上じゃないと負ける(ナニ
- 機構系設計・製作は大学・メーカの試作設備がある以上は,かなりきつい.
- USBデバイスの頒布はVIDの問題が残る.・・・ニコ技にVIDを提供してくれる会社は出てこないか?w
- FPGAは良いモノだ.マイコンも良いモノだ.(適材適所なんだよ・・・
- ALTERAすげぇ.Avalon BUSすげぇ.Xilinx陣営はどうなんだろう...
- オープンソース系のイベントも楽しいかもしれん.しかし,WEB屋畑の経験ないからなぁ...
■関連リンク
- ニコ動画:ライトニングトーク~不在通知P.ソフトハード関係なく,超絶オススメ.もう,コレを聞いただけでいってよかったと思った.ちなみに初うp(ぉ
- ニコ動画:まとめ動画(網羅慰していると思う.)
- Myコミジャーナルのrerofumiさんの記事.N:TMにあわせて繰上げで記載されたとか….
- Make:Japanの中の人が9/E発売豪の紹介と,Make:東京の第2弾をやるという.日程忘れた.確かまとめ動画に写真うpされていたはず・・・.記録下手ですみません('A`
ほか後日追加するかな... wikiのほうで補足されるか,動画のコメからリンク貼られるか・・・.こういう情報のまとめ方ってのも難しい罠.wikiコンテンツにリンク集を作って,記事ごとに小見出しをつけるか,孫くらいにまとめてもいいかなぁ.
- TB-URL http://www.ujiya-denshi.com/0209/tb/
▼ [C#][USB] Host apllication on WindowsXP with C#
★本気時は書きかけのものです.頓挫する前に公開★
■PC側のソフトを準備する
氏のsample"generichid_cs"から,必要なコードを流用する.C#では,Win32APIの呼び出しを直接行うことはできない.unsafe codeとして,DLLからAPIをimport宣言してやる必要がある.VBでWin32APIを用いるために宣言していたのと同様である.*1
*1 : .NET環境ではC#もVBも同じILに落ちると思いますけど
■HostTest_01
- device enumeration
- detection of device attached/detattached
- IN/OUT transaction check by using ReadFile/WriteFile
console applicationでもよさそうだが,今後のことを考えてGUIで作っていく.Formに配置するリソースを列挙する.
- TextWindow or List Window
- Status Window
- Rx Data window(StatusWindowに書いておけばいいか?)
- EditBox
- Device ID
- VID
- PID
- IF-ID
- TxData
- Device ID
- コマンドボタン
- device detect
- INPUT
- OUTPUT
パクリ
下記のファイルをコピーする.ただし,VBのnamespaceも使ってるようなので,少し綺麗にしたいと思た.ちうことで,VBのlength/CRLFだけを使っていたので,これを排除しただけなんですがね.
- Debugging.cs
- DebuggingDeclarations.cs
- DeviceManagement.cs
- DeviceManagementDeclarations.cs
- FileIODeclarations.cs
- Hid.cs
- HidDeclarations.cs
device enumeration
detection of device attached/detattached
IN/OUT transaction check by using ReadFile/WriteFile
■メモ
device change
WM_DEVICECHANGEメッセージが通知される模様.標準でフックできないようなので,WindowProcedureをoverrideしてsniffする.
class DeviceManagement(In file DeviceManagement.cs)
attached/removed検出
登録: RegisterForDeviceNotifications() 停止:StopReceivingDeviceNotifications()
DeviceManagement::Boolean DeviceNameMatch( Message m, String mydevicePathName )
WM_DEVICECHANGEメッセージを受けて,pathnameとマッチするかチェックする.マッチする場合はtrueを返す.
DeviceManagement::Boolean FindDeviceFromGuid( System.Guid myGuid, ref String[] devicePathName )
Uses SetupDi API functions to retrieve the device path name of an attached device that belongs to an interface class.
SetupDi APIを使って,interface classに属する接続されたdevice path nameを検索する.
参照資料
★MSDNより,C#で Num Text boxの作成 - 派生させてHex Edit boxでも作れ..~ 入力: hexのみ, 出力:':'区切りで表示, nibbleでfocus失うなら捨てる. 入力中は文字色変えるとか.
http://msdn.microsoft.com/ja-jp/library/ms229644(VS.80).aspxhttp://msdn.microsoft.com/en-us/library/ms790920.aspxhttp://msdn.microsoft.com/ja-jp/library/cc429201.aspx
- TB-URL http://www.ujiya-denshi.com/0208/tb/