Brotherの複合機の通信プロトコル解析(スキャナ部分)(3) - スキャナへのPCの登録

以下の続き。 Brotherの複合機の通信プロトコル解析(スキャナ部分) - ke-kの日記 Brotherの複合機の通信プロトコル解析(スキャナ部分)(2) - 概要 - ke-kの日記 本題のスキャンデータの取り込み部分をまとめていたらめんどくさくなってきたので、やっぱり…

Brotherの複合機の通信プロトコル解析(スキャナ部分)(2) - 概要

先日(id:ke-k:20100426:brother_scanprotocol)の続き。BrotherのMyMio(おそらくJUSTIOも同じ)で、ネットワーク経由でスキャンするときにどういうやり取りしてるの?って話です。ようやく本題。Brotherのネットワークスキャナでは、スキャナ、PCのそれぞれ…

Brotherの複合機の通信プロトコル解析(スキャナ部分)

Brotherの複合機を買った。フラットベッド+ADFのスキャナ、インクジェットプリンタ、コピー機が合わさったMyMio DCP-595CNというやつ。Amazonで1万2千円とちょっと。あと数千円出せばFAX付きのが買えたが、我が家には電話回線がないので、これで十分。最…

2年ぶり

前回更新から2年以上経ってた。 いろいろネタはあったような気がするけど、なんだったかな。

rule がうまく機能しない

Rakeで、 rule の依存先が複数の場合、うまく動かないことがあるようです。 以下のような Rakefile の場合、 rule '.foobar' => ['.foo', '.bar'] do |t| sh "cat #{t.prerequisites} > #{t.name}" end rule '.foo' do |t| sh "echo #{t.name} > #{t.name}" …

RakeFileUtils :noop, :verbose の デフォルトオプションがおかしい

id:ke-k:20080211:rakefileutils でもちょろっと書きましたが、 RakeFileUtils がうまく動いていないようです。 nowrite(true) verbose(true) sh 'mkdir hoge' mkdir 'fuga' とすると、sh には :noop, :verbose オプションが渡されているのですが、 mkdir に…

挙動がおかしい

Rakeを使い始めて間もないですが、いろいろとおかしな挙動に当たります。仕様なのかバグなのか。短期間でこんなにハマるっていうのは、僕の使い方がそんなに特殊なんでしょうか…。 作者にコンタクトとってみたいですが、英語が苦手なのできっついです。バグ…

RakeFileUtils の :noop, :verbose オプション

