« 2007年10月 | トップページ | 2008年8月 »

2008年7月28日 (月)

USB応用

パフォーマンス・インジケーター その2

驚いた事にまたヤフオクにBeBoxが出品されている!
幻のマシンだと思っていたのに、そんなにタマ数があるのかい?
当然、先週とは別の方が出品されているのだが、あるところにあ
るもんだ。ただ、スタート価格が6万円なんでやはり手が出ない。
2週連続で指を銜えるはめになるとは思わなかった。

BeBoxほしいな~。

さて、AVRでCPUゲージであるが、土日を利用してファームと
デバイスドライバを書いてみた。

AVRのプログラムとなるファームは、昨年作ったUSBCOMIOを
流用し、LED制御を組み込んで見た。肝となるのが、4つのI/O
ピンを使用して10個のLEDを制御する所だが、これはMicrochip社
にあるアプリケーションノートTB023を参考にしている。ダイナミック
点灯させて、見かけ上同時に複数のLEDが灯っているようにしてみた。

デバイスドライバは新規に書いて見た。USBCOMIOとは違い仮想
COMのフィルタが必要ないので、煩雑なI/Oコントロールが無い分
コンパクトに仕上がった。
にしても、カーネルモードプログラミングは驚きに満ちている。
単純なバグでタスクマネージャーからも終了できないプロセスを
作り出したり、時計が止まるほどのパーフェクトなハングアップを
作ったり、自由自在である。もちろんブルースクリーンも簡単に
引き出せる。

ほんとに単純なミスなんだけどなぁ。

解ってしまえばあっけないバグを修正しつつ、デバイスドライバ完成。
テストアプリケーションを書いて動作を確認。

Piavr03  

 

 

 

 

 

 

ちゃんと動作している見たい。
次はWindows上の常駐アプリケーションだ。

今回、昨年書いたUSBCOMIOのコードを久しぶりに読んだが
なんかコードが汚い、よくこんなもんを公開してたもんだと
思わず赤面!公開した事に後悔する。(オヤジギャグ)

| | コメント (0) | トラックバック (0)

2008年7月26日 (土)

USB応用

パフォーマンス・インジケーター その1

ヤフオクにて発見!
かつて憧れだったBeBoX!!
PPC603eをデュアルで搭載、正真正銘マルチメディアOS搭載。
ユーザーインターフェイスも筐体のデザインも、とってもイカす。
ずっとウォッチしてたんだが、最終的に価格は99,000円まで高騰。

流石に手が出ないなぁ~。

泣く泣く入札を見送る事に。中古コンピュータに10万円なんぞ払え
る訳が無い。何年か振りに、指をくわえて(オークションページの)
BeBoxを眺める事になった。
筐体の左右にLEDが並んでいて、チカチカと2つのCPUの稼働率を
表示している様がカッコいいんだよなぁ。と実物を見た事はないが、
BeBoxの代表的なギミックCPUゲージに思いを馳せる。

BeBoXは手に入らなかったが、このCPUゲージ電子工作の題材とし
ては、お手軽でいいかも知れない。WindowsマシンのCPUゲージを
AVRでもって作ってみようと思う。

Windowsマシンの場合CPU使用率はPDHと呼ばれるAPIで得られる
らしい。パフォーマンスモニタで表示されるヤツだ。PDHならCPU以外
にもディスクやメモリの使用量も得られる。
そこで、Windows上で動作する常駐アプリでCPU使用率を取得し、
AVRで作成したLED表示器を制御する。これらの装置間IFはUSBを
使う。作成するものは以下の通り。

  • AVRを使ったLED表示器。PCからの制御はUSBで行う。
  • Windowsで動作し、LED表示器を制御する常駐アプリケーション。
  • IFとしてUSBを使用するので、専用のデバイスドライバ。

LED表示器のファームウェアやWindowsのデバイスドライバは、
USBCOMIOを流用改造する。WindowsアプリケーションはMFCを
使ってお手軽に作ってみる事にする。それぞれの作業は大した
事はないが、AVRのファームはアセンブリ言語、デバイスドライバ
はC言語、WindowsアプリはC++言語という夢の言語コンボを味
わえる。

う~ん。

開発環境も、フレームワークもそれぞれバラバラ。
取り敢えずLED表示器のハードウェアから手を付ける事にする。

で、ちゃちゃっとレイアウトをでっち上げて、作ったのがこれ。

Piavrcircuit02

Piavr01 Piavr02

 

 

 

 

 

 

 
うぅっ!2箇所LEDの極性を間違えた。
幸いソフトで何となりそう。でも、美しくないなぁ。

| | コメント (4) | トラックバック (0)

« 2007年10月 | トップページ | 2008年8月 »