OpenStickファームウェア更新

訳あって我が家のノートPCをWindowsXPからWindows7にアップグレードした。その際PICマイコン開発環境である「MPLAB IDE「と「USBフレームワーク」の最新版をインストールしたら、OpenStickのファームウェアがコンパイルエラーを出すようになった。

内容は「usb_device.c」内の、「USB_DISABLE_NONSTANDARD_EP0_REQUEST_HANDLER」という名前の関数(実際にはマクロ)が無いという物で、調べていくとUSBフレームワーク最新版では「USB_NONSTANDARD_EP0_REQUEST_HANDLER」に名前が変わっていた。

普通の使い方だと「usb_device.c」はフレームワークについているものをそのまま使えばいいのだが、OpenStickではRAM上のディスクリプタを扱う関係でこのソースを変更している。 フレームワークの変更にあわせて毎回「usb_device.c」を変更するのは大変なので、以前のまま使おうとしたのだが・・・。

上記マクロ名が何の目的で変わったのかは判らないが、あまり重要そうでもないので、「USB_NONSTANDARD_EP0_REQUEST_HANDLER」に書換えてコンパイルを通した。 そして問題なく動作しているのでOpenStickのページにもアップした。
(以前のフレームワークでもコンパイルできる様に条件分岐を入れておいた)

前回まで使用していたUSBフレームワーク(を含むMicrochipApplicationLibraries)のバージョンは次の通り(2バージョンあるが両方動作していた)・・・
・Microchip Solutions v2011-07-14
・Microchip Solutions v2011-06-02

そして今回インストールした最新版は・・・
・microchip_solutions_v2013-02-15

なお「MPLAB IDE」は、これに続く「MPLAB X IDE」というのも出ており、いずれ移る必要があるのかもしれないがまだ試していない。

インダクタの測定

インダクタの値を簡単に測れる方法がないかと検索したらYouTubeにこの紹介が見つかった。
74HC04(インバータ)で発振させて周波数からLを求めるというものであるが、74HC04は手元になかったので74HC00(NAND)で試してみた。 その他、細かいところは手持ち部品に合わせて変更した。

Lmeter

L測定回路

手始めに、先日のソーラーLED照明に使用したコイル330μHを測定。出力波形がこれ。

330uH

出力波形

f=40.3KHzから計算すると312μHという結果になった。公称330μHなので許せる範囲とする。

Lmeasure

手持ちの正体不明コイルを測定

ブレッドボードなので精度は怪しいが、とりあえずは良しとする。
手元にあった正体不明のコイル達を色々と測定した。

 

WordPressのスパム対策

このBlogに毎日多くのスパム投稿が来るので嫌になり、「SI CAPTCHA Anti-Spam」というプラグインを入れてみた。 殆どのスパムはどこかへのURLをずらっと書いた様な内容で、どれもほぼ同じなので機械で自動送信しているものと思い、絵文字をキー入力する方式のこのプラグインなら防御できるだろうと考えていた。 しかし殆ど効果なし。これらは人力で送信しているのか?

そこで「Akismet」なるプラグインを入れてみた。こちらは内容から判断してくれるタイプの様。
インストールにはAPIキーというものを設定ページから取得する。このとき、個人ユーザーならば年間$0~$120の間の金額を自分で設定するらしい。イマイチ不安なまま、$0に設定してキーを取得した(このときAkismetから送られた確認メールがThunderbirdにスパムと判定されてしまったが・・)。
効果はてき面で、インストール後2~3日過ぎてスパム投稿は一件も来ていない。