去年3版を出したのなら少しはこのあたりを補足しておいて欲しかった。確かめて参考書を買うんだった。進歩の早いこの世界では、参考書はよほど気をつけて買わないとこういうことが起きる。全体的な流れを掴むために参考書を使うのだが、こんなにバージョンが大きく変わってしまうと個々の細かい説明が違ってしまって結局それすら出来なくなる恐れがある。ならないことを祈りたい。慌てて、製造元のCadSoftのサイトに行き、最新バージョン(25MBあまり)をダウンロードする。旧版を消し、インストールしなおす。Atmelのライブラリを見る。Megaの新シリーズ(Mega8系)のパーツが揃っていた。別のサイトからダウンロードしたMega168のパーツも無事認識された。配線は出来ても、自動レイアウト、自動配線(Autoroute)まで行くには、今度のLPCMプレーヤーにかなりなライブラリを自分で登録する必要がある。相当時間がかかりそうだ。基板の発注は、これも定番のブルガリアのOlimex(この前のARM-USB-TINYインタフェースを買ったところ)に決めてあるが、発注して基板が送られてくるのまで2週間はかかるという。EAGLEの勉強と並行して、ケースの工作の方は順調に進み、ケース上蓋とタクトスイッチ、LCDの間の高さ調整(タクトスイッチはリード線を延ばしてOK。LCDはピンソケットでぴったりOK)、基板取り付けポストの固定も済んだ。レイアウトをもう一度検討しなおし、右利きの人が片手で持って、音量調整と演奏ボタンが親指で楽に出来るようにした(自分は左利きだが)。部品を載せて全体を確かめる。汎用基板で作る準備は整った。早く作りたいという気持ちと、ここで実装を始めれば、それに夢中になって、プリント基板の方が全く進まなくなる懸念とが交錯している。2枚)、3台作るなら1台足らない。手配線版が無駄になることはないと思うが、プリント基板制作を軌道に乗せる方が先だ。ケースにきれいに取り付けられたハンダ付けを待つブランクの汎用基板を見ていると誘惑に負けそうになる。LPCMプレーヤーのソース公開(7/21/09)ハードはさておき、2号機のソフトウエアの話である。このあいだFatFSを新しいバージョンに上げ、SDHCが読めるようにしたが、ソースコードを公開していなかった。忘れたのではなく、あの時点ではSDHCが動くかどうかを確認していなかったからである。BeagleBoardのために8GBのカードはあったが、Ubuntuのシステムが入っていたためこれでテストをするわけにはいかなかった。その後秋葉原に行ったときもう一枚8GBのSDカードを買ってきた(あきばおー¥1550)。したブランド品のSanDiskだ。いつも不思議に思うのはSDカードの価格である。秋葉原、通販あたりと、家電量販店の価格の差が激しすぎる。数倍あることは珍しくない。保証の差だと言ってしまえばそれまでだが、これまで10枚以上SDカードを買って一度も不良品にあたったことはない。秋葉原でも2週間以内の初期不良には対応する。それはともかく、帰って早速テストしてみる。¥2000しないこんな小さな8GBカード一枚で、音楽CDが12枚近く入るのだ。良い時代というより、今までの常識が通用しない空恐ろしい時代になったともいえる。ソースの公開だが、実は先日、ブログのメールでソース公開の要請を受けた。これまで自分のソースコードが誰かの役に立っているという実感がなかったのだが、こういうメールを頂くと素直に嬉しい。こんどのLPCMプレーヤーのVccは3.3Vで、メーカーが保証する規格外の20Mhzのクロック(メーカーでは13.3Mhzまで)で動かしている。問題なく動いているとはいえ、規格外であることは間違いない。遊び以外で使う時は、Vccを5Vに上げ、SDカードとの間はレベルシフターで接続することをお勧めする。私のソースコードも無保証だから、あまり形式にこだわることはないのかもしれない。2号機向けのソフトは、これにミニLCDの実装と、スイッチの長押しで電源を入れるソフトパワースイッチの実装が残っている。これを含めてソースを公開しようと考えていたが、早めにこれだけで公開することにした。AVRStudioのフォルダーになっています。最初のコンパイルで警告が出ますが無視して大丈夫です。「SDPCM328V3.lzh」をダウンロードソフトパワースイッチもちょっと難航している。自分なりの構想は出来ているのだが、他の人はどうしているのだろう。気になってウェブをあちこち探しているのだが、何処にもロジックを解説しているところがない。考えてみると、結構難しい。どこかでハングして電源が切れなくなったら、バッテリーをはずすなどの作業をしなければ、あっというまに電池を消耗してしまう。今回は過放電に敏感なリチウム電池なので心配である。徹底したフェイルセーフにしておく必要がある。出来ればリセットをうまく使って、おかしくなれば即リセットし、最初のパワーセーブsleepに入れるようにしてやりたい。これまでのロジックを余りいじらず付加機能的に実現しておこうと、暇さえあればメモをとりながらロジックを考えていた。コードの視認性を高めるためには大きなループは避けたい。いってC言語ではロジックを関数として切り出すと、内部変数がグローバル化し、バグの原因になる。結局は、今のメインのソースコードをそっくり関数に切り出した以下のような構造になってしまった。擬似コーディングなので細かいところの調整は必要だが、これで余り構造を変えず、しかも見やすいソフトパワースイッチのロジックの目処がついた。ウェブには、意外とこういう情報が少ない。参考になれば幸いである。がた老さんの力作を見て楽しまさせて頂いてます。こちらこそよろしくお願いします。Olimexの長い休みは困ったもので前回も駆け込み発注していました。23時33分おや、でんし研のTADさんですか。そちらのページは、AVRを始めた頃、大変お世話になりました。78K0を使ったAVRispのファームも頂いています。ありがとうございます。Olimexのあるブルガリアはクリスマス休暇が長いと聞いていましたが、夏休みもそんなにとるとは知りませんでした。ライブラリを少しづつ作っているところですが、計画を変更しないといけないようです。有力な情報ありがとうございました。初めまして、でんし研のTADです。Olimexといえば先週書いたCADデータがOKだったので昨日、注文のFAXをしました。Olimexは8月まるまる休みなので今から書かれると9月になると思います。22時14分いつもコメントありがとうございます。100×80の制限はEagleの方で、Olimexは100×160なので4枚とれますね。紹介いただいたサイトは前者は初めてでした。ありがとうございました。ここはとても参考になります。今、ライブラリ作りに熱中しています。mmだから、50×40mmなら面付けを依頼すれば4枚とれませんか?http://einst.hp.infoseek.co.jp/OLIMEX/eagle.htmlhttp://www.hobby-elec.org/eagle.htmご存知かもしれませんが、私は上記のサイトを参考にしています。ライブラリの作成は、慣れればさほど大変ではないと思います。他のライブラリからコピーして修正も出来ます。ソフトパワースイッチは、私もニキシー管時計で検討していますが、周辺部品の消費電流が多いようならトランジスタによるスイッチに変更するかもしれません。20時15分コメントを書く名前:メールアドレス:(ウェブ上には掲載しません)アドレス(URL):この情報を登録するコメントは記事投稿者が公開するまで表示されません。2号機開発がなかなか進まない。