自称病んでるという酔っ払っいのオッサン(←同年代)と、デザインとは何かを延々と話した後、来年ツクバに出る島田号の話をして、ふと思い出しました。

SDRのマルチスパークってどないすんねん?

あ、そうだわ。思い出した。これやらなきゃだわ。
iPhone 003

思えば基板作った後、、、なぜか大型免許を取りに行き、油冷カタナを買ってしまい、案の定まともな物じゃなかったので色々と修正し、、、等と遠回りしてましたが、また年明け早々忙しい事が確定してますからこの冬休みに一歩でも、、、と思ってようやく再開です。
一回しまうと色々と時間が掛かるんでわ。
(思い出すのに時間が掛かるだけなんやけど)

時間が無いならパチ行かなきゃいいじゃん、なんですが、まぁそこはライフワークなんで仕方ありません。
人は誰もが、空気を吸って、水を飲み、パンを食べないと生きていけないのですが、それにタバコやらパチやら麻雀もオプションとして取り揃えてあります。

ちなみになぜ大型免許を取ったり、MT-07じゃなくて油冷カタナなんて物を買ったのかは別途忘れない内にライフログとして残しておこうかと思います。


さて、前回までの進捗は、PIC側ファームウェアをHIDとして動作させるまでをやってましたが、PC側のHIDAPIで躓いてました。
HID API for Linux, Mac OS X, and Windows

将来のマルチプラットフォーム化を睨んで、なんとかHIDAPI経由でやり取りしたかったのですが、どうも上手く行かない。

hid_open()はOK。だけどhid_writeがどうも。
HIDAPIの作者Signal11は、hid_writeの時は、正しい送信バイト数を必ず指定するように、とコメントしているので、例えば単純なコマンドを送信する場合は、

buf[0] = 0x00;
buf[1] = 0x08;
buf[2] = 0x00;
res = hid_write(handle, buf,3);

等と書いていたが、これだとどうもエラーになる。

答えはこうだった。
res = hid_write(handle, buf,65);
特にWindows7プラットフォームはこうしないと、HIDAPIの先のhid.dllがエラーを返すみたい。
修正したら、正しく動作して、コマンドラインベースでPICとやり取り出来るようになった。

もうたったこれだけなんだけど、作者のSignal11が書いているので全く疑わなかった。
ちょいと時間を空けると急にクリアになる事ってありますよね。
ひとつ壁が無くなった。

今はPCからコマンドを叩いてLEDがチカチカするのですが、これだけでも、おぉってなるから不思議。

この際PC側のインターフェイスはキャラクタベースでもとりあえず良いかって思ってたりします。
マイクロWebサーバを作って、ブラウザでUI作ってもオサレですよね。
いや、面倒なんでやっぱりCUIかな。