免状届きました

 定時後の急な打ち合わせで2/26までの作業依頼を受けて、シオシオになりながら帰宅。

 冷え込んだ空気の中、家に帰ると簡易書留の封筒が。しかも宛名書きは自分の字。

20130221_01

 免状届きました。写真はケースの表面ね、各都道府県で免状の形状が違うという。東京都の場合は不評なんだよね。このペラいケースの中に紙の免状。大体この免状、電気工事作業時に常時携帯しないとイカンのだよ。せめてパウチ、できればクレジットカードタイプにしてくれんと、仕事で現場で工事する人とかはボロボロになるよね。わたしゃ趣味の一環で使うだけなのでまだ良いけど。

 ともあれ、これで600Vまでの一般用電気工作物をいじれます。一種どうしようかなあ。試験に受かっても免状はとれないので、「認定電気工事従事者」として600Vまでの自家用電気工作物がいじれるようになるだけだもんなぁ。


息抜きの小ネタ

 思いつきで7セグメントの3桁LEDを4個発注した。グローバルアドレスの表示とか、DHCPでもらったIPアドレスの表示とか、セグメント内で開いているIPアドレスを探すとか。超ピンポイントのデバイス。
 お出かけした時のホテルなんかでは使えるかも。

 さてこれを小さくするにはどうするべ。電源はUSBかな。mbedじゃデカイのでATmega328pとWiznetのLANコネクタサイズのブレイクアウトかな。
 3×4で12個の7+1(小数点)セグメント。12端子のトランジスタアレイ&シフトレジスタが有ったほうが良さそうかね。8チャンネルx2個が妥当かな?シフトレジスタは結構使いでがありますね。

 で、IPV6になったら使えませんけどね。


サイトのアクセス管理は

ここのアクセス管理は
 ネガティブな意味では、httpdのログを見て裏口を叩いている奴がいたら(先だってのYahoo!Japanのクロウラーみたいな。そういえば、未だに何も「確認」後の回答はもらってません。)除外する感じ。
 ポジティブな意味ではGoogle analyticsでオーガニック検索トラフィック。どんなキーワードでたどり着いたかがわかるので、自分の持ってるコンテンツで近いものが有ったらタイトルや文章を改定。

 商業的なサイトではないけどGive&Take的な感じで、あることを知りたい人がいて、その知識を自分が持ってる時は公開してあげたいという感じ。残念ながら日本語のコンテンツしか無いですけどね。


やっぱ頭がいい人は違う

 1byteのデータのビットをMSB<->LSBでさかさまにする方法を探していた。ArduinoのshiftOut()だとMSBFIRSTとLSBFIRSTが選べる。けどこれをハードウエアSPIに置き換えたら選べない気がする。(と思ってたが、Arduinoだと選べる。mbedは指定でき無さそう。)

 で、探していると、javaのIntegerクラスのreverseというメソッドが引っかかった。その解説ページもあった。隣同士を入れ替えて、次は2つまとめて隣同士を入れえて、その次は4つまとめてとなり同士を入れ替えて。みたいな感じでbyteなら完了。Integerクラスの実装は32bitの様でもう1こ処理があります。

8bit版を所望していたので、ちょっと削ってみて、Cなので>>>演算子はないので>>に置き換えてみて

byte i = 0b10010111;

i = (i & 0x55) << 1 | (i >> 1) & 0x55;
i = (i & 0x33) << 2 | (i >> 2) & 0x33;
i = (i & 0x0f) << 4 | (i >> 4) & 0x0f;

上記を0bで書くと

i = (i & 0b01010101) << 1 | (i >> 1) & 0b01010101;
i = (i & 0b00110011) << 2 | (i >> 2) & 0b00110011;
i = (i & 0b00001111) << 4 | (i >> 4) & 0b00001111;

 とかで実際にreverse出来ました。すごいなぁ。頭が硬いとループ回したり、変換配列つくったりしてしまう。ただ、Cの場合は算術シフトと論理シフトは実装次第なので、全検証してみないとわからんですね。シフト演算子はわかってしまえば超ベンリかつ速いので下手なループかますより良いですね。
 で、「>>」はArduinoはavrgccなのでunsignedは論理シフト、signedの時は算術シフトみたいです。
 mbedでも大丈夫そう(byteはunsigned intに変えましたが)。ただ、mbedのコンパイラ 0bが通らないみたいでコンパイルエラーでて5分悩んだ。というか0b使えるのはGCCだけなのかも。

 mbedのコンパイラ。インストールしなくて楽ちんなのでオンラインコンパイラをずっとつかっていたけど、そろそろオフラインコンパイラも導入してみても良いかも。プログラムソースのExportをする際にzipファイル以外にいくつかパターンが選択できるのだけど、あれがオフラインコンパイラへのソースだったのかと。


なんか朝頭痛が

 頭痛がして会社をお休みしました。
 ツレが言うには血圧が高いんじゃないの?と。確かに毎年の健康診断では血圧測りなおしの刑にさらされてるし。
 新年度に入ったらお医者さんに行っていろいろ観て貰いたい所はあるのですよ。4月までの我慢です。


なんとかこの辺りまで


 マトリクスLED2つでここまで表示出来た。フォントデータと実表示で縦横が違うので変換しないとなぁ。6,000のデータを変換するか、表示の際に行列変換するか。どっちでも良いけどね。