2012年7月9日月曜日

なんだか急にtwitter botがつぶやかなくなったら

太陽電池の発電状況を1時間に一回つぶやかせている。
が、ある日ぽつぽつつぶやかなくなって(歯抜け)、
結局まったくつぶやかなくなってしまった件。

スパムと思われたり、twitterの不具合だったり(そのある日、というのは
twitterが断続的に落ちたあの日だった)、いろいろ疑いましたが。

結局、botをつぶやくサーバの設定時間がえらくずれていた、というのが原因。
エラーメッセージを調べると”Timestamp out of bounds”と出ていた。

ntpdateで時間をあわせると問題なくつぶやきだした。

なんにもしていないのにbotが止まった、という方、一度は設定時間の確認を。

2012年6月2日土曜日

BB-Shoutのファームウェアをアップデートする

今、持っているBB-Shoutのファームウェアのバージョンは1.1。たぶん、初期型。

これの良くないところは、つないでいるサーバから切断されてしまうとリトライしてくれない。
外部からリトライする、という回路を作られていた方もおらました。
がその後ファームウェアレベルでリトライするようになった、と聞いてアップデートしよう、と思いつつ何年かが過ぎて...

ようやく腰をあげてアップデートしました。
今回、USB-シリアル変換器を使って簡単に済ませます。

1.戦略
     1. USB-シリアル変換器(5V対応のもの)を使う。
     2. 電源はBB-Shoutそのものから供給(ライター側に電源はもたない)
     3. 書き込みソフト(ベクターからダウンロード)は定番?のやつ
2.必要なもの
  1. カードエッジコネクタ
  2. 基板
  3. USB-シリアル変換器
  4. ピンヘッダなどなど。
3.手順
  a) 書き込み回路の作成
         まず書き込み回路を作ります。
          このリンクの一番下のあたりに回路図があります。

   が、今回は”簡単に済ませる”がテーマなので、下記のように接続します。

   ○カードエッジの 1と13を接続→さらに、これをシリアル変換器のGNDへ接続
   ○11と17と19を接続
   ○9はシリアル変換器で、PCから送信されてくる線に接続
   ○7はシリアル変換器で、PCへ送信する線に接続。

   回路にするとこんな感じ。元の回路図を加筆修正。


   写真はこんな感じ。
   伸びている線はシリアル変換器とつながっています。
   また、カードエッジコネクタの左右の”耳”は削らないといけません。


   カードエッジのコネクタのピン配置はこのようになっています。
   ※端子は基板の裏面に。
   


   b) 書き込み

    ■準備
     ・BB-Shoutの電源は切っておく。
     ・USB-シリアル変換器をPCに接続する。またCOMポート番号を確認のこと。
     ・ソフトを立ち上げる。で、上記のCOMポートで設定する。
      また、設定ファイルは"3069_F25M_P384.inf"に設定しておく。
      ボーレートの設定はいらない(勝手にやってくれる)
     ・カードエッジコネクタを差し込み、USB-シリアル変換器をつなぐ。

    ■書込       
     ・BB-Shoutの電源を入れる
      液晶には何も表示されないことを確認(上の一行がすこし豆腐表示になるかも)
      →書込モードになっている(はず)
     ・ソフトの書込みボタンを押す。
      うまくいくと書込が進んでいくはず。


うまくいかないときは、5V出力のUSB-シリアル変換器を使っているか、
また配線(特に送信・受信)を確認してやり直しを。

液晶をつないでいるとだめ、という情報もありますが自分はつないでいても問題ありませんでした。

これで気持ちよく使えます。
が、登録していたラジオ局の設定を忘れてしまっていたのでこれからやる人はメモしてからやりましょう。

2012年5月28日月曜日

ATI Winflashでブルースクリーンになって困ったら

すごく久しぶりにATIのカードを買いました。
シングルモニタで使っているときはなにごともなかったんだけどデュアルモニタにしたらセカンドモニタがちらつく、というか同期はずれがぽろぽろと起こるように。

なんか調べると既知の問題らしく、省電力とかいろいろモードが変わった時にクロックが足りなくてセカンド側がおかしくなるとかなんとか。

なんか、欠陥じゃないすか。これ。

対策はモードが変わってもクロックが変わらないようにするんだと。

いくつかやりかたはあるみたいだけどグラフィックカードのBIOSを書き換えることに。

で再起動。

ブルースクリーン。

ほげ。

再起動。

ブルースクリーン。

あ、やっちまった。
ドライバが読み込まれたタイミングでどうも、ブルースクリーンらしい。

もとに戻そう、とセーフモードにしてATIWinflashでバックアップしたもとのやつに戻そうとしたら。

管理者権限で起動しろとな。はいはい。

管理者権限で実行。あれ。だめだ。

じゃぁ、catalyst削除で。アプリケーションから削除しようとしたらセーフモードではアプリケーションの削除とかはできないだと。

ほげ。

どうしよう。
セーフモードでしか使えないPCになってしまった。困った。

うーん。考えること10分。

デバイスマネージャでドライバを削除した。

で再起動。

フツーのモードの標準VGAで起動してくれた。ブルースクリーンなしで。

あーよかった。

で、ATIWinflashでもとに戻した。

で、ドライバを入れなおし。
まったく意味のない1時間を過ごしてしまった。



※低解像度で起動でもだめなので念のため。

