ラベルプリンターCASIO DP-300用印刷ソフト
はじめに
これはCASIOのラベルプリンターDP-300用の印刷ソフトです.
このラベルプリンターは1997年に販売されたもので,専用のテープカートリッジを使うことでカラー印刷(昇華型熱転写方式)もできるのですが,入手が容易なネームランド用のテープを使うことができるので,投売りされていたのを買って以来今でも時々使っています.特に,電子工作で加工したケースに貼るラベルを作るのに便利です(例1,例2).
RS-232Cで接続してCV CRAFTという専用ソフトから印刷するようになっているのですが,このソフトは最近の64bit版のWindowsでは動かないので,印刷用のソフトを作りました.
恐らくこれは自分以外の誰にとっても役に立たないソフトですが,このホームページの一番の目的は自分用のメモであるので,ここに記録しておくことにします.
作成したソフトウェア
- dp300_20140524.c (修正版)
Cygwin上で'mode.com COM2: BAUD=9600'と実行すると「無効なパラメーターです」というエラーが出る場合があるので,'cmd /c "mode.com COM2: BAUD=9600"'とするように変更しました.なお,sttyコマンドだとRTSがうまく設定できませんでした.
- dp300.c
使い方
- Windows 7 64bit版とWindows 10のCygwinのgccでコンパイル・動作を確認しました.RS-232Cインターフェースを持つラベルプリンターとの接続には,USB-シリアル変換ケーブル(CH340チップ)を使用しました.
- 対応するテープは18mmのみです.またラベルプリンターとは115200bpsで通信します.
- 使い方は,印刷したい画像ファイルをコマンドラインで引数に指定して実行するか,あるいはデスクトップなどに実行ファイルのショートカットを用意しておいて,画像ファイルをドラッグ&ドロップします(この場合PATHにcygwin1.dllのある場所を指定しておく必要があります).
- 環境変数"DP300PORT"で使用するCOMポートの番号を指定できます(デフォルトでは2).
- 画像ファイルは白黒のbmpファイル(1bpp)のみ対応しています.画像の高さは120ピクセル(18mmテープ)で,幅は32~65535ピクセルである必要があります.
- ちなみに,最初はMinGWでコンパイルしてdllを不要にしようと思っていましたが,なぜかMinGWでコンパイルするとイメージデータ転送後のラベルプリンターからのステータスが受信できずに動作しませんでした.それ以外にも,MinGWを使うとstderrがバッファリングされてしまったり,-fpack-structオプションが効かなかったりと色々トラブルがありました.
- 印刷したラベルの例(元の画像データ).
DP-300とその制御に関するメモ
- プリンタヘッドは384dot.解像度は203dpi.グラデーションは64ステップ(6bit,約260,000カラー).
- 電源はDC 20.5V.消費電流は電源オフ時が52mA(最大60mA),印刷時が1.45A(最大1.6A).
- サイズは180x199x98mm (WxDxH).重量は1.1kg.
- ネームランドの対応テープ(白黒印刷)は18mm (120ピクセル),24mm (176ピクセル),46mm (344ピクセル).
- 通信速度は9600,14400,19200,28800,38400,57600,115200bps.ただし,デフォルトの通信速度は9600bpsであり,異なる通信速度で通信を行う際は毎回その前に使用する通信速度を設定する必要がある(その通信は9600bpsで行う).
- イメージデータの転送は,1bppのbmpファイルとほぼ同じフォーマットで行っている(左側の画素がMSBで1バイトで8ピクセルを表現.ただし4バイト境界に合わせる必要はない).最後にチェックサムが1バイトあり,転送したデータとチェックサムの和が0xffにならなければならない.大きいイメージデータは0x0600バイト毎に分割して送る.
2014-02-09 ページ作成
(2014-02 製作)
T. Nakagawa