IRKitの青いLEDが眩しいので待機中だけ点灯させないようにしてみる

  • このエントリーをはてなブックマークに追加
  • feedly
    follow us in feedly

きんちゃん( @wa_kinchan )です。

前回に続きIRKitネタです。
前回は、IRKit × Jailbreakでコラボさせた訳ですが、今回はIRKit自身を改造します。
iPhoneからIRKitの使い勝手を向上させる「IRKit for ProWidgets」 | きんちゃんぶろぐ


非常に有能なIRKitですが、常に点灯している青いLEDが明るすぎて少々気になることがあります。
そこで、IRKit自身を改造してそのLEDを待機中だけ点灯させないようにしてみました。

IRKitのファームウェアを書き換えてみる

公式でやり方は掲載されており、それに合わせてセットアップしておいてください。

irkit/device


注意点

公式に書いている通り、IRKitはATmega32U4を積んでおり、プログラムメモリが32kBありますが、最初からほぼ全ての容量を使っています。不要な機能の削減、ログ出力を省くことで容量を節約できますが、今回は面倒なのでそのままごり押しします。
エラーが出てうまくいかない場合は大抵、プログラムメモリの容量制限エラーです。そのことを頭においててください。

プログラムが28672byteを超えるとこんな感じでエラーはかれる:
スクリーンショット 2014 05 18 09 38 24
これを超えて無理に書き込むとBootloader部分まで破壊してIRKitが起動しなくなります。boards.txtなどを弄って遊ばなければ、「ツール -> マイコンボード -> “Arduino Leonardo”」を選択している時点で書き込み前にちゃんとエラーを吐き阻止してくれるので大丈夫のはずです。

潰れも自己責任でね!
Bootloaderを壊してしまったら以下をチェックしてみて下さい。半田でピン付けてUNO等でAVR書き込み機を作れば初期化できます。

ファームウェアを書き換えられなくなってしまった · Issue #1 · irkit/device


青いLEDを無効化してみる

以下は、僕が勝手に書き換えたIRKit.inoです。(※かなり強引です。)

device/firmware/src/IRKit/IRKit.ino at master · wakinchan/device


void on_irkit_ready();
: BlueにLEDを点灯させるところを書き換え無点灯にさせます。
void on_ir_xmit();
: Signalの送信時に点灯する部分ぽいので、1秒だけ青い色に点灯するように修正しています。

「version.c」については、
const char version[] = "2.0.1";
にしています。お好みで。

あとは、ボード(IRKit)に書き込んで終了です。

firmware書き換え(LED非点灯) & IRKit for ProWidgets

ざっくりどんな感じか動画にしてみた。
分かりにくかったらすんませんっ。



まとめ

青いLEDで寝れない人は、ややリスキーですがやってみたらいいかもね。



では、きんちゃん( @wa_kinchan )でした。
最後まで読んで頂きありがとうございます。良かったら、RSS購読、シェアして下さいね(≧∀≦)!





コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Post Navigation