(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る印刷システム5の機能的構成を示すブロック図である。
図1に示すように、印刷システム5は、印刷装置1と、印刷装置1に通信可能に接続されたホストコンピューター2(制御装置)とを備える。
【0014】
印刷装置1は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を記録するラインサーマルプリンターである。
図1に示すように、印刷装置1は、制御部10と、記憶部11と、入力部12と、通信部13と、印刷部14と、を備える。
【0015】
制御部10は、CPUや、ROM、RAM、その他周辺回路等を備え、印刷装置1を制御する。
【0016】
記憶部11は、不揮発性メモリーを備え、各種データを記憶する。記憶部11には、インストールされたファームウェアFWが記憶される。制御部10は、ファームウェアFW(制御プログラム)を読み出して実行することにより、後述する印刷部14を含む印刷装置1の各部を制御する。
【0017】
入力部12は、タッチパネル121と、操作スイッチ122とを備える。
タッチパネル121は、表示パネルと表示パネルに重ねて配置されたタッチセンサーとを備える。表示パネルは、液晶表示パネル等を供え、制御部10の制御で、各種情報を表示する。タッチセンサーは、ユーザーのタッチ操作を検出し、制御部10に出力する。制御部10は、タッチセンサーからの入力に基づいてタッチ操作に対応する処理を実行する。
操作スイッチ122は、電源スイッチや、フィードスイッチ等の各種スイッチを備え、ユーザーのスイッチに対する操作を検出し、制御部10に出力する。制御部10は、操作スイッチ122からの入力に基づいて、ユーザーの操作に対応する処理を実行する。
【0018】
通信部13は、制御部10の制御で、第1通信インターフェース131、又は、第2通信インターフェース132を介して接続された外部装置(ホストコンピューター2を含む。)と所定の通信規格に従って通信する。
第1通信インターフェース131は、USB(通信規格)に従って通信する通信インターフェースであり、USBポートを有するインターフェースボードや、インターフェースボードに実装された通信モジュール等を備える。本実施形態では、ホストコンピューター2は、第1通信インターフェース131により印刷装置1に接続され、USBに従って印刷装置1と通信する。
第2通信インターフェース132は、RS232C等のUSB以外の所定のシリアル通信規格に従って通信する通信インターフェースであり、当該所定のシリアル通信規格に従ったポートを有するインターフェースボードや、インターフェースボードに実装された通信モジュール等を備える。
なお、通信部13が、他の通信規格(無線通信に係る通信規格を含む)に従った通信インターフェースを備える構成であってもよい。
【0019】
印刷部14は、印刷装置1の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への記録に関する各種機構を備える。
【0020】
ホストコンピューター2は、印刷装置1と通信可能に接続され、印刷装置1を制御する装置である。
図2に示すように、ホストコンピューター2は、ホスト制御部20と、ホスト通信部21とを備える。
ホスト制御部20は、CPUや、ROM、RAM、その他周辺回路等を備え、ホストコンピューター2を制御する。ホスト制御部20は、所定のアプリケーション、及び、付随するプログラムを読み出して実行することにより処理を実行するアプリケーション実行部201を備える。また、ホスト制御部20は、プリンタードライバー、及び、付随するプログラムを読み出して実行することにより処理を実行するプリンタードライバー実行部202を備える。
【0021】
ホスト通信部21は、ホスト制御部20の制御で、印刷装置1と所定の通信規格に従って通信する。
【0022】
次に、画像を印刷するときのホストコンピューター2と印刷装置1との基本的な動作について説明する。
【0023】
図2は、ロール紙に画像を印刷するときのホストコンピューター2、及び、印刷装置1の基本的な動作を示すフローチャートである。(A)はホストコンピューター2の動作を示し、(B)は印刷装置1の動作を示す。
図2(B)のフローチャートの開始時点において、印刷装置1の動作モードは、「ノーマルモード」である。ノーマルモードでは、印刷装置1は、ホストコンピューター2の制御に基づく画像の印刷等、通常動作を実行可能である。
【0024】
図2(A)に示すように、ホストコンピューター2は、インストールされたアプリケーションと、プリンタードライバーとの機能により、印刷制御データを生成する(ステップSA1)。印刷制御データは、印刷装置1に画像の印刷を指示する制御用のデータであり、印刷装置1のコマンド体系に従った制御コマンドを含んで構成される。
詳述すると、ホスト制御部20のアプリケーション実行部201は、プリンタードライバー実行部202に、印刷装置1に印刷させる画像に関する情報を出力する。
プリンタードライバー実行部202は、入力された画像に関する情報に基づいて、印刷制御データを生成する。
【0025】
次いで、ホストコンピューター2は、生成した印刷制御データを、印刷装置1に送信する(ステップSA2)。
【0026】
図2(B)に示すように、印刷装置1の通信部13は、印刷制御データを受信する(ステップSB1)。印刷制御データは、受信バッファーBFに、順次、格納される。
受信バッファーBFは、RAM等のメモリーに形成された記憶領域であり、通信部13は、ホストコンピューター2から受信したデータを、受信バッファーBFに順次格納する。受信バッファーBFに格納されたデータは、格納された順番で処理対象となる。
【0027】
次いで、制御部10は、受信バッファーBFに格納された印刷制御データを読み出して実行することにより、印刷部14を制御し、印刷を実行する。より詳細には、制御部10は、印刷制御データに基づいて、印刷する画像のイメージデータを生成し、生成したイメージデータを図示しない画像バッファーに展開する。次いで、制御部10は、画像バッファーに展開したイメージデータに基づいて、印刷部14の印刷機構、搬送機構、その他機構を制御して、印刷を実行する。
【0028】
ここで、上述したように、印刷装置1にはファームウェアFWがインストールされ、制御部10は、ファームウェアFWの機能により、印刷装置1の各部を制御する。
ファームウェアFWは、バージョンアップや、アップデート等の改変が行われる場合がある。
本実施形態では、ファームウェアFWのバージョンアップは、1のバージョンのファームウェアFWを、他のバージョンのファームウェアFWに書き換えることを意味する。また、本実施形態では、ファームウェアFWのアップデートは、ファームウェアFWの一部を更新することを意味する。
【0029】
従来は、基本的に、印刷装置1にインストールされたファームウェアFWの改変は、印刷装置1のメンテナンスを担当するサービスマン等の専門知識を有するものが行っていた。
一方で、本実施形態に係る印刷装置1は、専門知識を有さないユーザーが、ファームウェアFWの改変を行うことを想定して、ホストコンピューター2と共に、以下の処理を実行し、ファームウェアFWの改変が容易かつ正確に、また、できるだけスムーズに行われるようにしている。
【0030】
図3は、ファームウェアFWの改変時におけるホストコンピューター2、及び、印刷装置1の動作を示すフローチャートであり、(A)はホストコンピューター2の動作を、(B)は印刷装置1の動作を示す。
図4は、印刷装置1の動作モードの遷移を示す図である。
図3のフローチャートの説明に際し、適宜、
図4を用いて印刷装置1の動作モードの遷移について説明する。
【0031】
なお、
図3(B)のフローチャートの開始時点では、印刷装置1の動作モードは、上述したノーマルモードである。
また、以下の説明では、ファームウェアFWの改変として、ファームウェアFWをバージョンアップする場合を例にして、各装置の処理を説明する。
ファームウェアFWをバージョンアップするために必要なデータである制御プログラム関連データは、ユーザーにより、所定の方法で事前にホストコンピューター2に記憶される。制御プログラム関連データは、バージョンアップ後のファームウェアFWや、その他のファームウェアFWのバージョンアップに必要なデータを含んで構成される。
また、以下の説明において、
図3(A)のフローチャートの各処理の主体は、プリンタードライバー実行部202である。すなわち、
図3(A)のフローチャートの各処理は、プリンタードライバーの機能により実行される。しかし、
図3(A)のフローチャートの各処理が、プリンタードライバー以外のソフトウェア(例えば、印刷装置1のメンテナンス用の専用のソフトウェアツール)の機能により、また、プリンタードライバー及び他のソフトウェアの機能により実行される構成でもよい。
【0032】
図3(A)に示すように、ユーザーは、ホストコンピューター2のプリンタードライバーが提供する所定のユーザーインターフェースに、ファームウェアFWのバージョンアップを開始する旨の指示入力を行う(ステップSX1)。
ステップSX1の指示入力があった場合、ホストコンピューター2のホスト制御部20のプリンタードライバー実行部202は、第1移行コマンドを生成し、ホスト通信部21を制御して印刷装置1に送信する(ステップSC1)。
第1移行コマンドは、印刷装置1の動作モードについて、ノーマルモード(第1モード)から、後述する印刷装置情報応答モード(第2モード)への移行を指示する制御コマンドである。
【0033】
第1移行コマンドのコマンド種類は、「即時実行コマンド」である。
即時実行コマンドは、当該即時実行コマンドを印刷装置1が受信したときに、既に印刷装置1が受信した他の制御コマンド(データ)であって、未処理の制御コマンドがあった場合であっても、これら制御コマンドに優先して実行されるコマンドである。
従って、ホストコンピューター2は、印刷装置1に即時実行コマンドを送信することにより、印刷装置1に即時実行コマンドに基づく処理を即時に実行させることができる。
特に、即時実行コマンドを受信した場合、印刷装置1は、オフライン状態であっても、即時実行コマンドに基づく処理を実行する。
オフライン状態とは、印刷装置1の筐体に設けられたカバーが開状態の場合や、所定のエラーが発生している場合、ロール紙について紙切れが発生している場合等、印刷装置1による印刷を正常に実行できない場合に、ホストコンピューター2から受信した制御コマンドの読み出し及び実行が制限された状態である。
【0034】
即時実行コマンドは、命令コードとして、予め定められた値の命令コードを有する。従って、印刷装置1の制御部10は、受信した制御コマンドが、即時実行コマンドか否かを命令コードに基づいて判別できる。
【0035】
図3(B)に示すように、印刷装置1の通信部13は、第1移行コマンドを受信する(ステップSD1)。第1移行コマンドは、受信バッファーBFに格納される。
【0036】
ここで、印刷装置1の制御部10は、制御コマンドの受信に関し、以下の処理を実行する。
すなわち、制御部10は、受信バッファーBFの状態を監視する。そして、制御部10は、ホストコンピューター2からの制御コマンドの受信に応じて受信バッファーBFに新たに制御コマンドが格納された場合、制御コマンドの命令コードに基づいて、新たに格納された制御コマンドが即時実行コマンドか否かを判別する。受信バッファーBFに新たに格納された制御コマンドが即時実行コマンドではない場合、制御部10は、制御コマンドの読み出しを実行せず、再び、受信バッファーBFの状態を監視する。この場合、新たに受信バッファーBFに格納された制御コマンドは、受信バッファーBFに格納された未処理の制御コマンドが順番に読み出されていき、読み出し対象となったときに制御部10により読み出され、実行される。
一方、受信バッファーBFに新たに格納された制御コマンドが即時実行コマンドの場合、即時実行コマンド管理部101は、未処理の制御コマンドが受信バッファーBFに格納されているか否かにかかわらず、即時実行コマンドを読み出して実行する。
【0037】
以上の処理が実行されるため、ステップSC1でホストコンピューター2が送信した第1移行コマンド(即時実行コマンド)の受信に応じて受信バッファーBFに第1移行コマンドが格納された場合、制御部10は、未処理の制御コマンドが受信バッファーBFに格納されているか否かにかかわらず、即時に、第1移行コマンドを読み出して実行する。
【0038】
制御部10は、以下で説明するステップSD2〜ステップSD4の処理を、受信バッファーBFに格納された第1移行コマンドを読み出して実行することにより実行する。
【0039】
ステップSD2において、制御部10は、受信バッファーBFをバッファークリアする。
バッファークリアとは、受信バッファーBFに格納されたデータを消去することである。なお、ステップSD2において、受信バッファーBFに格納されたデータのうち、未処理の(読み出しが完了していない)データが格納された領域を、記憶領域のアドレスを示すポインターによって管理している場合は、ポインターが示すアドレスを変更することにより、受信バッファーBFに未処理のデータが格納された領域がない状態としてもよい。
すなわち、ステップSD2では、受信バッファーBFに未処理の(読み出しが完了していない)制御コマンド(データ)が無い状態となればよい。
【0040】
ステップSD2の処理が実行されることにより、ホストコンピューター2が、第1移行コマンドを送信する前に印刷装置1に送信した制御コマンドは、実行されることなく破棄される。例えば、ホストコンピューター2が、第1移行コマンドを送信する前に、上述した印刷制御データを送信しており、この印刷制御データの全部又は一部が未処理の状態で受信バッファーBFに格納された状態の場合、印刷制御部データに基づく画像の印刷の全部又は一部は実行されることなく処理が停止される。
【0041】
次いで、制御部10は、印刷装置情報応答モードへ移行する(ステップSD3)(
図4の矢印Y1も併せて参照)。
印刷装置情報応答モードは、オフライン状態であっても、ホストコンピューター2から制御コマンドを受信した場合、制御部10が、制御コマンドを読み出して実行するモードである。後述するように、ホストコンピューター2は、印刷装置1が印刷装置情報応答モードにおいて、応答要求コマンドを印刷装置1に送信して当該コマンドに対応する応答を受け付け、ファームウェアFWに関する情報を取得する。
【0042】
印刷装置情報応答モードは、「第2モード」に相当すする。
【0043】
ここで、制御部10が、印刷装置情報応答モードへ移行時に、受信バッファーBFのバッファークリアを実行することの理由は、以下である。
すなわち、印刷装置情報応答モードへ移行時に受信バッファーBFのバッファークリアを実行することにより、以下の処理で行われるファームウェアFWのバージョンアップに関連する各種処理の実行時に、受信バッファーBFに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。
例えば、受信バッファーBFのバッファークリアをすることなく印刷装置情報応答モードへ移行した場合、以下の事態が生じ得る。すなわち、印刷装置情報応答モードにおいて、ホストコンピューター2が、ファームウェアFWのバージョンアップに関連する1の制御コマンド(即時実行コマンドでない制御コマンド)を送信したときに、未処理の印刷制御データが受信バッファーBFに残っている場合、当該1の制御コマンドは、印刷制御データの実行後に、実行されることになる。この場合において、印刷制御データに基づく処理の実行によってエラー(例えば、ロール紙の搬送に関するエラー)が発生した場合、印刷制御データの読み出しが中断され、これに起因して当該1の制御コマンドの読み出しが遅延し、又は、実行されないという事態が発生し得る。
そして、本実施形態では、印刷装置情報応答モードへ移行時に受信バッファーBFのバッファークリアが実行されるので、印刷装置情報応答モードにおいて、受信バッファーBFに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。このため、ユーザーは、印刷装置情報応答モードにおいて、受信バッファーBFに未処理の制御コマンドが残っていることに起因して発生した不具合を解消する作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアFWのバージョンアップを行うことができる。
【0044】
また、印刷装置情報応答モードにおいて、制御部10が、オフライン状態であってもホストコンピューター2から受信した制御コマンドを読み出して実行する理由は以下である。
すなわち、オフライン状態の場合は制御コマンドの読み出しをしない構成とした場合、印刷装置情報応答モードにおいて、ホストコンピューター2がファームウェアFWのバージョンアップに関連する1の制御コマンドを印刷装置1に送信したときに、印刷装置1がオフライン状態であるため、当該1の制御コマンドに基づく処理を実行しないという事態が生じ得る。このような事態が生じた場合、ユーザーは、オフライン状態となった原因を究明し、オフライン状態を解消する作業を実行する必要が生じる。また、原因の究明や、オフライン状態の解消には、印刷装置1についての専門的な知識が必要である。
一方で、本実施形態によれば、ユーザーが上述した作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアFWのバージョンアップを行える。
なお、ファームウェアFWの改変(本例の場合バージョンアップ)は、印刷装置1の物理的な動作を伴わず、オフライン状態であっても正常に処理を実行可能である。
【0045】
印刷装置情報応答モードへ移行後、制御部10は、印刷装置情報応答モードへ移行したことを通知する情報を、ホストコンピューター2に送信する(ステップSD4)。
【0046】
図3(A)に示すように、ステップSD4の情報を受信すると、ホストコンピューター2のホスト制御部20のプリンタードライバー実行部202は、応答要求コマンドを生成し、印刷装置1に送信する(ステップSC2)。
応答要求コマンドは、後述するファームウェア情報の応答を要求する制御コマンドである。
【0047】
図3(B)に示すように、印刷装置1の通信部13は、応答要求コマンドを受信する(ステップSD5)。
次いで、制御部10は、応答要求コマンドを読み出して実行することにより、ファームウェア情報を取得する(ステップSD6)。ファームウェア情報とは、印刷装置1にインストールされたファームウェアFWに関する情報であり、少なくとも、ファームウェアFWのバージョンを示す情報を含む。ファームウェア情報は、所定の記憶領域に記憶される。
以下の説明では、印刷装置1にインストールされているバージョンアップ前のファームウェアFWを「旧ファームウェアFW1」と表現し、印刷装置1に新たにインストールを試みるバージョンアップ後のファームウェアFWを「新ファームウェアFW2」と表現する。
【0048】
次いで、制御部10は、ステップSD6で取得したファームウェア情報を、ホストコンピューター2に送信する(ステップSD7)。
【0049】
図3(A)に示すように、プリンタードライバー実行部202は、ステップSD7で印刷装置1が送信したファームウェア情報を受信すると、以下の処理を実行する(ステップSC3)。
すなわち、ステップSC3において、プリンタードライバー実行部202は、受信したファームウェア情報に基づいて、旧ファームウェアFW1のバージョンと、新ファームウェアFW2のバージョンとを比較し、新ファームウェアFW2のバージョンの方が、旧ファームウェアFW1のバージョンよりも新しいか否かを判別する。
【0050】
新ファームウェアFW2のバージョンが旧ファームウェアFW1のバージョンよりも新しくない場合(ステップSC3:NO)、換言すれば、旧ファームウェアFW1のバージョンと新ファームウェアFW2のバージョンとが同じか、又は、旧ファームウェアFW1のバージョンの方が新ファームウェアFW2のバージョンよりも新しい場合、プリンタードライバー実行部202は、以下の処理を実行する。なお、この場合、ファームウェアFWのバージョンアップは必要ない。
プリンタードライバー実行部202は、復帰コマンド(モード復帰コマンド)を生成し、印刷装置1に送信する(ステップSC4)。
【0051】
復帰コマンドは、印刷装置情報応答モードからノーマルモードへの移行を指示する即時実行コマンドである。
【0052】
図3(B)に示すように、印刷装置1の通信部13は、ステップSC4でホストコンピューター2が送信した復帰コマンドを受信する(ステップSD8)。
次いで、制御部10は、復帰コマンドを読み出して実行することによりステップSD9〜ステップSD10の処理を実行する。復帰コマンドは、即時実行コマンドであるため、ステップSD9〜ステップSD10の処理は、復帰コマンドの受信に応じて即時に実行される。
ステップSD9において、制御部10は、受信バッファーBFをバッファークリアする。
続くステップSD10において、制御部10は、動作モードを、印刷装置情報応答モードから、ノーマルモードへ移行する(
図4の矢印Y2も併せて参照。)。
ノーマルモードへの移行時に受信バッファーBFのバッファークリアが行われるため、ノーマルモードへ移行後、印刷装置情報応答モードにおいてホストコンピューター2から受信した制御コマンドが未処理の状態で受信バッファーBFに格納された状態であることに起因した不具合の発生を防止できる。
【0053】
ここで、本実施形態では、印刷装置情報応答モードからノーマルモードへの移行は、印刷装置1のリセットを伴わずに行われる。このため、ファームウェアFWの改変(本例ではバージョンアップ)が必要ない場合にリセットが実行され、印刷装置1がノーマルモードで印刷処理等の通常の処理を開始できる状態となるまでに待ち時間が発生し、ユーザーの利便性が損なわれることを防止できる。
【0054】
図3(A)に示すように、ステップSC3において、新ファームウェアFW2のバージョンが旧ファームウェアFW1のバージョンよりも新しい場合(ステップSC3:YES)、プリンタードライバー実行部202は、第2移行コマンドを生成し、印刷装置1に送信する(ステップSC5)。
第2移行コマンドは、印刷装置情報応答モードから、後述する改変準備モードへの移行を指示する即時実行コマンドである。
【0055】
図3(B)に示すように、印刷装置1の通信部13は、ステップSC5でホストコンピューター2が送信した第2移行コマンドを受信する(ステップSD11)。
次いで、制御部10は、第2移行コマンドを読み出して実行することによりステップSD12〜ステップSD17の処理を実行する。第2移行コマンドは、即時実行コマンドであるため、ステップSD12〜ステップSD17の処理は、第2移行コマンドの受信に応じて即時に実行される。
【0056】
ステップSD12において、制御部10は、受信バッファーBFのバッファークリアを実行する。
次いで、制御部10は、動作モードを、印刷装置情報応答モードから、改変準備モードへ移行する(ステップSD13)(
図4の矢印Y3も併せて参照。)。
【0057】
改変準備モードは、複数の通信インターフェース(本実施形態では、第1通信インターフェース131、及び、第2通信インターフェース132)によるデータの受信を許可し、後述する改変準備処理を実行する動作モードである。
改変準備モードでは、印刷装置情報応答モードと同様、オフライン状態であっても、ホストコンピューター2から制御コマンドを受信した場合、制御部10は、制御コマンドを読み出して実行する。このことによる効果は、印刷装置情報応答モードで説明した効果と同様である。
【0058】
改変準備モードで、複数の通信インターフェースによるデータの受信を許可する理由は以下である。すなわち、後述するように改変準備モードでは、印刷装置1は、ファームウェアFWの改変に関するデータ(本例では、新ファームウェアFW2を含む制御プログラム関連データ)をホストコンピューター2から受信する。改変準備モードで受信するデータのデータ量は、非常に大きい場合がある。これを踏まえ、複数の通信インターフェースからデータの受信をできる状態とし、ファームウェアFWの改変に必要なデータを記憶する任意のデバイス(ホストコンピューター2を含む)から、任意の通信プロトコルで、当該データを受信できるようにする。
【0059】
改変準備モードは、「第3モード」に相当する。
【0060】
次いで、印刷装置1の制御部10、及び、ホストコンピューター2のプリンタードライバー実行部202は、改変準備処理を実行する(ステップSC6、及び、ステップSD14)。
印刷装置1の制御部10と、のプリンタードライバー実行部202とが必要な情報の送受信が行われる。改変準備処理は、ホストコンピューター2では、プリンタードライバー実行部202が、制御プログラム関連データを送信する処理であり、印刷装置1では、制御部10が制御プログラム関連データの全てを受信して、所定の記憶領域に記憶する処理である。上述したように、制御プログラム関連データは、新ファームウェアFW2、及び、ファームウェアFWのバージョンアップに必要なデータを含むデータである。改変準備処理の実行中、印刷装置1の制御部10は、必要に応じて、受信したデータの整合性チェックを実行し、制御プログラム関連データの受信が正常に実行されたか否かを監視する。
【0061】
図3(B)に示すように、改変準備処理が完了した場合、換言すると、新ファームウェアFW2を含む制御プログラム関連データの全ての受信、及び、記憶が完了した場合、制御部10は、動作モードを改変準備モードから改変実行モードへ移行する(ステップSD15)(
図4の矢印Y4も併せて参照)。
改変実行モードは、記憶した制御プログラム関連データに基づいて、ファームウェアFWのバージョンアップを行うモードである。改変実行モードは、「第4モード」に相当する。
【0062】
改変実行モードへ移行した後、制御部10は、記憶した制御プログラム関連データに基づいて、ファームウェアFWのバージョンアップを実行する(ステップSD16)。ステップSD16の処理により、印刷装置1に新ファームウェアFW2がインストールされた状態となる。
【0063】
ファームウェアFWのバージョンアップの完了後、制御部10は、印刷装置1をリセットする(ステップSD17)(
図4の矢印Y5も併せて参照)。
印刷装置1がリセットされることにより、新ファームウェアFW2を実行するのに必要な初期化、その他の処理が行われ、印刷装置1は、リセットに伴う起動後に新ファームウェアFW2の機能に基づく処理を実行できる。
また、リセットに伴う起動時に印刷装置1の動作モードは、ノーマルモードとされる(
図4の矢印Y6も併せて参照。)。従って、印刷装置1は、リセットに伴う起動後、新ファームウェアFW2に基づいて、印刷部14の制御を含む、通常動作を実行できる。
【0064】
以上説明したように、本実施形態に係る印刷装置1は、ロール紙(記録媒体)に印刷する印刷部14を備える。
また、印刷装置1の制御部10は、受信した制御コマンド(コマンド)に基づく印刷部14の制御を実行可能なノーマルモード(第1モード)において、第1移行コマンドを受信した場合、受信バッファーBFをバッファークリア(クリア)してノーマルモードから印刷装置情報応答モード(第2モード)へ移行し、印刷装置情報応答モードにおいて、受信したコマンドに基づく処理を実行し、復帰コマンドを受信した場合、受信バッファーBFをクリアして印刷装置情報応答モードからノーマルモードへ移行し、第2移行コマンドを受信した場合、受信バッファーBFをクリアして、印刷部14の制御に係るファームウェアFW(制御プログラム)の改変に関する処理を実行可能な改変準備モード(第3モード)へ移行する。
この構成によれば、印刷装置情報応答モードへ移行時に受信バッファーBFのバッファークリアが実行されるので、印刷装置情報モードに移行中、受信バッファーBFに未処理の制御コマンドが残っていることに起因した不具合が発生することを防止できる。このため、ユーザーは、印刷装置情報モードに移行中、受信バッファーBFに未処理の制御コマンドが残っていることに起因して発生した不具合を解消する作業を行う必要がなく、専門的な知識を有さない場合であっても、容易かつ正確に、また、スムーズに、ファームウェアFWのバージョンアップを行うことができる。
また、上記構成によれば、印刷装置1は、印刷装置情報応答モードに移行中、ホストコンピューター2の指示に応じて、ノーマルモード、及び、改変準備モードのいずれにも移行できるため、ファームウェアFWの改変が必要のない場合に改変準備モードへ移行して、改変準備モードへの移行に伴うリセットが実行されることを防止できる。
【0065】
また、本実施形態では、第1移行コマンド、第2移行コマンド、及び、復帰コマンドは、未処理の他のコマンドに優先して実行され、オフライン状態であっても実行される即時実行コマンドである。
この構成によれば、印刷装置1は、ホストコンピューター2からの指示に基づいて各モードへの移行を即時に行うことができる。
【0066】
また、本実施形態では、印刷装置情報応答モードは、オフライン状態であっても受信したコマンドに基づく処理を実行可能なモードであり、制御部10は、印刷装置情報モードにおいて、ファームウェアFW(制御プログラム)に関する情報の応答を要求する応答要求コマンド(コマンド)を受信した場合、ファームウェア情報(制御プログラムに関する情報)を取得して応答する。
この構成によれば、ホストコンピューター2は、印刷装置1を印刷装置情報モードへ移行させた後、当該モードにおいて、ファームウェアFWに関する情報を取得し、取得した情報に基づいて、ファームウェアFWの改変の要否を判別し、判別結果に基づいて、印刷装置1の動作モードをノーマルモード、又は、改変準備モードへ移行させることができる。すなわち、ホストコンピューター2は、ファームウェアFWの改変の要否に応じて適切なモードへ印刷装置1を移行させることができる。
【0067】
また、本実施形態では、制御部10は、改変準備モードにおいて、複数の通信インターフェースによるファームウェアFWの改変に関するデータである制御プログラム関連データの受信を許可し、制御プログラム関連データの受信が完了した場合、制御プログラム関連データに基づく制御プログラムの改変に関する処理を実行可能な改変実行モード(第4モード)へ移行する。
この構成によれば、印刷装置1は、複数の通信インターフェースからデータの受信をできる状態とし、ファームウェアFWの改変に必要なデータを記憶する任意のデバイス(ホストコンピューター2を含む)から、任意の通信プロトコルで、当該データを受信できる。
また、上記構成によれば、印刷装置1は、制御プログラム関連データの受信が完了してから、改変実行モードに移行して、制御プログラム関連データに基づくファームウェアFWの改変を実行するため、通信エラー等に起因して、ファームウェアFWの改変が失敗することを防止できる。
【0068】
また、本実施形態では、制御部10は、制御プログラム関連データに基づくファームウェアFWの改変に関する処理が完了した後、リセットを実行し、リセットに伴う再起動後、ノーマルモードへ移行する。
この構成によれば、印刷装置1について、ファームウェアFWの改変に関する処理を行った後、正常に改変後のファームウェアFWに基づく処理を実行できる状態とすることができる。
【0069】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、印刷装置1は、サーマルプリンターであったが、印刷装置1の印刷方式は、例示したものに限らない。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。