ようこそゲストさん

とんずら雑記R

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屋畑の経験ないからなぁ...

関連リンク

ほか後日追加するかな... wikiのほうで補足されるか,動画のコメからリンク貼られるか・・・.こういう情報のまとめ方ってのも難しい罠.wikiコンテンツにリンク集を作って,記事ごとに小見出しをつけるか,孫くらいにまとめてもいいかなぁ.


名前:  非公開コメント   

  • TB-URL  http://www.ujiya-denshi.com/0209/tb/

[C#][USB] Host apllication on WindowsXP with C#

工作::USB

★本気時は書きかけのものです.頓挫する前に公開★

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 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



HostTest_02

Include all functions of HostTest_01.


メモ

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/