デジタルガジェット一覧

今日も電力計のソフトウエアの続き

 天気が悪いので、立川諏訪神社の例大祭に行って屋台フードを食べる計画は中止。そして、昨日の続き。

 1日毎のデータの保存先のEEPROMのアドレス計算が間違っていたのを修正。また、サーバのデータベースから8/15日以降のデータ毎日のデータを取得して、追加書き込みしておいた。これでそこそこいい感じの現在電気料金が表示できている。
 他は、XBeeのEndDeviceからの定期プッシュ通信を受信しメモリにためておく部分と、ためてるデータを別のXBeeからの要求で返却する部分。データは旬をもたせてるので30分以上古いものしか無い時は、要求者には0xffffを返す。10ビットADCの値をu_int16で返してるのでこれで見分けつくしね。

elfファイルを見る限りはRAM使用量はまだ4Kbyteには達していない。が、3,871byteなのでATmega644Pだったらギリギリだね。1284Pで良かった。プログラム自体は23Kbyte程。GLCDのフォントデータもあるものの、欧文フォントのみなので小さなもんです。


ちょっとケータイを替えようかとか

 手持ちのケータイの状態を替えようかとか。今はSO-04Dのみ。

1) メインのケータイは小型ガラケー(出来れば防水)で、Felica系統もそっちに移す。プランも見直し、昔の様にバリューSSかな。あ、wifiできる端末でないとSUicaのチャージのパケットがバカにならないのだった。手持ちのNに戻すか?
2) サブの情報端末として自力のWWANを持ったArdroid端末をシムフリー化して1000円/月程度の速度制限入りMVNOに変更。

ということを考えてますが成り立つでしょうか。


RAIDのHDDの掃除

 帰宅時におもいっきり雨に降られましたが、自宅の周辺は降った形跡すら無い。

 で、帰宅後。
 以前使っていたが、今は使っていないRAIDのHDDが2セットありまして。廃棄すべく調査。

 1つはシステムドライブとして使っていたRaid0+1で500Gの玉が4つの1T構成。そのうち1つがアウトだけどもアクセスは出来た。しかしシステムドライブなので特に拾うものも無く。0埋めして捨てます。
 もう1つはデータドライブで1Gの玉4つでRAID5を組んでいたもの。これが全くダメ。音からしてヘッドがやられてる音。生きている玉を探って0埋めして捨てよう。
 両方共分散書き込みをしてるのでそのまま捨てても良いのだけども、RAID0+1は生きている側2玉を集めれば復活できる。でもこれ純粋のシステムドライブだしね。/Usersはここには置いていないし。

 RAIDのBOX自体は生きてはいるようですが、今時SSDだしUSB2とかeSATAとか要らんでしょうから燃えないごみで捨てます。


PIC版キーコンバータのプロトタイプ

20130507_01

 PIC18F14K50(device側)とPIC32MX250F128B(HOST側)のコラボによるキーコンバータのプロトタイプを構築。
device側は何とかなりそうなことは確認済み。HOST側はこれから挑戦。基本microchipのサンプルコードをベースにやっていきますが、PIC18の方はC18,PIC32の方はXC32と大変です。
 さらにPIC32のコードは
#define GetInstructionClock() (GetSystemClock() / 2) ???
という記述があったり。 ? って三項演算子かい?ちょっとサンプルを使うのが不安になってきた。で、コンパイルしてみたが、最初通らなくてプロジェクトのincludeパスの指定とかをなおしたら、
 BUILD SUCCESSFUL (total time: 2s)
ときたもんだ。自分の勉強不足なのかもしれない。コンパイルは通ったので試しにチップにicspで焼いてみたが、動くわけもなく。そもそもconfigがサンプルのままだからPIC32MX250F128Bにあってないよね。PORT Fとか無いし。


Hapry nano版USBHIDキーコードコンバータ基板固定化

 Harpy nanoとATMEGA8U2 Breakoutの夢の?コラボレーション版HIDコンバータを実用版にするべく、ユニバーサル基板に固定しました。
まず、Harpy nanoに付いているピンソケットをはんだシュッ太郎を使って取り除いた。そして、ピンソケットの部分にピンヘッダを半田づけ。基板長辺側は全10ピン分、基板短辺側はGND,5Vのみ取り付け。

20130427_01

 で、秋月のC基板で配線。分厚い両面タイプを使いたかったけど、表側のランドとHarpy,8U2の裏側が接触すると嫌なので、片面基板を使用。
 機能選択用に2PのDIP SWを取り付け。ソフトウエアシリアルでHarpyのATmega328P側の動作確認できるように、USB-UART基板をつなげるように6ピンのピンソケット設置。配線は、ブレッドボード用のワイヤで、長くてあまり使わない緑、黄色、赤を使用。片側剥かなくても済むし、手頃だしw。

20130427_02

 ケースは秋月のP-00358のポリカケースを想定。基板固定用のネジ穴とUSB端子の部分のカットをすればOKかな。8U2の動作中LEDが結構目障りなのでシール貼るか、SMD抵抗を大きいのに取り替えるか。
 ソフト側は、2bitのDIP SWを載せたので、キーコードパススルーモードも搭載します。なーんの変換もしないモード。でもUSキーボード限定かな。JPのキーボードは変なコード出すからどうなるかは抑えてないのです。

 当然ながらこの記事はこの変換機を使って書いてます。US→US(CAPSLOCKをatl+~変換)のロジックですが。敢えて、日本語キーボードドライバいれて試すのもおつなもんかな。


SSD故障

 今週に入ってから、メインマシンのWindows8を使ってるとやたらと反応が悪くなる時があった。マウスカーソルは動くのだがWait状態のアニメーション。アプリだけでなくタスクバーも反応無し。eventvwrで確認しようとしてもこれまた上がってこない。という具合なのをだましだまし使っていたが。
 金曜の朝、ついにOSが起動しなくなった。ってかboot先が無いよと。このSSDはCrucial m4の128G
 夜、一旦起動できたのでUSBでHDDをつなげてパーティションコピーを開始して寝た。(昨日4/26のブログエントリーが無いのはこの為です。)

 早朝起きてきて、SSDとHDDを入れ替えて復旧はした。だが、SSDに慣れた身としてはHDDだとやっぱ遅い。ちなみにイベントログを見ると、OS無反応になってた時は「ディスク 0 の論理ブロック アドレス xxxxxxx で IO 操作が再試行されました。」(論理ブロックアドレスはその都度異なる)がたくさん出てました。
 で、遅いのはかなわんので、USB3でデータディスクとしてつないでいたintelのSSDに切り替えるべくパーティションコピー。その後、SSDをUSB接続のまま起動先デバイスを変えてみてもエラーになってしまう。SATAにつながってるHDDと入れ替えて無事動作。やはりSSDに慣れるとHDDきついなぁ、そしてSSDの故障は突然来て結構面倒なので常日頃から要観察だね。