(57)【要約】【課題】ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とする。【解決手段】プリンター１の制御部１４は、ファームウェア２５を書き換える際、書き換え後のファームウェア２５に対応して追加すべき設定値である追加設定値の情報を、フラッシュメモリー１９に記憶すると共に、ファームウェア２５の書き換え後に実行される初期化処理に際し、フラッシュメモリー１９の追加設定値の情報に基づいて、設定値をＥＥＰＲＯＭ２０に書き込む。【選択図】図１
2012220963.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に記録する記録装置であって、
ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶されており、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込む制御部を備えることを特徴とする記録装置。
【請求項２】
前記第１の記憶領域では、前記第１の記憶領域に記憶されている前記ファームウェアに対応する設定値のバージョンを示す情報が記憶されており、
前記第２の記憶領域では、前記第２の記憶領域に記憶されている設定値のバージョンを示す情報が記憶されており、
前記制御部は、
前記ファームウェアを書き換える際、前記追加設定値の情報を、前記追加設定値に対応する設定値のバージョンを示す情報と対応付けて前記第１の記憶領域に記憶すると共に、書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報を前記第１の記憶領域に記憶し、
前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報と、前記第２の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、前記第１の記憶領域において、当該差異分のバージョンと対応付けて記憶された前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込むことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記第１の記憶領域と、前記第２の記憶領域とは、それぞれ異なる記憶媒体に形成されていることを特徴とする請求項１又は２に記載の記録装置。
【請求項４】
前記各種設定値には、光学的な検出に用いる閾値と、各種動作に関する実行条件とのうち、少なくとも一方が含まれることを特徴とする請求項１ないし３のいずれかに記載の記録装置。
【請求項５】
ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶され、記録媒体に記録する記録装置の制御方法であって、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込むことを特徴とする記録装置の制御方法。
【請求項６】
記録媒体に記録する記録装置を制御する制御部により実行されるプログラムであって、
前記記録装置には、ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶されており、
前記制御部に、
前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶させると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込ませることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に記録する記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、ファームウェア、及び、各種設定値を記憶し、各種設定値を参照しつつ、ファームウェアを実行することにより、記録に係る各種動作を実行する記録装置（印刷制御装置）が知られている（例えば、特許文献１参照）。
この種の記録装置では、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶されたものがある。例えば、フラッシュメモリーと、ＥＥＰＲＯＭとを備え、ファームウェアをフラッシュメモリーに、設定値をＥＥＰＲＯＭにそれぞれ記憶する記録装置がある。これにより、ファームウェア及び設定値の特性（書き換えの頻度や、データの大きさ、書き換え時に書き換え対象となるデータの大きさ等）及びそれぞれの記憶媒体の特性（データを消去する際の単位、書き換え可能回数、経済性（値段）等）を踏まえて、ファームウェア及び設定値のそれぞれを適切な記憶媒体に記憶させた状態とすることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２０３９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述した記録装置のように、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶されたものでは、ファームウェアの書き換えに際し、ファームウェアとは別の記憶領域に記憶された設定値を、書き換え後のファームウェアに確実に対応させた上で、書き換え後に行われる設定値を利用した各種処理を正常に行える状態としたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、記録媒体に記録する記録装置であって、ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶されており、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込む制御部を備えることを特徴とする。
この構成によれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が１の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該１の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記構成では、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える（例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む）のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【０００６】
また、上記発明の記録装置であって、本発明は、前記第１の記憶領域では、前記第１の記憶領域に記憶されている前記ファームウェアに対応する設定値のバージョンを示す情報が記憶されており、前記第２の記憶領域では、現在前記第２の記憶領域に記憶されている設定値のバージョンを示す情報が記憶されており、前記制御部は、前記ファームウェアを書き換える際、前記追加設定値の情報を、前記追加設定値に対応する設定値のバージョンを示す情報と対応付けて前記第１の記憶領域に記憶すると共に、書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報を前記第１の記憶領域に記憶し、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した書き換え後の前記ファームウェアに対応する設定値のバージョンを示す情報と、前記第２の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、前記第１の記憶領域において、当該差異分のバージョンと対応付けて記憶された前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込むことを特徴とする。
この構成によれば、１の記憶領域に記憶した書き換え後のファームウェアに対応する設定値のバージョンを示す情報と、他の記憶領域に記憶されている設定値のバージョンを示す情報とを比較して、バージョンの差異を検出し、１の記憶領域において、当該差異分のバージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値を他の記憶領域に書き込むという単純な作業で、確実に追加すべき設定値を、他の記憶領域に書き込むことが可能となる。
【０００７】
また、上記発明の記録装置であって、本発明は、前記第１の記憶領域と、前記第２の記憶領域とは、それぞれ異なる記憶媒体に形成されていることを特徴とする。
ここで、ファームウェアをフラッシュメモリーに、設定値をＥＥＰＲＯＭにそれぞれ記憶する等、ファームウェア、設定値の特性、及び、フラッシュメモリー、ＥＥＰＲＯＭの特性を反映して、ファームウェアと設定値とを、それぞれ異なる記憶媒体に記憶することは、しばしばある。
以上を踏まえ、上記構成によれば、ファームウェアと設定値とが、それぞれ異なる記憶媒体に記憶されている記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とすることが可能となる。
【０００８】
また、上記発明の記録装置であって、本発明は、設定値には、光学的な検出に用いる閾値と、各種動作に関する実行条件とのうち、少なくとも一方が含まれることを特徴とする。
ここで、光学的な検出に用いる閾値は、記録装置ごとに異なっており、記録装置ごとに個別に設定される。また、記録に係る動作に関する各種実行条件も、記録装置が設置される環境や、記録装置に求められる記録品質によって異なるため、記録装置ごとに個別に設定される。
これを踏まえ、上記構成によれば、ファームウェアが書き換えられた場合であっても、既存の、光学的な検出に用いる閾値、又は、記録に係る動作に関する各種実行条件については、その値、内容が変更されないため、再設定する手間を省くことができると共に、再設定されていないことに起因した不具合等が発生するリスクを低減できる。
【０００９】
また、上記目的を達成するために、本発明は、ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶され、記録媒体に記録する記録装置の制御方法であって、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶すると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込むことを特徴とする。
この制御方法によれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が１の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該１の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記制御方法では、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える（例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む）のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【００１０】
また、上記目的を達成するために、本発明は、記録媒体に記録する記録装置を制御する制御部により実行されるプログラムであって、前記記録装置には、ファームウェアが第１の記憶領域に記憶され、前記ファームウェアの実行に供する各種設定値が前記第１の記憶領域と異なる第２の記憶領域に記憶されており、前記制御部に、前記ファームウェアを書き換える際、書き換え後の前記ファームウェアに対応して追加すべき設定値である追加設定値の情報を、前記第１の記憶領域に記憶させると共に、前記ファームウェアの書き換え後に実行される初期化処理に際し、前記第１の記憶領域に記憶した前記追加設定値の情報に基づいて、当該追加設定値に対応する設定値を前記第２の記憶領域に書き込ませることを特徴とする。
このプログラムを実行すれば、まず、ファームウェアの書き換えの際に、当該ファームウェアの書き換えと同時に、書き換え後のファームウェアに対応して追加すべき設定値である追加設定値の情報が１の記憶領域に記憶される。そして、ファームウェアの書き換え後に実行される初期化処理において、当該１の記憶領域に記憶された追加設定値の情報に基づいて、他の記憶領域に追加すべき設定値が記憶されることとなるため、他の記憶領域に記憶された設定値を、書き換え後のファームウェアに対応した状態とすることができる。さらに、初期化処理時に、ファームウェアの書き換えに対応して追加すべき設定値が他の領域に書き込まれるため、以後、設定値を参照してファームウェアを実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記プログラムによれば、ファームウェアの書き換え後に行われる初期化処理時に、ファームウェアの書き換えに対応して他の領域における設定値を書き換える（例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む）のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【発明の効果】
【００１１】
本発明によれば、ファームウェアと、設定値とが、それぞれ別の記憶領域に記憶された記録装置において、ファームウェアが書き換えられた場合、設定値を書き換え後のファームウェアに対応させた上で、設定値を利用した各種処理を正常に行える状態とする。
【図面の簡単な説明】
【００１２】
【図１】プリンター及びホストコンピューターの構成を示すブロック図である。
【図２】プリンターの動作を示すフローチャートである。
【図３】ファームウェアの書き換えの説明に使用する図である。
【図４】初期値テーブル及び初期値テーブルバージョン情報を示す図である。
【図５】設定値データ及び現在設定値バージョン情報を示す図である。
【図６】設定値データ及び現在設定値バージョン情報の変化の様子を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係るプリンター１、及び、ホストコンピューター１０の機能的構成を示すブロック図である。
図１に示すように、プリンター１は、記録ヘッド１１を備え、ホストコンピューター１０の制御の下、この記録ヘッド１１に形成されたノズルからインクを吐出して、記録媒体にドットを形成するインクジェット式プリンターであり、制御部１４と、入力部１５と、表示部１６と、プリントエンジン１７と、媒体検出センサー１８と、フラッシュメモリー１９と、ＥＥＰＲＯＭ２０と、インターフェイス部２１を備えている。
制御部１４は、ＣＰＵや、ワークエリアとして機能するＲＡＭ２３、その他の周辺回路を備え、フラッシュメモリー１９に記憶されたファームウェア２５を読み出して実行することにより、プリンター１の各部を中枢的に制御する。
入力部１５は、プリンター１に設けられた各種スイッチに接続され、スイッチに対する操作を検出し、制御部１４に出力する。
表示部１６は、プリンター１に設けられたＬＥＤに接続され、制御部１４の制御の下、ＬＥＤに対して制御信号を出力して、ＬＥＤを所定の態様で点灯／消灯させる。また、液晶表示パネル等の表示パネルを設け、表示部１６により表示パネルに各種情報を表示する構成としてもよい。
【００１４】
プリントエンジン１７は、記録媒体にインクを吐出してドットを形成することにより画像を記録する記録ヘッド１１や、この記録ヘッド１１を走査させるキャリッジ、記録媒体を所定方向に搬送する搬送ローラー等の記録に係る装置、機構を備え、制御部１４の制御の下、記録に係る装置、機構を制御して、記録媒体に記録を行う。
媒体検出センサー１８は、記録媒体の搬送経路上に設けられた反射型のフォトセンサーであり、当該センサーが設けられた位置における記録媒体の有無を非接触で検出する。
より詳細には、媒体検出センサー１８が備えるフォトトランジスターによる受光量を示す値が制御部１４に出力され、制御部１４は、フォトトランジスターによる受光量が閾値ＴＨ１を上回っている場合は、当該センサーに対応する位置に記録媒体が位置していると判別し、一方、閾値ＴＨ１を下回っている場合は、当該センサーに対応する位置に記録媒体が位置していないと判別する。
インターフェイス部２１（Ｉ／Ｆ）は、制御部１４の制御の下、ホストコンピューター１０との間で、所定の規格に準拠した通信を行う。
【００１５】
フラッシュメモリー１９、及び、ＥＥＰＲＯＭ２０は、それぞれ、不揮発性の半導体メモリーである。周知のとおり、フラッシュメモリー１９は、ブロック単位でデータの書き換え（データの消去、及び、新たなデータの書き込み）が行われる一方、ＥＥＰＲＯＭ２０は、バイト単位でのデータの書き換え（データの消去、及び、新たなデータの書き込み）が可能である。また、フラッシュメモリー１９は、ＥＥＰＲＯＭ２０と比較して、経済的（安価）である。
これを踏まえ、本実施形態では、第１の記憶領域としてのフラッシュメモリー１９には、ファームウェア２５が記憶される一方、第２の記憶領域としてのＥＥＰＲＯＭ２０には、設定値データ２６が記憶される。ファームウェア２５とは、プリンター１を制御するプログラムである。設定値データ２６とは、各種設定値が集合したデータである。設定値とは、ファームウェア２５の実行に際して利用される設定や、条件等の具体的な値のことであり、例えば、設定として印字速度が存在する場合の印字速度の値（例えば、高速、中速、及び、低速のうちいずれかを示す値）等である。設定値の具体的な他の例については後述する。
このようにフラッシュメモリー１９には、ファームウェア２５が記憶される一方、ＥＥＰＲＯＭ２０には、設定値データ２６が記憶されるのは、以下に理由による。すなわち、設定値は、それぞれ個別に変更されるものであるため、比較的小さなデータを必要に応じて書き換えることが求められており、記憶する記憶媒体としてバイト単位でデータの書き換えが可能なＥＥＰＲＯＭ２０が適しており、一方、ファームウェア２５は、書き換えの際には、ファームウェア２５全体が一旦消去され、新たなファームウェア２５が書き込まれることとなるため、ブロック単位でのデータの書き換えしかできないことによるデメリットが小さく、逆に、経済的な面でのメリットが大きいフラッシュメモリー１９が、記憶される記憶媒体として適しているからである。
【００１６】
本実施形態に係るプリンター１は、ノズルチェック処理を実行可能である。
ノズルチェック処理とは、記録ヘッド１１に設けられたノズルのそれぞれについて、インクの吐出不良が発生しているか否かを検出する処理である。
ノズルチェック処理は、例えば、以下のようにして行われる。
すなわち、まず、所定の位置に記録ヘッド１１を搬送する。当該所定の位置において、記録ヘッド１１からインクが吐出され着弾する領域には、導電材が配置されていると共に、導電材を流れる電流の状態または電荷の変化を検出可能な構成となっている。記録ヘッド１１の一のノズルの近傍には、吐出するインクを帯電させる電極が配置されている。
そして、記録ヘッド１１の一のノズルから、電極により帯電したインク滴（液滴）を、導電材が配置された領域に吐出すると共に、着弾したインクの電荷により導電材を流れる電流の状態または電荷の変化を検出し、検出した電流または電荷の状態に基づいて、想定された態様で、想定された量のインクが吐出されたか否かを判別することにより、当該一のノズルに、インクの吐出不良が発生しているか否かを検出する。１回のノズルチェック処理では、記録ヘッド１１に設けられた全てのノズルについて吐出不良の検出が順次行われる。
このほか、一のノズルから、ノズルチェックのために、記録媒体にインクを吐出し、記録媒体に形成されたドットをスキャナーなどで光学的に読み取って、当該一のノズルに吐出不良が生じているか否かを判別するようにしてもよい。すなわち、１つ１つのノズルについて、ノズルの吐出不良が検出できるのであれば、いかなる方法を用いてノズルチェックを行ってもよい。
【００１７】
ホストコンピューター１０には、プリンター１を制御するためのプリンタードライバーがインストールされている。
プリンター１により記録媒体に記録を行う際、ホストコンピューター１０は、プリンタードライバーを読み出して実行することにより、プリンター１を制御するための制御コマンドを生成し、プリンター１に出力する。
制御コマンドが入力されたプリンター１は、順次、制御コマンドを読み出して実行することにより、プリントエンジン１７を制御して、記録媒体への記録に係る各種動作を、順次、実行する。
【００１８】
次いで、ファームウェア２５の書き換え時におけるプリンター１の動作について説明する。
【００１９】
図２は、プリンター１の動作を示すフローチャートである。
以下の説明において、制御部１４の機能は、ＣＰＵがファームウェア２５を読み出して実行する等、ソフトウェアとハードウェアとの協働により実現される。
ステップＳＡ１において、ファームウェア２５の書き換えが行われる。
ファームウェア２５の書き換えとは、機能拡張や、プログラム修正等を目的として行われるファームウェア２５のバージョンアップのことである。データとしての書き換え後のファームウェア２５は、ホストコンピューター１０から入力される。また、プリンター１に接続可能な専用の端末から書き換え後のファームウェア２５に係るデータを入力する構成としてもよい。
【００２０】
図３は、ステップＳＡ１における、ファームウェア２５の書き換えについて説明するための図である。
ファームウェア２５の書き換えは、例えば、以下のようにして実行される。
図３（Ａ）に示すように、まず、ファームウェア２５に含まれるブートプログラム２８が、ＲＡＭ２３に退避される。このブートプログラム２８は、各種ブート処理を行うプログラムであり、少なくとも、フラッシュメモリー１９におけるデータの書き換え（データの消去、及び、データの書き込み）に係る処理を行う機能を有している。
次いで、図３（Ｂ）に示すように、制御部１４は、ＲＡＭ２３に格納したブートプログラム２８を読み出して実行することにより、フラッシュメモリー１９から、ファームウェア２５を消去する。
次いで、図３（Ｃ）に示すように、制御部１４は、ホストコンピューター１０から入力された書き換え後の新たなファームウェア２５に基づいて、フラッシュメモリー１９に、当該ファームウェア２５を書き込む。
図３に示すように、このファームウェア２５には、初期値テーブル３０、及び、初期値テーブルバージョン情報３１が含まれている。
【００２１】
図４（Ａ）は、初期値テーブル３０を示す図であり、図４（Ｂ）は、初期値テーブルバージョン情報３１を示す図である。
図４（Ａ）に示すように、初期値テーブル３０は、設定値バージョンフィールド３０ａと、初期値フィールド３０ｂと、設定アドレスフィールド３０ｃとを備えている。
ここで、ファームウェア２５の書き換えが行われる場合、ファームウェア２５の書き換えと併せて、新たに設定値が追加される場合がある。例えば、バージョン１．０のファームウェア２５と、バージョン１．１のファームウェア２５とが存在し、バージョン１．０のファームウェア２５では印字速度の変更ができず、一方、バージョン１．１のファームウェア２５では、印字速度の変更ができるものとする。この場合において、バージョン１．０のファームウェア２５を、バージョン１．１のファームウェア２５に書き換える際に、印字速度に係る設定値が追加されることがある。
そして、本実施形態では、ファームウェア２５の書き換えに伴って追加される設定値について、ファームウェア２５の書き換えごとに、異なる設定値バージョンが付与される。
例えば、バージョン１．０のファームウェア２５が、バージョン１．１のファームウェア２５に書き換えられた場合に、当該書き換えに伴って追加される設定値については、設定値バージョン２が付与され、さらに例えば、バージョン１．１のファームウェア２５が、バージョン１．２のファームウェア２５に書き換えられた場合に、当該書き換えに伴って追加される設定値については、設定値バージョン３が付与される。
本実施形態では、時間的に新しいファームウェア２５の書き換えに伴って追加される設定値ほど、付与される設定値バージョンの値が大きいものとされる。従って、設定値バージョン３の設定値は、設定値バージョン２の設定値よりも、時間的に後に追加された設定値であり、同様に、設定値バージョン２の設定値は、設定値バージョン１の設定値よりも、時間的に後に追加された設定値である。
【００２２】
初期値テーブル３０は、過去のファームウェア２５の書き換えに伴って追加された設定値、及び、追加すべき設定値（以下、「追加設定値」という。）について、設定値バージョンと、当該設定値の初期値と、ＥＥＰＲＯＭ２０において当該設定値が格納される領域のアドレスと、を対応づけて記憶するテーブルである。
具体的には、初期値テーブル３０の１件のレコードにおいて、設定値バージョンフィールド３０ａには、当該レコードに対応する設定値の設定値バージョンを示すデータが格納され、初期値フィールド３０ｂには、当該レコードに対応する設定値の初期値を示すデータが格納され、設定アドレスフィールド３０ｃには、ＥＥＰＲＯＭ２０における当該レコードに対応する設定値が格納される領域のアドレスを示すデータが格納される。
本実施形態では、初期値テーブル３０は、ファームウェア２５を構成するプログラム上に定義されたテーブルである。なお、初期値テーブル３０は、フラッシュメモリー１９に、ファームウェア２５によって参照可能な態様で記憶されたデータであってもよい。
メーカー等のファームウェア２５を開発する主体は、新たなファームウェア２５の開発に際し、過去のファームウェア２５の書き換えにおいて追加された設定値のそれぞれ、及び、当該新たなファームウェア２５によって古いファームウェア２５を書き換える際に追加すべき設定値のそれぞれについて、各設定値のレコードが形成された初期値テーブル３０をファームウェア２５に定義する。
【００２３】
また、図４（Ｂ）に示すように、初期値テーブルバージョン情報３１は、初期値テーブル３０において最も値が大きい設定値バージョンを示す情報を含むデータである。従って、初期値テーブルバージョン情報３１は、この初期値テーブル３０が定義されたファームウェア２５によって古いファームウェア２５を書き換える際に、追加する設定値がある場合は、当該設定値に付与された設定値バージョンを示した状態となる。
例えば、初期値テーブル３０が、図４（Ａ）に示す状態である場合、最も値の大きい設定値バージョンは、「４」であるため、図４（Ｂ）に示すように、初期値テーブルバージョン情報３１が示す値は、「４」となる。
【００２４】
さて、前掲図２に戻り、ステップＳＡ１においてファームウェア２５の書き換えが行われると、制御部１４は、ファームウェア２５の書き換えに伴う初期化処理を開始する（ステップＳＡ２）。
「ファームウェア２５の書き換えに伴う初期化処理」とは、書き換え後のファームウェア２５を正常に実行できる状態とするための各種リセット処理や、各種イニシャル処理、ファームウェア２５の書き換えが正常に行われたか否かの確認のための初期動作確認等の処理を含む、ファームウェア２５の書き換え後に必ず行われる処理である。
次いで、制御部１４は、フラッシュメモリー１９の初期値テーブルバージョン情報３１を参照し、初期値テーブルバージョン情報３１が示す値を取得する（ステップＳＡ３）。
次いで、制御部１４は、ＥＥＰＲＯＭ２０の現在設定値バージョン情報４０を参照し、現在設定値バージョン情報４０が示す値を取得する（ステップＳＡ４）。
ここで、ＥＥＰＲＯＭ２０に記憶された現在設定値バージョン情報４０、及び、設定値データ２６について図を用いて説明する。
【００２５】
図５（Ａ）は、設定値データ２６の一部を示す図であり、図５（Ｂ）は、現在設定値バージョン情報４０を示す図である。
図５（Ａ）の例では、ＥＥＰＲＯＭ２０に形成された記憶領域において、アドレス＜００３０＞が割り振られた領域Ｒ１に値Ｘを示すデータが格納されている。この領域Ｒ１は、上述した閾値ＴＨ１の値が格納される領域である。
ここで、上述したように、制御部１４は、フォトトランジスターの受光量が、閾値ＴＨ１を上回っている場合は、当該センサーに対応する位置に記録媒体が位置していると判別し、一方、閾値ＴＨ１を下回っている場合は、当該センサーに対応する位置に記録媒体が位置していないと判別する。しかしながら、センサーの感度の個体差や、光の照射方向のずれ、プリンター１の個体差に起因したセンサーの位置ずれ、各部材の経年劣化の状況、その他ハードウェア的、ソフトウェア的な要因により、閾値ＴＨ１は、プリンター１ごとに、その適切な値が異なっている場合が多い。これを踏まえ、閾値ＴＨ１の値は、ユーザー、その他の権限のあるものにより、適切な値に、事後的に、変更される。閾値ＴＨ１の変更は、所定のソフトウェアツールを用いて実行可能な構成となっている。そして、事後的に変更された閾値ＴＨ１は、プリンター１固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要がある。
この閾値ＴＨ１は、過去のファームウェア２５の書き換え時に追加された設定値である。
【００２６】
また、図５（Ａ）の例では、アドレス＜００４０＞が割り振られた領域Ｒ２に値Ｙを示すデータが格納されている。この領域Ｒ２は、上述したノズルチェック処理に関する実行条件Ｊ１を示す値が格納される領域である。
具体的には、本実施形態に係るプリンター１では、記録媒体への記録に係る動作を阻害しないことを条件に、所定の間隔（例えば１０分ごと）で、ノズルチェック処理を実行する構成となっており、領域Ｒ２には、実行条件Ｊ１として、ノズルチェック処理を実行する間隔を示す値（例えば、１０分）が格納される。
実行条件Ｊ１の値は、プリンター１に求められる記録品質や、プリンター１が設置されている環境、プリンター１の使用頻度等によって、適切な値が異なっている。これを踏まえ、実行条件Ｊ１の値は、ユーザー、その他の権限のあるものにより、事後的に、変更される。実行条件Ｊ１の変更は、所定のソフトウェアツールを用いて実行可能な構成となっている。
そして、事後的に変更された実行条件Ｊ１は、プリンター１固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要がある。
この実行条件Ｊ１は、過去のファームウェア２５の書き換え時に追加された設定値である。
【００２７】
また、図５（Ａ）の例では、アドレス＜００５０＞が割り振られた領域Ｒ３、及び、アドレス＜００６０＞が割り振られた領域Ｒ４は、何らデータが格納されていない未使用領域となっている。
【００２８】
図５（Ｂ）に示す現在設定値バージョン情報４０は、ファームウェア２５の書き換えに伴って、ＥＥＰＲＯＭ２０に記憶された追加設定値のうち、最も直近に記憶された設定値の設定値バージョン、換言すれば、ＥＥＰＲＯＭ２０に追加して記憶された追加設定値の設定値バージョンうち最も値の大きな設定値バージョンを示す情報を含むデータである。
図５（Ｂ）の例では、現在設定値バージョン情報４０が示す値は「２」となっている。これは、設定値バージョン２、及び、設定値バージョン２より前の追加設定値については、ＥＥＰＲＯＭ２０に追加して記憶されている一方、設定値バージョン２以降の追加設定値については、ＥＥＰＲＯＭ２０に未だ記憶されていないことを示している。
【００２９】
さて、前掲図２に戻り、ステップＳＡ３において現在設定値バージョン情報４０が示す値を取得すると、制御部１４は、当該現在設定値バージョン情報４０が示す値と、ステップＳＡ３において取得した初期値テーブルバージョン情報３１が示す値とが異なっているか否かを判別する（ステップＳＡ５）。
これら値が異なっていない場合（ステップＳＡ５：ＮＯ）、制御部１４は、処理手順をステップＳＡ９へ移行する。
一方、これら値が異なっている場合（ステップＳＡ５：ＹＥＳ）、制御部１４は、さらに、今回のファームウェア２５の書き換えに伴って追加すべき設定値であって、かつ、未だＥＥＰＲＯＭ２０に記憶されていない設定値に係る設定値バージョンを検出する（ステップＳＡ６）。具体的には、制御部１４は、ＥＥＰＲＯＭ２０に記憶された追加設定値のそれぞれの設定値バージョンと、初期値テーブル３０に記憶された各追加設定値のそれぞれの設定値バージョンとの差分を検出する。
例えば、初期値テーブル３０が、図４（Ａ）に示す状態であり、かつ、初期値テーブルバージョン情報３１が示す値が、図４（Ｂ）の例のように、「４」（設定値バージョン４）であり、一方、現在設定値バージョン情報４０が示す値が、図５（Ｂ）の例のように、「２」（設定値バージョン２）であるとした場合、差分として、設定値バージョン３、及び、設定値バージョン４を検出する。これら設定値バージョン３、及び、設定値バージョン４に係る設定値は、未だＥＥＰＲＯＭ２０に記憶されていない一方、初期値テーブル３０のこれら設定値バージョンに係る追加設定値の情報が含まれているため、今回のファームウェア２５の書き換えに伴って、追加すべき追加設定値である。
【００３０】
次いで、制御部１４は、ステップＳＡ６で検出した設定値バージョンに係る追加設定値の初期値をＥＥＰＲＯＭに書き込む（ステップＳＡ７）。
具体的には、ステップＳＡ７において、まず、制御部１４は、初期値テーブル３０にアクセスし、各レコードの設定値バージョンフィールド３０ａに格納されたデータの内容に基づいて、ステップＳＡ６で検出した設定値バージョン（例えば、設定値バージョン３、及び、設定値バージョン４）のレコードを特定する。例えば、ステップＳＡ６で検出した設定値バージョンが、設定値バージョン３、及び、設定値バージョン４であり、初期値テーブル３０の状態が図４（Ａ）の状態であるものとすると、ステップＳＡ７において、制御部１４は、図４（Ａ）の初期値テーブル３０のレコードＲＣ３、及び、レコードＲＣ４を特定する。次いで、制御部１４は、特定したレコードの初期値フィールド３０ｂ、及び、設定アドレスフィールド３０ｃに基づいて、ＥＥＰＲＯＭ２０の所定の領域に、各追加設定値の初期値を書き込む。例えば、制御部１４は、初期値テーブル３０のレコードＲＣ３に基づいて、当該レコードＲＣ３の設定アドレスフィールド３０ｃに格納されたデータが示すアドレス（アドレス＜００５０＞）が割り振られたＥＥＰＲＯＭ２０の記憶領域に、当該レコードＲＣ３の初期値フィールド３０ｂに格納されたデータが示す値（値Ａ３）を書き込む。同様に、制御部１４は、初期値テーブル３０のレコードＲＣ４に基づいて、当該レコードＲＣ４の設定アドレスフィールド３０ｃに格納されたデータが示すアドレス（アドレス＜００６０＞）が割り振られたＥＥＰＲＯＭ２０の記憶領域に、当該レコードＲＣ４の初期値フィールド３０ｂに格納されたデータが示す値（値Ａ４）を書き込む。
【００３１】
図６（Ａ）は、ステップＳＡ７の処理による設定値データ２６の変化の様子を示す図である。この図６（Ａ）では、図４（Ａ）の初期値テーブル３０のレコードＲＣ３、及び、レコードＲＣ４に基づいて、追加設定値がＥＥＰＲＯＭ２０に書き込まれた場合の設定値データ２６の変化を示している。
図６（Ａ）に示すように、ステップＳＡ７の処理により、未使用であった領域Ｒ３に新たに追加された追加設定値の初期値（値Ａ３）が書き込まれる。これにより、当該追加設定値が、追加されたこととなり、制御部１４により、当該追加設定値を利用可能となる。例えば、制御部１４は、当該追加設定値を利用する場合は、適宜、領域Ｒ３に書き込まれたデータが示す値を取得する。
すなわち、ステップＳＡ７の処理により、今回のファームウェア２５の書き換えに伴って追加すべき設定値について、ＥＥＰＲＯＭ２０に適切に書き込まれることとなる。
【００３２】
次いで、制御部１４は、現在設定値バージョン情報４０の値を、初期値テーブルバージョン情報３１の値により更新する（ステップＳＡ８）。
これにより、現在設定値バージョン情報４０の値が、現時点における、設定値データ２６に対応した値、すなわち、現在、ＥＥＰＲＯＭ２０に記憶された追加設定値の設定値バージョンのうち、最も値の大きい設定値バージョンの値となる。
図６（Ｂ）は、ステップＳＡ８の処理による現在設定値バージョン情報４０の変化の様子を示す図である。図６（Ｂ）では、図４（Ｂ）の初期値テーブルバージョン情報３１の値により、現在設定値バージョン情報４０の値が更新された場合を示している。
図６（Ｂ）に示すように、ステップＳＡ８の処理により、現在設定値バージョン情報４０の値が、「２」から「４」へと更新され、図４（Ｂ）の初期値テーブルバージョン情報３１の値と同一となる。
【００３３】
続くステップＳＡ９において、制御部１４は、ファームウェア２５の書き換え後に行うべき初期化処理に含まれる各種処理を実行する。
ここで、初期化処理に際し、ＥＥＰＲＯＭ２０に記憶された追加設定値であって、今回のファームウェア２５の書き換えに伴って新たに追加された追加設定値を利用して処理を実行する場合もある。
この場合において、従来は、追加設定値を記憶すべきＥＥＰＲＯＭ２０の記憶領域に何らデータが記憶されておらず、また、不正なデータ（いわゆるゴミデータ）が記憶され、これにより、処理が、設定値不正によりエラーとなる場合があった。しかしながら、本実施形態では、初期化処理に含まれる各種処理の実行に先んじて、新たに追加される追加設定値の初期値が、確実に、ＥＥＰＲＯＭ２０の適切な記憶領域に書き込まれるため、設定値不正によるエラーが発生することを防止できる。
また、従来は、上記のような設定値不正によるエラーの発生を防止すべく、初期化処理が行われる前に、ソフトウェアツールを用いて、新たに追加した追加設定値の値をＥＥＰＲＯＭ２０の適切な記憶領域に書き込むようにしていたが、本実施形態では、この書き込みに係る作業を省略することができ、作業の容易性の向上、及び、処理に要する時間の短縮化を実現できる。また、書き込みの際の人為的なミスにより、ＥＥＰＲＯＭ２０に記憶された追加設定値の値が正常なものではなく、これに起因して初期化処理時にエラーが生じることも確実に防止可能である。
さらに、本実施形態では、新たに追加される追加設定値以外の設定値（過去に追加された追加設定値も含む）については、その値が変更されない。
例えば、上述した閾値ＴＨ１や、実行条件Ｊ１に関しては、ファームウェア２５の書き込みがあった場合であっても、書き込み前の値が維持されることとなる（図６（Ａ）参照）。これにより、不必要な設定値の変更が行われ、これにより、設定値を再設定する作業が生じたり、また、何らかの不具合が発生したりすることを効果的に防止できる。特に、上述したように、閾値ＴＨ１や、実行条件Ｊ１は、プリンター１固有の状況を反映した値となっており、その値が不必要に変更されることを防止する必要があるが、ファームウェア２５の書き換えがあった場合であっても、これら閾値ＴＨ１や、実行条件Ｊ１が変更されることはない。
【００３４】
以上説明したように、本実施形態に係るプリンター１ではファームウェア２５がフラッシュメモリー１９（第１の記憶領域）に記憶され、ファームウェア２５の実行に供する各種設定値がフラッシュメモリー１９と異なるＥＥＰＲＯＭ２０（第２の記憶領域）に記憶されている。そして、制御部１４は、ファームウェア２５を書き換える際、書き換え後のファームウェア２５に対応して追加すべき設定値である追加設定値の情報を、ファームウェア２５に定義された初期値テーブル３０という形で、フラッシュメモリー１９に記憶すると共に、ファームウェア２５の書き換え後に実行される初期化処理に際し、フラッシュメモリー１９に記憶した追加設定値の情報（初期値テーブル３０に含まれる情報）に基づいて、当該追加設定値に対応する設定値をＥＥＰＲＯＭ２０に書き込む。
これによれば、まず、ファームウェア２５の書き換えの際に、当該ファームウェア２５の書き換えと同時に、書き換え後のファームウェア２５に対応して追加すべき設定値である追加設定値の情報が、ファームウェア２５に定義された初期値テーブル３０という形で、フラッシュメモリー１９に記憶される。そして、ファームウェア２５の書き換え後に実行される初期化処理において、当該フラッシュメモリー１９に記憶された追加設定値の情報に基づいて、ＥＥＰＲＯＭ２０に追加すべき設定値が記憶されることとなるため、ＥＥＰＲＯＭ２０に記憶された設定値を、書き換え後のファームウェア２５に対応した状態とすることができる。さらに、初期化処理時に、ファームウェア２５の書き換えに対応して追加すべき設定値がＥＥＰＲＯＭ２０に書き込まれるため、以後、設定値を参照してファームウェア２５を実行する際に、追加すべき設定値が不定であることに起因したエラー等が発生することが防止され、設定値を利用した各種処理を正常に行える状態となる。
さらに、上記構成では、ファームウェア２５の書き換え後に行われる初期化処理時に、ファームウェア２５の書き換えに対応してＥＥＰＲＯＭ２０における設定値を書き換える（例えば、他の領域における設定に係るデータを、一旦、削除し、必要な全ての設定を新たに書き込む）のではなく、追加すべき設定値のみが新たに書き込まれることとなるため、初期化処理に伴って既存の設定値が変更されることが防止され、再設定の手間を省けると共に、既存の設定値が変更されることに起因した不具合が発生することを効果的に防止することができる。
【００３５】
また、本実施形態に係るプリンター１では、フラッシュメモリー１９では、現在フラッシュメモリー１９に記憶されているファームウェア２５に対応する設定値バージョンを示す情報が初期値テーブルバージョン情報３１として記憶されており、また、ＥＥＰＲＯＭ２０では、現在ＥＥＰＲＯＭ２０に記憶されている設定値の設定値バージョンを示す情報が現在設定値バージョン情報４０として記憶されている。そして、制御部１４は、ファームウェア２５を書き換える際、追加設定値の情報（初期値、及び、ＥＥＰＲＯＭ２０において初期値を書き込む記憶領域のアドレス）を、追加設定値に対応する設定値バージョンを示す情報と対応付けてフラッシュメモリー１９に記憶すると共に、書き換え後のファームウェア２５に対応する設定値バージョンを示す情報を初期値テーブルバージョン情報３１としてフラッシュメモリー１９に記憶し、ファームウェア２５の書き換え後に実行される初期化処理に際し、フラッシュメモリー１９に記憶した初期値テーブルバージョン情報３１が示す値（書き換え後のファームウェア２５に対応する設定値バージョンを示す情報）と、ＥＥＰＲＯＭ２０に記憶されている現在設定値バージョン情報４０が示す値（設定値バージョンを示す情報）とを比較して、設定値バージョンの差異を検出し、初期値テーブル３０における当該差異分の設定値バージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値をＥＥＰＲＯＭ２０に書き込む。
これによれば、フラッシュメモリー１９に記憶された初期値テーブルバージョン情報３１の値と、ＥＥＰＲＯＭ２０に記憶された現在設定値バージョン情報４０とを比較して、設定値バージョンの差異を検出し、初期値テーブル３０において当該差異分の設定値バージョンと対応付けて記憶された追加設定値の情報に基づいて、当該追加設定値に対応する設定値をＥＥＰＲＯＭ２０に書き込むという単純な作業で、確実に追加すべき設定値を、ＥＥＰＲＯＭ２０に書き込むことが可能となる。
【００３６】
また、本実施形態では、ファームウェア２５をフラッシュメモリー１９に、設定値データ２６をＥＥＰＲＯＭ２０にそれぞれ記憶しているが、このような形態の記録装置は、広く普及している。
そして、本実施形態で説明した発明を、このような広く普及した記録装置に適用することにより、ファームウェア２５が書き換えられた場合、設定値を書き換え後のファームウェア２５に対応させた上で、設定値を利用した各種処理を正常に行える状態とすることが可能となる。
【００３７】
また、本実施形態では、設定値には、光学的な検出に用いる閾値である閾値ＴＨ１と、ノズルチェック処理に関する実行条件Ｊ１が含まれている。
そして、上述したように、閾値ＴＨ１や、実行条件Ｊ１は、事後的にプリンター１ごとに個別に設定される値であるため、一旦設定された後は、ファームウェア２５の書き換えが行われた場合であっても、当該書き換えに伴って変更したくないとするニーズがある。
そして、本実施形態によれば、ファームウェア２５が書き換えられた場合であっても、既存の閾値ＴＨ１や、実行条件Ｊ１については、その値、内容が変更されないため、再設定する手間を省くことができると共に、再設定されていないことに起因した不具合等が発生するリスクを低減できる。
【００３８】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、光学的な検出に用いる閾値として、媒体検出センサー１８に係る閾値ＴＨ１を例としたが、これに限らない。すなわち、上記の閾値とは、光学的な検出に用いる閾値であって、ファームウェア２５の書き換えに伴ってその値を変更すべきでない閾値を広く含む概念である。
同様に、各種動作に関する実行条件として、ノズルチェック処理に係る実行条件Ｊ１を例としたが、これに限らない。すなわち、上記の実行条件とは、プリンター１の動作を規定し、また、制御するための条件であって、ファームウェア２５の書き換えに伴ってその値を変更すべきでない実行条件を広く含む概念である。
また、図１に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター１自身が制御部１４や、フラッシュメモリー１９、ＥＥＰＲＯＭ２０等を備えた構成を例に挙げて説明したが、例えば、制御部１４等を備えた制御装置を、プリンター１に外部接続される別の装置としてもよい。
また、本発明を適用可能な記録装置は、ファームウェア２５と、設定値とが別の記憶領域に記憶されたものであれば特に制限されず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンターのいずれであってもよく、他の方式で文字や画像を形成するプリンターであってもよいし、他の装置に組み込まれるプリンターであってもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター１０に搭載されるプリンタードライバーに含むものであってもよい。
また、図２に記載のフローチャートの各ステップを実行するプログラムを、プリンター１の内部の記憶媒体に記憶させたもの、またはプリンター１の外部の記憶媒体に記憶させたものを読み出して、制御部１４により実行させることもできる。
【符号の説明】
【００３９】
１…プリンター（記録装置）、１９…フラッシュメモリー（第１の記憶領域）、２０…ＥＥＰＲＯＭ（第２の記憶領域）、２５…ファームウェア、２６…設定値データ（設定値）、３０…初期値テーブル、３１…初期値テーブルバージョン情報、４０…現在設定値バージョン情報。
【図１】
2012220963.tif 000003
【図２】
2012220963.tif 000004
【図３】
2012220963.tif 000005
【図４】
2012220963.tif 000006
【図５】
2012220963.tif 000007
【図６】
2012220963.tif 000008