2012年5月17日木曜日

vmware fusion+英語キーボードでwin7でハッピーになる

MacBookAirにvmware fusionをいれて時々win7を使うのだけれど、
英語キーボードだとデフォルトで?キーアサインがおかしくなる。

具体的にいうと中途半端な日本語キーボード状態。カッコのあたりとかがひとつずれる。
一台のPCで英語アサインと日本語アサインが混在すると大変混乱するので
Win7の設定を変更。

キーボードのドライバを”標準PS/2 101/102キーボード"に設定。
なんか君のPCの設定とあってないけどいいの?って言われるけど気にせず進める。

再起動したら、ちゃんとキートップ通りになりましたとさ。

2012年5月8日火曜日

ラジオパネルがだいぶ出来上がった

モチベーションが上下して進捗があるような、ないような感じでしたがとりあえず形になってきました。

詳細はまた書こうと思いますが、ロータリーエンコーダ、スイッチ類の入力などと
液晶表示にも目処がついたのであとは細かいチューニング、使いながら問題点などを
だしていこうかなぁと。

今回は写真だけ出しときます。
スイッチなどの入力に応じFSXの設定が変わり、またその設定内容に応じて画面が変わるようになっています。


2012年4月28日土曜日

WinUSBをインストールする

infファイルを作るのは面倒くさいもので。

Interfaceのダウンロードサービスをありがたく利用させてもらって手抜きをしようと。

下記リンクより
http://www.cqpub.co.jp/interface/download/contents.htm
2011年8月号のなかの"Windows用の汎用USBドライバWinUSBの基本的な使い方"を
ダウンロードし、解凍。

中のフォルダ、"WinUSB-WinXP-Install"の下に、ある2つのフォルダの中にお宝が。
32bitのドライバのインストールするときは、"WinUSBdrv"を、64bitのときは"WinUSBdrv64"を使います。

で、どちらかを選んでその中の"WinUSBTest.inf"の中に自分のエントリを追加。

[DevDrv.NTx86]
;;%DeviceName%=USB_Install, USB\Vid_045e&Pid_94aa&mi_00
%DeviceName%=USB_Install, USB\VID_0547&PID_1002 ;; OSR USB-FX2
%DeviceName%=USB_Install, USB\VID_045B&PID_0020 ;; CQ FRK SH-2A
%DeviceName%=USB_Install, USB\VID_FFFD&PID_0000&MI_01
[DevDrv.NTamd64]
;;%DeviceName%=USB_Install, USB\Vid_045e&Pid_94aa&mi_00
%DeviceName%=USB_Install, USB\VID_0547&PID_1002 ;; OSR USB-FX2
%DeviceName%=USB_Install, USB\VID_045B&PID_0020 ;; CQ FRK SH-2A
%DeviceName%=USB_Install, USB\VID_FFFD&PID_0000&MI_01

赤字の箇所が追加した部分。
自分は複合デバイスに割り当てたかったので"&MI_01"がついてますが、ここは各人の設定に合わせて。

インストールするときは同じフォルダの"dpinst.exe"を使ってインストール。

配布するときのインストーラを作るときはもっとちゃんとしないといけないんでしょうが、テストしたいぐらいの時はこれでちゃちゃっと。

ただ、このまま使うと、デバイス名が"WinUSB Test Device"になっちゃうのでココらへんが嫌な人は最後の方の文字列を適当に書き換えを。

USB複合デバイスを作るときの注意

USB複合デバイスを作るとき、たぶん一つのデバイスを作って動作確認してディスクリプタを増やして次のデバイスを追加して…とやるとおもいますが、ここで落とし穴に注意。

一度あるVID,PIDでWindowsにつないでしまうとWindowが”どのデバイスドライバを使った”ということを覚えてしまいます(同じポートにつないだ時)。

そのため、上記のように追加すると”ビックリマーク”がついた状態になって”正常に動作していません”と言われます。

違うポートに繋げばまぁ回避できますがそういっぱいポートがあるわけでもなく。
またVID,PIDを変えていけば回避をできるわけですがそんな生産性のないことをしたくないですし。

これを回避するにはデバイスを”削除”すればよいのですがすでにディスクリプタを変えてしまっていると削除しようにもそのデバイスを認識しないので削除できません。

ちゃんとしている人は”ディスクリプタを変える前に削除してるぜ”っていうかもしれませんが人間は忘れるものなので...(少なくとも自分は無理)
また変更したディスクリプタを元に戻して...というのも生産性がない。

そこで、Utilityを使って”忘れさせ”ます。

で、これ。
http://www.nirsoft.net/utils/usb_devices_view.html

これは”接続していないデバイス”のドライバ設定を削除できます。

使用する前に、設定で、”接続していないデバイスを表示する”にチェックが入っているか確認しましょう。




また、管理者権限で実行しないと設定が削除できませんのでここも注意。

で削除したいデバイスを見つけたら、右クリックして削除。



デバイスの表の右のほうにVendorIDとProductIDの欄もあるのでソートをして複数の行を選択すれば一気に削除することもできます。
今まで作ったデバイスの名残がある人はこれを機に掃除してしまいましょう。

ちなみに、自分はこれで2日無駄にしました。あ゛ー。


リンク
http://itpro.nikkeibp.co.jp/article/COLUMN/20090529/330946/
http://www.microchip.com/forums/m646586-print.aspx