!注意!現在のRake(0.8.1.1)には、この記事のとおりにやっても一部うまく行かない問題があります。修正は後ほど公開します。id:ke-k:20080212:rakefileutils_fix で公開しています。前にも書きましたが、Rakeではモジュール FileUtils(正確にはRakeFileUti…

directory

directory メソッドでディレクトリ作成タスクを生成できます。 directory 'a/b/c' ディレクトリがネストしている場合は、それぞれのディレクトリについてタスクを生成してくれます。 file 'a' do |task| mkdir task.name end file 'a/b' do |task| mkdir tas…

pathmap

Rake の rule では、 rule '.o' => ['%X.c'] do |t| ... end のように、依存先のルールに'%' を入れると、pathmapを使って変換されるようです。pathmapについての情報があまりなかったのですが、新しい機能なのか、使う人がいないのか。pathmapについてまと…

Rakeメモ - rule

ruleは、Makeの型ルールをもっと高度にしたものですね。 rule '.o' => ['.c'] do |task| sh "gcc #{task.source} #{task.name}" end 依存先が'.'で始まる場合は、いわゆるサフィックスルール(古いタイプの) task.nameがターゲット名(file, taskでも使える…

Rakeメモ - task

Makeで言う.PHONYターゲットはtaskメソッドで定義します。 依存先のタイムスタンプに関係なく必ず実行する。 あとはfileと同じのようです。実装的にはtaskがベースのようですが。タスク名はStringもしくはSymbolどちらでも良いようですが、公式マニュアルの…

Rakeメモ - file

Makeでいうルールの定義がfileですね。 file 'hoge' => ['hoge.c', 'hoge.h'] do |task| sh "gcc hoge.c -o hoge" end ファイル 'hoge' が 'hoge.c', 'hoge.h' に依存していることを表す。 'hoge'を生成するのに、ブロックの中のsh "..."を実行する。 引数ta…

Rake - Ruby Make

Makeはコンパイル用のツールと思われがちですが、コンパイル後のコマンドの実行まで自動で行ってくれる非常に便利なツールです。パラメータを変えて、大量にコマンドを実行、ファイル生成をするときなどは自前のスクリプトを使うよりも簡単かつ柔軟に書けて…

更新

気がつけば1年と2か月。何事もなかったように再開してみる。

Windowsの最大ウィンドウサイズ

VisualStudio2005で、MDIを使ってディスプレイより大きなウィンドウを作ろうとしたら、サイズがおかしい…。どうやらディスプレイのサイズより大きなウィンドウを作れないようです。別のアプリケーションでも試してみたら、ウィンドウを広げてみてもディスプ…

dish -- 分散シェル

make -j オプションでは、ローカルマシンで並列実行してくれるだけでしたが、dishというsh互換のコマンドを使えば、自動でリモートマシンで実行してくれるようです。 http://www2.chem.nagoya-u.ac.jp/~matto/90/70Proj/dish/index.phtml 公式サイト(?) m…

makeで並列処理

並列処理を行うように作っていないプログラムは、マルチCPUのマシンで動かしてもCPU1個しか使いません。並列処理を行うようにプログラムを書くのは大変ですが、一番簡単にマルチCPUの恩恵を受ける方法は複数のプログラムを同時に動かすことです。もちろん、…

MPIで並列処理

だいぶ前にもMPIでの高速化にちょっと興味を持って触ってみたのですが、この度並列処理しないと時間が足りなさそうな事態になったので必要に迫られてMPIを使ってみました。前にちょっと使ったので簡単にいけるだろー、と思ってたのですが、意外とはまりまし…

Sambaでフォルダリダイレクト(追記)

id:ke-k:20061022#p2(Sambaでフォルダリダイレクト)に追記です。おそらくSambaだけでなくWindowsドメイン一般ですが、フォルダリダイレクトの対象とするディレクトリは、移動プロファイルと別のところに置いておかないとダメです。移動プロファイルの下のデ…

3軸搭載:DS Motion Card

NDS

Panyawoさんのブログから。 http://blog.goo.ne.jp/panyawo/e/d2edb6fce82448894249ef1c76c35d43 DSで開発している人向けの面白デバイスが登場。 3軸の加速度センサーと1軸のジャイロを搭載しているとのこと。 だそうです。これは面白そうです。欲しい!!…

Sambaでフォルダリダイレクト

Sambaでフォルダリダイレクトを使う方法がなかなか見つからなかったので、メモ。Sambaをドメインコントローラとして、Windowsのネットワークを構成してます。アカウントを共通にできるのと、移動プロファイルによって個人の設定やデスクトップなどを共通にで…

更新

4ヶ月ぶりに。時が経つのはなんて早いんでしょう...。

File.statとFile.chownのuid

pdumpfsを使ってバックアップを取っていると、 in `chown': bignum too big to convert into `long' (RangeError) とのエラーが。なぜ??と思いエラーが出たファイルを見てみると、ownerのuid,gidが4294967294になってます。なんだこれ?と思いつつ16進に直…

pdumpfs-rsyncでバックアップ

だいぶ前(id:ke-k:20060118)に、バックアップと更新履歴を取れるスクリプトとして、pdumpfs(http://namazu.org/~satoru/pdumpfs/)をあげましたが、実際にはバックアップを別のマシンで取るようにpdumpfs-rsync(http://tach.arege.net/software/pdumpfs-rsync…

更新

気がつけば1ヶ月近く経ってました。GBAでGPSいじりたい・・・。せっかく通信できるようになったのに。夏休みになればできる…か?

dswifiその後

NDS

DSの無線LANを使ってTCP,UDP通信を行うことができるdswifiですが、先日の日記(id:ke-k:20060426#p1)で、バージョン0.3の時点では7kbytes/sec程度しか出てないってことでちょっと期待はずれってことを書きました。 そのdswifiですが、最近ではsourceforgeでcv…

RTC

NDS

リアルタイムクロックの値を見たいけど面倒そうだなぁ、と思っていたら意外と簡単にできました。 "IPC->rtc_*"をみたらわかるみたいです(devkitProの場合)。

DS LITEとSUPARCARD

NDS

とある経緯でニンテンドーDS LITEをいじれることになったので、最近はDS LITEをいじってます。話に聞いていた以上に明るいですね、これは。 以前も書きましたが、僕はSUPERCARDのCFバージョンを使ってます。ところが最近、どうにも調子が悪いです。どこが悪…

GPS(3)

GBA

シリアル通信ができるようになったので、GBAとGPSモジュールをつないで通信してみました。すると・・・おおっ、GPSからのデータが受信されている!!ちゃんと時刻や緯度経度も取得できています。取得した座標をGoogle Earthに入れてみると、あってそうです。…