|
setup diary |
AVR tiny261のADCを使って、電圧などを表示するようなものを作っていたのだが、ADCの読みが少し揺れるので、ノイズ低減のためにSLEEPさせたときにADCを読むことにした。まずは
#include <avr/sleep.h>
として、MCUCRのSM1,SM0とSEを設定する。USIやアナログ比較器も止めておいた。そして、sleep_mode()でSLEEPしてくれるようだ。ADCの終了で割り込みがかかるので、その中で適切な処理をして、メインルーチンに戻ったら、またすぐにSLEEPさせるという感じにした。あまりノイズは減った気はしないけど、無事に動いたからいいか。
AVRのADCは10bitしかないので、少し不足を感じるときがある。せめて、12bitぐらいあれば良いのに。また、読み取りを安定化させるために、積算したりしても、ノイズはそれなりに拾ってしまうのは、周辺の回路やグランドが良くないのかな。
プリンターが壊れたので注文していた、新しいプリンターが本日届いた。okiのc301dnというカラープリンターなのだが、レーザーじゃなくてLEDプリンターという種類らしい。
いつも問題になるのは、Linuxからの印刷である。古いプリンターだとppdがあって、印刷できることが多いが、苦しむことも多い。okiはLinuxと比較的相性が良いと思っていたので、楽観視していたが、最近はそうでもないようだ。
このプリンターはXPSとHiper-Cというプロトコルに対応しているらしい。前者はMS独自の規格、後者はoki独自の規格のようです。両方独自なので、嫌な予感がします。調べたところ、foo2hipercというものがあって、これを使うとうまくいきそう。CUPSのPPDの選択のところを見てみると、okiのでfoo2hipercを使っているものがいくつかある。c301dnは無いので、まずはc3100にしてみる。testページを印刷していみると、うまく印刷できた、と思いきや白黒になっている。なんとなくc5600にしてみたら、カラーもできた。しかし、今度は両面印刷がうまくいかない。
まあ、初日はこんなもんかな。
先日停電があって、そのときに実験室のPCが一台お亡くなりになった。代わりになるPCを探していたら、少し古いノートがあったので、これにdebian squeezeのLXDEを入れた。しかし、USBで外部ドライブを接続したときに、pcmanfmから認識してくれない。dmesgでは認識しているようだが、何の設定が悪いのか分からなかったが、ようやく解決できた。不要な作業もあるかもしれないが、以下に書いておくことにする。
まず、インストールされていなければ、udiskとgvfs-fuseをインストールする。
aptitude install gvfs-fuse udisk
次に/etc/polkit-1/localauthority/50-local.d/55-pcmanfm.pklaを作って、以下を記述する。
[Strage Permissions] Identity=unix-group:plugdev Action=org.freedesktop.udisks.filesystem-mount; org.freedesktop.udisks.drive-eject; org.freedesktop.udisks.drive-detach; org.freedesktop.udisks.luks-unlock; org.freedesktop.udisks.inhibit-polling; org.freedesktop.udisks.drive-set-spindown ResultAny=yes ResultActive=yes ResultInactive=no
そして、再起動すれば認識してくれるようになった。でも、何をしているのかさっぱり理解していない。まあ、いいか。
foo2hiperc-wrapper -Vとしたら、以下のように表示された。
$Id: foo2hiperc-wrapper.in,v 1.15 2009/05/11 17:35:55 rick Exp $ $Id: foo2hiperc.c,v 1.25 2009/03/08 00:35:31 rick Exp $ $Id: foo2zjs-pstops.sh,v 1.13 2008/12/05 02:46:35 rick Exp $思ったよりも古いようだ。そこで、新しいfoo2hipercを入れるために、以下のようにした。
wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz tar zxf foo2zjs.tar.gz cd foo2zjs make sudo make installそこで、同じようにバージョンを確認すると、新しくなっている。
$Id: foo2hiperc-wrapper.in,v 1.25 2011/01/31 12:23:43 rick Exp $ $Id: foo2hiperc.c,v 1.32 2011/06/09 13:35:06 rick Exp $ $Id: foo2zjs-pstops.sh,v 1.20 2012/02/23 21:19:46 rick Exp $そして、プリンターもC310dnがあったので、少しでも数字が近い方が良いだろうということで、それを指定した。両面印刷を試してみると、無事できるようになっている。やはり、物事は苦労してできるようになると、感慨深いものである。
windowsのlibreofficeで作ったodpファイルを、debianのopenofficeで見たら、文字が大きくずれてしまったので、libreofficeを入れることにした。openoffice.orgを除去して、aptのsourceに
deb http://backports.debian.org/debian-backports squeeze-backports main
を加えて、libreofficeを入れた。依存関係の問題が生じたが、二番目の提案を採用したら、一応インストールには成功した。そこで、問題のodpを開いたら、ほぼ良い感じで読むことができた。フォントが違うのか、微妙に文字の大きさの関係でずれている箇所はあったが、まあ良いだろう。
余談だが、そのodpをwindowsXPのlibreofficeで作成している時には、拡張子をつけると、explorerが固まるという症状に悩まされた。そのファイルをシングルクリックするとハングして、libreofficeが立ち上がる以前に死ぬのである。あたかもlibreofficeを使うおうとする人を邪魔するような挙動である。拡張子をつけないとうまくいくので、libreofficeが悪いわけでは無いだろうし。世の中には不思議なこともあるものである。
nonymous_enable=YES no_anon_password=YES anon_root=/home/anon/public_html anon_upload_enable=YES anon_other_write_enable=YES anon_umask=777 anon_mkdir_write_enable=YESそして、public_htmlをchmod go+rwとしておくと良い。結局はこれだけなのだが、anonymousに関する設定がいろいろとあって、そのどれが必要なのかを調べるのが面倒だった。