Toolですが、なかなか便利に使えそうなので本格的に便利になるように改良しました。以下に改良点を示します。LinuxとWindowsで動作確認済み適当にプログラムでハードコーディングしていた部分を外部から与えられるようにしました。LCDプロファイルとフォントデータについては後述します。以下に入力と出力の関係を示します。LCDプロファイルとは、LCD形状、LCD描画色、ドットサイズ、キャラクタ間隔などを定義したテキストファイルです。このテキストファイルを編集する事で手持ちのLCDとそっくりの出力を得ることができるようになります。ファイルの中身は以下のようになっています。幾つかのLCDに対するサンプルを完備しています。Contrast初版では「ユーザフォントはプログラム中のデータを書き換えてね」という冷たい仕様でした。実際にユーザフォントを定義しようとすると結構面倒でした。新しいバージョンでは、フォントファイルを与えるだけで内部のフォントデータを書き換えてくれます。0x09###########......o.o.ooooooooooooooo.ooo...o.......プログラム内部のフォントデータは16進数で記述されています。点灯させたいドットをイメージしながら16進数を操作させるのは不親切です。上記のように人間がイメージできる形式で記述すれば済むようにしました。以下に実行例を示します。Sample"上記の実行例を見てわかるように、LCDプロファイルとユーザフォント、出力画像ファイル名、メッセージを与えさえすればBMP画像ファイルが得られます。LCDプロファイルをどんどんカスタマイズしてVFD版を作ったりしても面白そうです。ユーザフォントを使った出力の指定方法ユーザフォントを使った出力の指定は、バックスラッシュを使って指定する事ができます。上記のCGRAM(3)を表示させたい場合、「\x02」とコマンドラインに与えます。「\\」と入力して下さい。Linuxの端末で与える場合、シェルに解釈させないためにシングルクォートで囲ってから指定する必要があります。リソースのダウンロード本記事執筆段階でのスナップショットをこちらからダウンロードできます。ドキュメントはこちらからダウンロードできます。Expressのプロジェクトファイルも同梱してあります。Windowsでビルドして使用する事もできます。追記2012/09/04追記:v0.0.2にはバグがありました。上記から最新のv0.0.3をダウンロードして下さい。2012/09/15追記:http://shinta.main.jp/software/lcdtool/lcdtool_ja.htmlに最新版があります。(Atom)自己紹介shinta基板が大好きな組み込み系エンジニア。電気図面を描いてPCB上に美しく配線できた時に何とも言えない快感を覚える。放置を防ぐアイデアの1つとして「具体的な目標に繋げる」というものを挙げました。ソフトウェアとドライバが一式になったパッケージをダウンロードします。インストール後に本体を接続してソフトウェアを起動すると以下のような画面が表示されます。勢いよく「改良しました!」と宣言したh8writeですが、やっぱり書き込みに失敗するという事がわかりました。そもそも真の原因を掴めないまま改良したと言っても、何を改良したのか意味がわかりません。自分でもそんな突っ込みを入れたくなるのですが、その日はグ...システムにおけるレイテンシーとスループットの話題レイテンシーとは、あるシステムに何らかの入力を与え、それに対応する何らかの出力が出てくるまでの時間(遅延量)を指します。ある処理の実行を指令してから実際の結果が得られるまでに250ミリ秒かかったとすると、それは250ミリ秒のレイテンシーを持つシステムという事になります。アップデートしました。このアップデートにより、以下の動画で示すような長い曲でも難なく再生させる事ができるようになりました。mkIIは便利なのですがオンフィールドで書き換えるには不便ですし、ユーザに書き変えを頼むわけにもいきません。Atmelが公開しているアプリケーションノートAVR109に自己プログラミングがありましたので試してみました。LPC824を使ったサウンドモジュールMicroSoundModuleを開発していました。このサウンドモジュールは、コマンドを受け取って色々な再生を行うもので、当初はこのコマンド処理部分の実装にNT-Shellを用いる計画でした。BlackTankには有機EL液晶が搭載される予定です。接続部分はFPCになっていて、例によってFPC用コネクタなのですが、最初の実装は思いっきり失敗してしまいました。moduleにブートローダを載せる(AVR109対応)随分前に対応しようと思い立っていたAVR109にようやく対応させた。以前やった時にうまく書けなかったのはボードのクロック精度が原因。ここ数日モニタを実装していて、思った以上にRC内蔵クロックの精度が悪いことが分かった。エコーバックのテストでやたらと文字が化ける。説明資料を作っていて、レジスタの扱いについて面白く説明する方法はないかなぁ?と考えていました。