(57)【要約】【課題】ホスト装置に対してストレージとして動作する第２モードからホスト装置の指示を受けて動作する第１モードへの切替えを、仮に他種の電子機器に指示されても影響の少ない指示によって行うことができる電子機器、ホスト制御装置、システム及びプログラムを提供する。【解決手段】プリンターは、ホスト装置と接続するＵＳＢコネクターと、ホスト装置の指示を受けて印刷動作を行う動作部とを備えている。動作部は少なくとも、ホスト装置の指示を受けて印刷動作を行う第１モードと、ホスト装置のストレージとして動作する第２モードとを有する。動作部は第２モードの場合に、ホスト装置からのアクセスがない時間が閾値を超えるか（Ｓ４１で肯定判定）、ホスト装置からストレージの範囲外へのアクセスがあったか（Ｓ４２で肯定判定）、ホスト装置から取出しコマンドを受信したか（Ｓ４３で肯定判定）、のいずれかに応じて、第１モードに切り替わる。【選択図】図１１
2015229321.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と接続する接続部と、
前記ホスト装置の指示を受けて動作を行う動作部と、
を備え、
前記動作部は少なくとも、ホスト装置の指示を受けて動作を行う第１モードと、前記ホスト装置のストレージとして動作する第２モードと、を有し、
前記動作部は第２モードの場合に、前記ホスト装置からのアクセスがない時間が閾値を超えるか、前記ホスト装置から前記動作部の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスがあったか、のいずれかに応じて、第１モードに切り替わることを特徴とする電子機器。
【請求項２】
ホスト装置と接続する接続部と、
前記ホスト装置の指示を受けて動作を行う動作部と、
を備え、
前記動作部は少なくとも、ホスト装置の指示を受けて動作を行う第１モードと、前記ホスト装置のストレージとして動作する第２モードと、を有し、
前記動作部は第２モードの場合に、前記ホスト装置からのアクセスがない時間が閾値を超えるか、前記ホスト装置からストレージの範囲外へのアクセスがあったか、前記ホスト装置から取出し指示があったか、のいずれかに応じて、第１モードに切り替わることを特徴とする電子機器。
【請求項３】
ストレージの範囲外へのアクセスは、読出指示であることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記動作部は、前記ホスト装置からストレージの範囲を問い合わせるアクセスがあると、当該ストレージの範囲に係る情報を前記ホスト装置に送信し、当該送信の後に前記ホスト装置からストレージの範囲外へのアクセスがあると、前記第１モードに切り替わることを特徴とする請求項２又は３に記載の電子機器。
【請求項５】
前記動作部は、電子機器の起動から所定時間の経過以後にホスト装置と接続した場合は、第２モードで動作し、当該第２モードにおいて、前記ホスト装置からのアクセスがない時間が閾値を超えると、前記第１モードに切り替わることを特徴とする請求項１乃至４のいずれか一項に記載の電子機器。
【請求項６】
前記動作部に指示を与えるために操作される操作部を更に備え、
前記動作部は、電子機器が起動された初期状態において第１モードで動作し、前記操作部の操作により与えられた指示に応じてモードを切り替えることを特徴とする請求項１乃至４のいずれか一項に記載の電子機器。
【請求項７】
ドライバープログラム及び当該ドライバープログラムをインストールさせるインストーラーが記憶された記憶領域を少なくとも含むメモリーを更に備え、
前記動作部は、前記第２モードで動作したときには、前記ホスト装置からインストール要求を受信すると、前記ホスト装置に前記インストーラー及び前記ドライバープログラムを送信し、前記ホスト装置から前記インストーラーによるドライバーのインストールを終えた後、前記ホスト装置からストレージの範囲外へのアクセスがあったか、前記ホスト装置から取出し指示があったか、のいずれかに応じて、第１モードに切り替わることを特徴とする請求項１乃至５のいずれか一項に記載の電子機器。
【請求項８】
請求項１乃至７のいずれか一項に記載の電子機器と通信可能に接続されるホスト装置が有するホスト制御装置であって、
前記第１モードで動作する前記電子機器を前記ホスト装置の指示で動作させるためのドライバーを前記第２モードで動作する前記電子機器のストレージからインストールするインストーラーと、
前記インストーラーによりインストールされた前記ドライバーとを備え、
前記インストーラーは、前記ドライバーのインストール後に、前記第２モードの状態にある前記電子機器に対して前記第１モードに切り替えるモード切替え指示を行い、
前記モード切替え指示は、前記ホスト装置から前記動作部の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスであることを特徴とするホスト制御装置。
【請求項９】
請求項１乃至７のいずれか一項に記載の電子機器と、請求項８に記載のホスト制御装置とを備えたことを特徴とするシステム。
【請求項１０】
ストレージ装置と接続するホスト装置で実行されるプログラムであって、
前記ストレージ装置のストレージ範囲を問い合わせる問合せ動作と、
前記問合せ動作で得られた前記ストレージ装置のストレージ範囲外に対するアクセスを前記ストレージ装置のモードを切り替える切替指示として、前記ストレージ装置に対して行うモード切替動作と、
を前記ホスト装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置と接続されたときに動作するモードを切替え可能な電子機器、ホスト制御装置、システム及びプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１に記載された印刷装置（電子機器の一例）は、電源投入時、マスストレージクラスドライバーを選択して読み込み、ＵＳＢ（Universal Serial Bus）ケーブルにより接続された状態のパーソナルコンピューター（ＰＣ）より記憶デバイスとして認識される。プラグアンドプレイ（ＰｎＰ）通信後、ＰＣは印刷装置より切替プログラムを受信して起動する。ユーザーがＰＣにインストールされているエディタを使用する場合、印刷装置を印刷デバイスとして駆動させなければならないので、ＰＣは切替プログラムを使用して印刷装置の駆動状態を切り替える情報（駆動状態情報）を印刷装置に送信する。印刷装置は、駆動状態を印刷デバイス状態とするために、プリンタクラスドライバを選択して読み込む。つまり、印刷装置は、その駆動状態を切り替える情報に基づいて記憶デバイスの状態（第２モード）から印刷デバイスの状態（第１モード）に切り替える。
【０００３】
また、特許文献２には、デバイスドライバーを用いてプログラム内蔵デバイスに内蔵されたデバイスドライバーをインストールするプリンターやデジタルカメラ等の電子機器（プログラム内蔵デバイス）が開示されている。この電子機器では、偽装信号送信部が、ＣＤ−ＲＯＭドライブであることを偽装する偽装信号をＰＣに送信し、プログラム転送部が任意のプログラムをＰＣに転送し、インストール制御部がＰＣに偽装信号を送信するよう制御し、また任意のプログラムをＰＣに転送するよう制御する。この電子機器によれば、デバイスドライバーを予めＰＣにインストールしておかなくても、外出先でＰＣを借りてデバイスを利用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６６１７９号公報
【特許文献２】特開２００５−３０１５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献２に記載の電子機器では、電源投入時にホスト装置によりＣＤ−ＲＯＭドライブとして認識される。このため、ユーザーが電子機器がホスト装置からの指示で動作するべき印刷等の本来の処理を目的として電子機器の電源を投入した場合でも、ホスト装置により電子機器がＣＤ−ＲＯＭドライブとして認識される。このため、ユーザーはＣＤ−ＲＯＭドライブのモード（クラス）から（例えばプリンタークラス）に切り替える必要があるが、ユーザーが手動操作で切り替える必要がある。
【０００６】
これに対して、特許文献１に記載の印刷装置では、ホスト装置で切替プログラムが実行されて、ホスト装置から駆動状態を切り替える情報を印刷装置に送信するので、印刷装置を記憶デバイスの状態（第２モード）から印刷デバイスの状態（第１モード）に切り替えることができる。
【０００７】
しかし、切替プログラムは特定のＯＳ（オペレーティングシステム）に対応して作成されているので、他のＯＳを使用するホスト装置では、切替プログラムは動作しない。このため、切替プログラムに対応していないＯＳを使用するホスト装置では、印刷装置を印刷デバイスの駆動状態に切り替えることができないという課題がある。また、複数種のＯＳ毎に切替プログラムを用意すればよいが、切替えプログラムが多くなると、印刷装置側で印刷処理等の他の用途に使用できるメモリーの容量が少なくなるうえ、ホスト装置のＯＳに応じて切替プログラムを選択する処理など余分な処理も必要になる。このため、ホスト装置のＯＳに依存せず、電子機器のモード（クラス）を切り替えることが望まれている。
【０００８】
本発明の目的は、ホスト装置に対してストレージとして動作する第２モードからホスト装置の指示を受けて動作する第１モードへの切替えを、仮に他種の電子機器に指示されても影響の少ない指示によって行うことができる電子機器、ホスト制御装置、システム及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決する電子機器は、ホスト装置と接続する接続部と、前記ホスト装置の指示を受けて動作を行う動作部と、を備え、前記動作部は少なくとも、ホスト装置の指示を受けて動作を行う第１モードと、前記ホスト装置のストレージとして動作する第２モードと、を有し、前記動作部は第２モードの場合に、前記ホスト装置からのアクセスがない時間が閾値を超えるか、前記ホスト装置から前記動作部の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスがあったか、のいずれかに応じて、第１モードに切り替わる。ここで、動作範囲から外れたアクセスとは、動作部がアクセスに従って動作しようとしてもエラーとなるアクセスを指す。このアクセスの一例としは、例えばストレージの範囲外へのアクセス、取出しコマンドの受信などが挙げられる。
【００１０】
この構成によれば、動作部は第２モードの場合に、ホスト装置からのアクセスがない時間が閾値を超えるか、ホスト装置から前記動作部の動作範囲から外れた指示であってモード切替えの指示として設定された指示があったか、のいずれかに応じて、第１モードに切り替わる。よって、ホスト装置が電子機器以外の他種（例えば他社）の電子装置に接続したときにホスト装置が電子機器に対する処理を他種の電子機器に対して行っても、他種の電子機器への影響が少なく済む。
【００１１】
上記課題を解決する電子機器は、ホスト装置と接続する接続部と、前記ホスト装置の指示を受けて動作を行う動作部と、を備え、前記動作部は少なくとも、ホスト装置の指示を受けて動作を行う第１モードと、前記ホスト装置のストレージとして動作する第２モードと、を有し、前記動作部は第２モードの場合に、前記ホスト装置からのアクセスがない時間が閾値を超えるか、前記ホスト装置からストレージの範囲外へのアクセスがあったか、前記ホスト装置から取出し指示があったか、のいずれかに応じて、第１モードに切り替わる。
【００１２】
この構成によれば、動作部は第２モードの場合に、ホスト装置からのアクセスがない時間が閾値を超えるか、ホスト装置からストレージの範囲外へのアクセスがあったか、ホスト装置から取り出し指示があったか、のいずれかに応じて、電子機器は第１モードに切り替わる。仮に他種（例えば他社）の電子機器に対してストレージの範囲外へのアクセスを行っても、ストレージの範囲外へのアクセスなので、他種の電子機器への影響が少なく済む。例えば他種の電子機器はホスト装置に対してストレージの範囲外である旨（例えば「Out of Range」）を応答するだけで済む。また、取出し指示の場合、仮に他種の電子機器が取出し指示の対象となる取出装置を備えていても、他種の電子機器はその取出装置の取出し動作をするだけで済むので、この場合も他種の電子機器への影響が少なく済む。
【００１３】
上記電子機器では、ストレージの範囲外へのアクセスは、読出指示であることが好ましい。
この構成によれば、ストレージの範囲外へのアクセスは、読出指示であるため、他種の電子機器に対して行っても影響が少なく済む。例えば「Out of Range」の応答をするだけで済む。仮にアクセス位置が他のストレージの範囲内であっても、データを読出すだけなので、書込指示（Write）やベリファイ（Verify）に比べ、ストレージのデータが書替えられるなどの不都合を回避できる。
【００１４】
上記電子機器では、前記動作部は、前記ホスト装置からストレージの範囲を問い合わせるアクセスがあると、当該ストレージの範囲に係る情報を前記ホスト装置に送信し、当該送信の後に前記ホスト装置からストレージの範囲外へのアクセスがあると、前記第１モードに切り替わることが好ましい。
【００１５】
この構成によれば、動作部は、ホスト装置からストレージの範囲を問い合わせるアクセスがあると、ストレージの範囲に係る情報をホスト装置に送信するため、その送信の後にホスト装置からストレージの範囲外へのアクセスがあると、第１モードに切り替わる。このため、ホスト装置から一層確実にストレージの範囲外へのアクセスとすることができる。よって、仮にホスト装置が何らかの原因で、想定外の他の電子機器に対してモード切替え指示を行ってしまっても、他の電子機器に対してもストレージの範囲外へのアクセスとなるので、他の電子機器への影響をより確実に低減できる。
【００１６】
上記電子機器では、前記動作部は、電子機器の起動から所定時間の経過以後にホスト装置と接続した場合は、第２モードで動作し、当該第２モードにおいて、前記ホスト装置からのアクセスがない時間が閾値を超えると、前記第１モードに切り替わることが好ましい。
【００１７】
この構成によれば、動作部は、電子機器の起動時から所定時間の経過以後にホスト装置と接続した場合は、第２モードで動作し、この第２モードにおいて、ホスト装置からのアクセスがない時間が閾値を超えると、第１モードに切り替わる。このため、ユーザーの操作によらず動作部の判断で第２モードを選択して動作しても、ユーザーがホスト装置から電子機器のストレージへアクセスするつもりがない場合、アクセスがない時間が閾値を超えれば、電子機器を第１モードに切り替えることができる。
【００１８】
上記電子機器では、前記動作部に指示を与えるために操作される操作部を更に備え、前記動作部は、電子機器が起動された初期状態において第１モードで動作し、前記操作部の操作により与えられた指示に応じてモードを切り替えることが好ましい。
【００１９】
この構成によれば、動作部は、電子機器が起動された初期状態において第１モードで動作し、ユーザーが操作部でモードを切り替える操作をしなければ、動作部はホスト装置の指示を受けて動作することができる。一方、ユーザーが動作部をストレージとして動作させたい場合、ユーザーによる操作部の操作によって与えられた指示に応じて動作部が第２モードに切り替わることで、動作部をストレージとして動作させることができる。
【００２０】
上記電子機器では、ドライバープログラム及び当該ドライバープログラムをインストールさせるインストーラーが記憶された記憶領域を少なくとも含むメモリーを更に備え、前記動作部は、前記第２モードで動作したときには、前記ホスト装置からインストール要求を受信すると、前記ホスト装置に前記インストーラー及び前記ドライバープログラムを送信し、前記ホスト装置から前記インストーラーによるドライバーのインストールを終えた後、前記ホスト装置からストレージの範囲外へのアクセスがあったか、前記ホスト装置から取出し指示があったか、のいずれかに応じて、第１モードに切り替わることが好ましい。
【００２１】
この構成によれば、電子機器が第２モードでストレージとして動作したことによって、ホスト装置が電子機器をストレージとして認識すると、ユーザーはホスト装置からストレージ中のインストーラー及び印刷ドライバープログラムにアクセス可能となる。そして、ユーザーがホスト装置を操作し、ホスト装置からインストール要求を受信すると、電子機器はインストーラーをホスト装置へ送信する。ホスト装置は電子機器から送られてきたインストーラーによって、ホスト装置にドライバーをインストールすることができる。ドライバーのインストールを終えた後、ホスト装置からストレージの範囲外へのアクセスがあったか、ホスト装置から取出し指示があったか、のいずれかに応じて、電子機器は第２モードから第１モードに切り替わる。よって、ドライバーのインストール後に速やかに電子機器をホスト装置からの指示で動作させることができる。
【００２２】
上記課題を解決するホスト制御装置は、上記電子機器と通信可能に接続されるホスト装置が有するホスト制御装置であって、前記第１モードで動作する前記電子機器を前記ホスト装置の指示で動作させるためのドライバーを前記第２モードで動作する前記電子機器のストレージからインストールするインストーラーと、前記インストーラーによりインストールされた前記ドライバーとを備え、前記インストーラーは、前記ドライバーのインストール後に、前記第２モードの状態にある前記電子機器に対して前記第１モードに切り替えるモード切替え指示を行い、前記モード切替え指示は、前記ホスト装置から前記動作部の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスである。
【００２３】
この構成によれば、ドライバーのインストール後に、インストーラーからのモード切替え指示により、電子機器の動作部を第２モードから第１モードに切り替えることができる。よって、速やかに電子機器をホスト装置からの指示で動作させることができる。このとき、モード切替え指示が、ホスト装置から動作部の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスであるので、ホスト装置が電子機器以外の他種（例えば他社）の電子装置に接続しているときにホスト装置のインストーラーが他種の電子機器に対してモード切替え指示を行ってしまっても、他種の電子機器への影響が少なく済む。
【００２４】
上記課題を解決するシステムは、上記電子機器と上記ホスト制御装置とを備えている。この構成によれば、上記電子機器及び上記ホスト制御装置と同様の作用効果を得ることができる。
【００２５】
上記課題を解決するプログラムは、ストレージ装置と接続するホスト装置で実行されるプログラムであって、前記ストレージ装置のストレージ範囲を問い合わせる問合せ動作と、前記問合せ動作で得られた前記ストレージ装置のストレージ範囲外に対するアクセスを前記ストレージ装置のモードを切り替える切替指示として、前記ストレージ装置に対して行うモード切替動作と、を前記ホスト装置に実行させることが好ましい。
【００２６】
この構成によれば、ホスト装置がプログラムを実行することにより、ストレージ装置のストレージ範囲を問い合わせる問合せ動作と、問合せ動作で得られたストレージ装置のストレージ範囲外に対するアクセスをストレージ装置のモードを切り替える切替指示として、ストレージ装置に対して行うモード切替動作とが行われる。このため、切替指示にベンダーコマンドを使用しなくても、ホスト装置からの指示でストレージ装置のモードを切り替えることができる。
【図面の簡単な説明】
【００２７】
【図１】第１実施形態における印刷システムにおけるホスト装置とプリンターの電気的構成及び機能構成を示す模式図。
【図２】（ａ）は設定時間経過前の画面を示し、（ｂ）は設定時間経過以後の画面を示す模式図。
【図３】（ａ）〜（ｄ）はプリンター内蔵の簡易印刷ドライバーをインストールする際の操作の仕方の説明及び表示部の内容を示す模式図。
【図４】（ａ），（ｂ）はホスト装置の表示部に表示されるプリンター側のストレージ装置を示す模式図。
【図５】印刷ドライバーのインストール処理を示す模式図。
【図６】不揮発性メモリー中の記憶領域を示す模式図。
【図７】モード切替え処理を説明する模式図。
【図８】モード切替え処理を説明する模式図。
【図９】プリンターの起動から電源オフまでの動作中に実行される処理を示すフローチャート。
【図１０】プリンター側のインストール処理ルーチンを示すフローチャート。
【図１１】モード切替え判定処理ルーチンを示すフローチャート。
【図１２】ホスト装置側のインストール処理ルーチンを示すフローチャート。
【図１３】第２実施形態におけるプリンターの起動から電源オフまでの動作中に実行される処理を示すフローチャート。
【発明を実施するための形態】
【００２８】
（第１実施形態）
以下、印刷システムを構成するプリンター及びホスト装置に係る第１実施形態について、図面を参照して説明する。
【００２９】
図１に示すように、印刷システム１０は、電子機器の一例としてのプリンター１１（印刷装置）とホスト装置５０とを備えている。プリンター１１は通信ケーブル７０（例えばＵＳＢケーブル）を通じてホスト装置５０と通信可能に接続される。ホスト装置５０は例えばパーソナルコンピューター（ＰＣ）からなるが、ＰＣに限定されず、携帯情報端末（ＰＤＡ（Personal Digital Assistants））、タブレットＰＣ、スマートフォン、携帯電話等であってもよい。
【００３０】
図１に示すホスト装置５０は、コンピューターを構成するＣＰＵ５１及びＵＳＢコネクター５２を内蔵する本体５３と、キーボート５４Ａ及びマウス５４Ｂ（図５参照）からなる入力操作部の一例としての入力装置５４と、モニター５５とを備えている。
【００３１】
図１に示すように、ホスト装置５０は、プログラムを実行するＣＰＵ５１によりソフトウェアとして構築される機能構成部分として、制御部６１、ホスト通信部６２、インストーラー６３及び印刷ドライバー６４を備えている。但し、本実施形態では、二点鎖線で示すインストーラー６３及び印刷ドライバー６４は、プリンター１１と通信可能に接続された状態で、ユーザーが入力装置５４を操作して指示することでプリンター１１からインストールされてホスト装置内に構築される。また、インストーラー６３及び印刷ドライバー６４は、ＣＤ（Compact Disc）から読込んだり、インターネットを介してサーバーからダウンロードしたりすることで、ホスト装置５０にインストールすることも可能である。本実施形態では、インストーラー６３及び印刷ドライバー６４により、ホスト制御装置６５が構成される。そして、電子機器の一例であるプリンター１１とホスト制御装置６５とにより、システムの一例が構成される。
【００３２】
図１に示すように、プリンター１１は、その本体１１ａに設けられた操作パネル１３を備えている。操作パネル１３は、操作部１４と、各種メニューや画像などが画面に表示される表示部１５とを備えている。操作部１４は、電源スイッチ１４Ａと、プリンター１１に各種の指示等を入力するために操作される操作スイッチ１４Ｂとを備えている。例えば表示部１５に表示されるメニューにおいて操作スイッチ１４Ｂを操作して各種の項目を選択することで、プリンター１１の動作を決めるモードの選択、印刷対象の選択及び印刷条件の設定等を行うことができる。
【００３３】
また、プリンター１１は、全体的な制御を司るコンピューターを含む動作部２１と、ホスト装置５０のＵＳＢコネクター５２に一端部（コネクター）が接続された通信ケーブル７０の他端部（コネクター）が挿抜可能に接続される接続部の一例としてのＵＳＢコネクター２２と、表示部１５を駆動させる表示駆動回路２３等を備えている。
【００３４】
動作部２１は、コンピューターを構成するＣＰＵ２５及び不揮発性メモリー２６を備えている。また、動作部２１は、ＣＰＵ２５により制御されて印刷動作を行う印刷機構２８を備えている。動作部２１は、少なくとも二つのモードを切り替えて動作し、本実施形態では切り替えられるモードとして、ホスト装置５０からの指示を受けて印刷動作を行う第１モードと、ホスト装置５０のストレージとして動作する第２モードとを備えている。動作部２１が第２モードでストレージとして動作した場合、ユーザーはホスト装置５０の入力装置５４の操作でプリンター１１内の不揮発性メモリー２６の記憶領域のうち少なくとも一部により構成されるストレージにアクセス可能となる。そして、ユーザーはホスト装置５０のモニター５５でストレージの格納内容の確認や格納されたプログラムのホスト装置での実行等が可能となっている。
【００３５】
本実施形態の印刷機構２８は、用紙等の印刷媒体にインクで記録する不図示の印刷ヘッドと、印刷媒体を搬送する不図示の搬送装置とを備える。印刷ヘッドは、シリアル方式でもラインヘッド方式でもよく、その記録方式は、インクジェット方式、ドットインパクト方式及び電子写真式のうちいずれであってもよい。また、インクジェット方式の場合、インクを噴射する圧力を発生させる駆動素子は、圧電素子や静電素子、あるいは熱等を利用して瞬間的に気泡を発生させるヒーター素子でもよい。なお、印刷機構２８は、ＣＰＵ２５からの指示に従って搬送装置の動力源や印刷ヘッド等を駆動させる駆動回路も備えている。
【００３６】
また、図１に示すように、ＣＰＵ２５は、プログラムを実行することでその内部にソフトウェアとして構築される複数の機能構成部分を備えている。すなわち、ＣＰＵ２５は、切替部３１、制御部３２、タイマー３３、第１モードで動作する第１動作部３４及び第２モードで動作する第２動作部３５を備えている。切替部３１は、ＵＳＢデバイスとしてＵＳＢホストとして機能するホスト通信部６２と通信を行うデバイス通信部４１、モードを判定するための第１判定部４２と第２判定部４３とを備えている。切替部３１は、プリンター１１とホスト装置５０との接続時に、第１動作部３４及び第２動作部３５のうち起動させる一方をそのときのモードに応じて切り替える機能を有する。
【００３７】
ここで、制御部３２は、タイマー３３の計時制御、第１動作部３４及び第２動作部３５を起動させる制御を行う他、操作部１４からの入力を受け付けてその入力情報に応じた制御又は処理をプリンター１１に対して行う。タイマー３３は、制御部３２により制御され、プリンター１１の電源オン（起動）時点からの経過時間（計時時間Ｔ）を計時する。
【００３８】
切替部３１は、ＵＳＢコネクター２２を介してホスト装置５０と接続されたときにホスト装置５０と通信するとともに、ホスト装置５０に対するプリンター１１の動作モードを切替える処理を行う。第１判定部４２は、電源スイッチ１４Ａがオンされてプリンター１１が起動した時点からの経過時間を計時するタイマー３３の計時時間Ｔが、所定時間の一例としての設定時間Ｔ１に達する前であるうちは第１モードと判定し、計時時間Ｔが設定時間Ｔ１に達した以後は第２モードと判定する。そして、切替部３１は、プリンター１１の起動時点から設定時間Ｔ１を経過する前にホスト装置５０の接続が検出された場合は、第１モードで動作する第１動作部３４を起動させ、プリンター１１の起動時点から設定時間Ｔ１を経過した以後にホスト装置５０の接続が検出された場合は、第２モードで動作する第２動作部３５を起動させる。なお、切替部３１は、プリンター１１がホスト装置５０と接続されていないときは、第１モードで動作する第１動作部３４を起動させる。
【００３９】
デバイス通信部４１は、ホスト装置とのＵＳＢ接続が検出された際、ホスト装置５０との通信でホスト通信部６２とエニュメレーションと呼ばれる初期処理を実行し、この初期処理においてプリンター１１の動作を決めるクラス情報を含むディスクリプターと呼ばれる構成情報をホスト通信部６２へ送信する。第１判定部４２の判定結果が第１モードのときプリンター１１のクラス情報は「プリンタークラス」とされ、判定結果が第２モードのときプリンター１１のクラス情報は「マスストレージクラス」とされる。ホスト装置５０は、プリンター１１（デバイス通信部４１）から受信したクラス情報が「プリンタークラス」であれば、その接続相手をプリンターと認識し、受信したクラス情報が「マスストレージクラス」であれば、その接続相手をストレージと認識する。
【００４０】
ここで、プリンター１１の制御部３２は、第１判定部４２の判定結果を逐次監視し、計時時間Ｔが設定時間Ｔ１の経過前か経過以後かによって表示部１５に表示させるメッセージを切替える表示制御を行う。プリンター１１の電源オン時点から設定時間Ｔ１を経過する前は、表示部１５に図２（ａ）に示すように、プリンターとして接続できる旨、及びストレージとして接続したい場合は接続を待機する旨のメッセージＭ１が表示される。
【００４１】
また、プリンターの電源オン時点から設定時間Ｔ１を経過した以後は、表示部１５に図２（ｂ）に示すように、ストレージとして接続できる旨、及びプリンターとして接続したい場合は操作パネル１３で切替えるか通信ケーブルを接続してから電源を投入し直すかする旨のメッセージＭ２が表示される。そのため、プリンターとして接続したい場合、ユーザーは操作部１４の操作で第１モードに切り替えるか、通信ケーブル７０を接続してから電源スイッチ１４Ａを投入し直すかする。この場合、電源スイッチ１４Ａを投入し直して起動させてから設定時間Ｔ１を経過する前に通信ケーブル７０を接続してもプリンター１１を第１モードでホスト装置５０に接続することができる。なお、図２（ｂ）に示すメッセージＭ２は、通信ケーブル７０の接続を検出したとき、又はプリンター１１の起動から設定時間Ｔ１よりも長い所定時間を経過したときに消え、通常画面（例えば図３（ａ）のメニュー画面Ｇ１）に復帰する。
【００４２】
また、図１に示すプリンター１１内では、第１判定部４２の判定結果が「プリンタークラス」（第１モード）であれば、制御部３２は第１動作部３４を起動させる。一方、第１判定部４２の判定結果が「マスストレージクラス」（第２モード）であれば、制御部３２は第２動作部３５を起動させる。第１動作部３４が起動された第１モードでは、第１動作部３４が印刷機構２８を制御することで、プリンターは印刷動作が可能な印刷装置として動作する。また、第２動作部３５が起動された第２モードでは、プリンター１１は第２動作部３５が不揮発性メモリー２６の少なくとも一部の記憶領域をホスト装置５０に対するストレージとするストレージ装置として動作する。
【００４３】
第１判定部４２が判定した各モードに応じたクラス情報は、不揮発性メモリー２６にクラス管理データＣＤとして保存される。また、不揮発性メモリー２６においてプリンター１１がストレージとして動作しているときにストレージとして使用される記憶領域には、ホスト装置５０からユーザー操作に基づくストレージへのアクセスがあったときに、ホスト装置５０にインストールされるインストーラープログラムＰ１及び印刷ドライバープログラムＰ２とが記憶されている。
【００４４】
ホスト装置５０内のＣＰＵ５１が、「プリンタークラス」を受信して接続相手をプリンターと認識しているときは、プリンター１１内では第１動作部３４が起動されており、印刷機構２８による印刷が可能な状態となる。一方、ホスト装置５０内のＣＰＵ５１が、「マスストレージクラス」を受信して接続相手をストレージと認識しているときは、プリンター１１内では第２動作部３５が起動されており、ホスト装置５０からストレージへのアクセスが可能な状態となる。
【００４５】
ユーザーはホスト装置５０のモニター５５に表示された文書又は画像等を指定して印刷の実行を指示すると、ホスト装置５０内の印刷ドライバー６４が印刷ジョブデータを生成してプリンター１１に送信する。プリンター１１はホスト装置５０から受信した印刷ジョブデータに基づく文書又は画像等を用紙等の印刷媒体に印刷する。
【００４６】
また、ユーザーはホスト装置５０の入力装置５４を操作してプリンター１１内の不揮発性メモリー２６にアクセスしてその中に格納されたプログラム等をモニター５５で確認したうえで実行させることが可能になっている。例えばホスト装置５０に接続先のプリンター１１に対応する印刷ドライバーがインストールされていない場合、ユーザーはプリンター１１を第２モードとし、ホスト装置５０の入力装置５４を操作してプリンター１１内の不揮発性メモリー２６にアクセスする。そして、不揮発性メモリー２６に格納された印刷ドライバー用のセットアッププログラムを実行することにより、インストーラー６３及び印刷ドライバー６４のインストールが可能になっている。
【００４７】
また、通信ケーブル７０が接続された状態でプリンター１１の電源が投入された場合は第１モード（プリンターモード）なので、表示部１５に図３（ａ）に示すメニュー画面Ｇ１（初期画面）が表示される。このとき、通信ケーブル７０を抜いてプリンター１１の電源を投入し直してもよいが、操作スイッチ１４Ｂを操作してモードを切り替えることもできる。例えば図３（ａ）に示すメニュー画面Ｇ１で操作スイッチ１４Ｂを操作してメニューの下位を選択して図３（ｂ）に示すモード切替え画面Ｇ２にする。このモード切替え画面Ｇ２で「簡易ドライバーインストール」と記された第２モードボタン８２を選択すると、第２モードに切り替わる。そして、図３（ｃ）に示すメッセージ画面Ｇ３が表示部１５に表示される。このメッセージ画面Ｇ３には、「ホスト装置とＵＳＢケーブルで接続してください。」というメッセージＭ３が表示される。そして、第２モードにあるプリンター１１を通信ケーブル７０でホスト装置５０と接続する。ホスト装置５０は接続先をストレージと認識する。
【００４８】
図４（ａ）に示すように、ホスト装置５０のモニター５５に表示させたファイル管理ツール８５（例えばマイクロソフト社製「ウインドウズ（登録商標）エクスプローラー」）において、ストレージと認識されたプリンター１１は「ストレージ装置」と記された例えばリムーバブルディスクとして表示される。このファイル管理ツール８５において、同図に示すようにマウス５４Ｂの操作で「ストレージ装置」を選択（クリック）すると、図４（ｂ）に示すように「ストレージ装置」の内容（下位階層）が表示される。「ストレージ装置」の中には、「Setup.exe」と「Data」フォルダーとが含まれる。「Setup.exe」には、インストーラープログラムＰ１が含まれる。また、「Data」フォルダーには、印刷ドライバープログラムＰ２を含む印刷ドライバーファイル及び各種データファイル等が格納されている。図４（ｂ）に示すように、ユーザーがマウス５４Ｂの操作で「Setup.exe」を実行させると、インストーラー６３及び印刷ドライバー６４を、プリンター１１からホスト装置５０へインストールするインストール処理が開始される。
【００４９】
図５に示すように、まず(1)インストーラーがインストールされ、ホスト装置５０内で起動されたインストーラー６３により、(2)印刷ドライバーファイル等のインストールが行われる。インストール処理中は図３（ｄ）に示すように表示部１５にインストール中である旨のメッセージＭ４が表示される。そして、インストールが終わると、表示部１５の画面が図３（ａ）に示すメニュー画面Ｇ１に復帰する。
【００５０】
ところで、ユーザーが印刷を目的としてプリンター１１の電源を投入し、この起動時点から設定時間Ｔ１を経過した以後にホスト装置５０と接続される場合がある。このとき、プリンター１１は第２モードで動作するが、ユーザーは既に印刷ドライバー６４がインストール済みであることなどを理由に、プリンター１１のストレージにアクセスすることはない。そこで、本実施形態の動作部２１は、第２モードで動作してからの経過時間をタイマー３３で計時し、ホスト装置５０からアクセスがない時間が閾値Ｔ２を超えると、第２モードから第１モードに切り替える。このため、ユーザーがストレージを利用する意思がないにも拘らず第２モードの状態が維持されることを回避でき、ユーザーが必要とする第１モードに切り替わる。
【００５１】
また、図６に示すように、本実施形態では不揮発性メモリー２６には、プリンター用記憶領域２６Ａとストレージ用記憶領域２６Ｂとが含まれている。プリンター用記憶領域２６Ａには、図９〜図１１にフローチャートで示されるプリンター１１側のＣＰＵ２５により実行されるプログラム及び印刷動作時に必要な各種データ等が記憶されている。ストレージ用記憶領域２６Ｂは、第２モードにおいてホスト装置５０からのアクセスが可能なストレージとなる領域である。このストレージ用記憶領域２６Ｂには、インストーラープログラムＰ１及び印刷ドライバープログラムＰ２を含むホスト装置５０側のＣＰＵ５１により使用される各種プログラム及びデータ等が記憶されている。本実施形態では、一例として不揮発性メモリー２６のアドレスＡＰ０〜ＡＰＥの範囲がプリンター用記憶領域２６Ａになっており、アドレスＡＳ０〜ＡＳＥの範囲がストレージ用記憶領域２６Ｂとなっている。
【００５２】
本実施形態では、ホスト装置５０は印刷ドライバー６４のインストールを終えると、プリンター１１にモードの切替えを指示する。このモード切替えの指示は、インストーラー６３が行う。モード切替えをベンダーコマンドで指示する構成にすると、プリンター１１と接続されていないときインストーラー６３が発行したベンダーコマンドによってそのとき接続先の機器が不適切な処理を行う虞が少なからずある。この種の不適切な処理をより確実に回避するため、本実施形態のインストーラー６３は、ベンダーコマンド以外の以下に示す２つの指示方法のうち少なくとも一つによってモード切替えを指示する。すなわち、(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信すること、のうち少なくとも一つによってモード切替えを指示する。
【００５３】
図１に示すプリンター１１のＣＰＵ２５は、前述の(C)ホスト装置からアクセスがない時間が閾値Ｔ２を超えることと、ホスト装置５０による上記(A)，(B)の処理とを、モード切替え指示とみなすように設定されている。詳しくは、図１に示す第２判定部４３は、第２モードで動作してからの時間が閾値Ｔ２を超えたか否かを判定する。また、第２判定部４３は、印刷ドライバーのインストール完了後、ホスト装置５０からのモード切替え指示の有無を判定する。第２判定部４３は、以下の３つをモード切替え指示として判定する。すなわち、第２判定部４３は、(C)第２モードで動作してからホスト装置からアクセスがない時間が閾値Ｔ２を超えることと、(D)ストレージの範囲外へのアクセスがあったことと、(E)取出しコマンドを受信したこととのうち少なくとも一つが成立すると、モード切替え条件が成立したものと判定する。
【００５４】
また、図７に示すように、ホスト装置５０のインストーラー６３は、プリンター１１がストレージ装置として動作した際のストレージの範囲を問い合わせる指示（リードキャパシティ（Read Capacity））をプリンター１１に送る。プリンター１１はこの問合せに応答し、ストレージ範囲に係る情報として、例えばストレージ用記憶領域２６Ｂを含む不揮発性メモリー２６の最大アドレスＡＳＥ（図６参照）をホスト装置５０に通知する。ホスト装置５０のインストーラー６３は、最大アドレスＡＳＥの値に「１」以上の所定値を加算した値をアドレスに指定してストレージ範囲外にアクセスする。アクセスは、例えば読出指示の一例であるリード（Read）としている。これはデータの書替えを伴うライト（Write）やプリンター１１側への参照データの送信を伴うベリファイ（Verify）に比べ、不揮発性メモリー２６上のデータ書替えの虞がないからである。
【００５５】
ここで、自社製品のプリンター１１用に作成したベンダーコマンドを使用することも可能であるが、ホスト装置５０に自社製品以外の他社の電子機器が接続されているときに、何らかの原因でベンダーコマンドが他社の電子機器に送信されてしまった場合、その他社の電子機器に不適切な動作等が何も起きない保証をすることができない。しかし、本実施形態では、(A)ストレージの範囲外へアクセスすることと、(B)取出しコマンドを送信することとのいずれかなので、他社の電子機器に不適切な動作等が起こる心配がない。仮にホスト装置５０のインストーラー６３が何らかの原因でモード切替え指示として他社の電子機器にストレージの範囲外へアクセスすることになっても、他社の電子機器は「Out of Range」のエラーを返すだけなので、他社の電子機器に悪影響はない。
【００５６】
なお、本実施形態では、ストレージの範囲外（実際は不揮発性メモリー２６の範囲外）へのアクセスなので、アクセスはライト又はベリファイであってもよい。また、リードの場合は、不揮発性メモリー２６上のデータが書替えられる心配がないので、そのアクセス先がストレージ範囲内であってもよい。また、ストレージの範囲外へのアクセスとする場合でも、ホスト装置５０がストレージ範囲を取得する問合せをすることなく、予め既知のストレージ範囲外の一定アドレスにアクセスしてもよい。
【００５７】
ホスト装置５０は、上記の動作を実現するインストーラー６３を構築するためのプログラムとして、問合せ動作（問合せステップ）と、モード切替動作（モード切替えステップ）とを、ホスト装置５０のコンピューター（ＣＰＵ５１）に実行させるプログラムを備えている。問合せ動作では、ホスト装置５０がストレージ装置のストレージ範囲を問い合わせる。また、モード切替動作では、問合わせ動作で得られたストレージ装置のストレージ範囲外に対するアクセスをストレージ装置のモードを切り替える切替指示として、ストレージ装置に対して行う。
【００５８】
また、図８に示すように、ホスト装置５０のインストーラー６３は、プリンター１１に対して取出しコマンドを送信する。本例では、取出しコマンドの一例としてStart Stop Unitコマンドを送信する。取出しコマンドを用いるのは、ホスト装置５０のインストーラー６３が何らかの原因でモード切替え指示として取出しコマンドを送信しても、他社の電子機器はエラーを返すか、仮に取出装置を備えている場合でも、その取出装置の取出動作が行われるだけで、データの書替え等の悪影響の心配がないからである。
【００５９】
図１に示す切替部３１は、第２判定部４３の判定結果からモード切替え指示があると、第１動作部３４と第２動作部３５との間で起動させる一方を切り替えるモード切替えを行う。このモード切替えの結果は、切替部３１によりクラス管理データＣＤに反映される。
【００６０】
次に印刷システム１０及び印刷システム１０を構成するプリンター１１に備えられたストレージ装置の作用を説明する。まず図９〜図１１を参照してプリンター１１のＣＰＵ２５が実行する処理について説明する。図９にフローチャートで示されるプログラムは、電源スイッチ１４Ａの操作によるプリンター１１の起動をトリガーとしてＣＰＵ２５により実行される。図９に示す処理には、プリンター１１が、第１モードでプリンターとして動作するか、第２モードでストレージとして動作するかを決める処理が含まれる。
【００６１】
例えばプリンター１１を携帯して外出先にあるパーソナルコンピューター等のホスト装置５０を使用してプリンター１１に印刷させる場合や、逆にパーソナルコンピューター等のホスト装置５０を携帯して外出先にあるプリンター１１を使用してホスト装置５０からの指示でプリンター１１に印刷させる場合が想定される。これらの場合、ホスト装置５０にプリンター１１に対応する印刷ドライバーがインストールされていないと印刷ができない。そこで、本実施形態のプリンター１１には、印刷ドライバープログラムＰ２と、その印刷ドライバーをインストールさせるためのインストーラープログラムＰ１とが内蔵されている。
【００６２】
プリンター１１には、用紙等の印刷媒体に印刷を行うプリンターとして動作する第１モードと、ホスト装置５０へ印刷ドライバーをインストールするためにホスト装置５０のストレージとして動作する第２モードとが設定されている。ここで、印刷ドライバーをインストールするためには、プリンター１１をホスト装置５０のストレージとして動作させる第２モードで動作させる必要があるが、操作パネル１３で第２モードに切り替える操作をユーザーに強いることは、プリンター１１の操作に不慣れなユーザーにとっては面倒な作業になる。
【００６３】
一方、印刷ドライバーのインストールをし易くするためにプリンターを常に第２モードで起動させると、ホスト装置５０が既に印刷ドライバーをインストール済みである場合、ストレージとして動作しているプリンター１１を、ホスト装置５０はストレージとして認識しているため、印刷を行うことができなくなる。そこで、本実施形態のプリンター１１では、プリンター１１の起動時点からの経過時間をタイマー３３で計時し、起動時点から設定時間Ｔ１を経過する前にホスト装置５０との接続が検出された場合、プリンター１１は第１モードで動作する。一方、プリンター１１の起動時点から設定時間Ｔ１を経過した以後にホスト装置５０との接続が検出された場合、プリンター１１はホスト装置５０のストレージとして第２モードで動作する。以下、図９のフローチャートに従ってプリンター１１が行う処理について詳細に説明する。
【００６４】
まずステップＳ１１では、タイマーの計時を開始する。
次のステップＳ１２では、起動から設定時間の経過前であるか否かを判定する。設定時間Ｔ１の経過前である場合はステップＳ１３に進み、設定時間Ｔ１の経過以後である場合はステップＳ１４に進む。
【００６５】
ここで、プリンター１１の電源オン時点からの経過時間が設定時間Ｔ１を経過する前は、表示部１５にプリンターとして接続できる旨及びストレージとして接続したい場合は待機する旨の図２（ａ）に示すメッセージＭ１が表示される。プリンターとして接続したい場合は、図２（ａ）に示すメッセージＭ１の表示中に通信ケーブル７０でホスト装置５０と接続する。また、プリンター１１の電源オン時点から設定時間Ｔ１を経過した以後は、表示部１５にストレージとして接続できる旨、及びプリンターとして接続したい場合は操作パネルで切替えるかＵＳＢケーブルを接続してから電源を投入し直すかする旨の図２（ｂ）に示すメッセージＭ２が表示される。そのため、プリンター１１を第１モードでプリンターとして接続したいユーザーは、操作スイッチ１４Ｂを操作してモードを切り替えるか、通信ケーブル７０を接続してから電源スイッチ１４Ａを投入し直すかする。一方、プリンター１１を第２モードでストレージとして接続したいユーザーは、図２（ｂ）に示すメッセージＭ２の表示中に通信ケーブル７０でホスト装置５０と接続する。
【００６６】
また、プリンター１１とホスト装置５０とを通信ケーブル７０で接続した状態でプリンター１１を電源オンした場合、プリンター１１はホスト装置５０に対してプリンタークラスで接続される。このとき、接続先のホスト装置５０に印刷ドライバーがインストールされていない場合、印刷ドライバーをインストールする必要がある。第１モードで接続されると、表示部１５の画面がメッセージＭ１から図３（ａ）に示すメニュー画面（初期画面）に復帰する。このとき、プリンター１１の電源を投入し直してもよいが、操作パネル１３の操作スイッチ１４Ｂを操作してモードを切り替えることもできる。なお、操作スイッチ１４Ｂを操作してモードを切り替える場合、第１モードから第２モードへの切り替えに加え、第２モードから第１モードへの切り替えも可能である。
【００６７】
例えば図３に示すように、メニュー画面Ｇ１から操作スイッチ１４Ｂを操作してメニューの下位を選択して図３（ｂ）に示すモード切替え画面Ｇ２にする。このモード切替え画面Ｇ２で「プリンターモード」と記された第１モードボタン８１を選択すると、第１モードに切り替わる。また、このモード切替え画面Ｇ２で「簡易ドライバーインストール」と記された第２モードボタン８２を選択すると、第２モードに切り替わる。そして、図３（ｃ）に示すメッセージ画面Ｇ３が表示部１５に表示される。このメッセージ画面Ｇ３には、「ホスト装置とＵＳＢケーブルで接続してください。」というメッセージＭ３が表示される。そして、第２モードを選択した状態で、通信ケーブル７０でホスト装置５０と接続する。
【００６８】
ステップＳ１３では、ホスト装置との接続を検出したか否かを判定する。ホスト装置との接続を検出した場合はステップＳ１５に進み、ホスト装置との接続を検出しなかった場合はステップＳ１２に戻る。
【００６９】
また、ステップＳ１４では、ホスト装置との接続を検出したか否かを判定する。つまり、プリンター１１の起動時点から設定時間Ｔ１を経過する前にホスト装置との接続を検出した場合はステップＳ１５に進み、ホスト装置との接続を検出しなければホスト装置との接続が検出されるまでそのまま待機する。
【００７０】
よって、プリンター１１の起動から設定時間Ｔ１を経過する前にホスト装置５０との接続が検出された場合はステップＳ１５に進み、一方、プリンター１１の起動から設定時間Ｔ１を経過した以後にホスト装置５０との接続が検出された場合はステップＳ１６に進む。
【００７１】
ステップＳ１５では、プリンタークラスで通信を確立し、第１モードで動作する。つまり、プリンター１１は、ホスト装置から送信される印刷ジョブデータに基づく印刷を用紙等の媒体に施すことができるプリンターとして動作する。
【００７２】
一方、ステップＳ１６では、マスストレージクラスで通信を確立し、第２モードで動作する。つまり、プリンター１１は、ホスト装置５０のストレージとして動作する。このとき、タイマー３３の計時が開始され、第２モードで動作してからの経過時間が計時される。この第２モードでは、図４（ａ）に示すように、ユーザーはホスト装置５０のモニター５５に表示させたファイル管理ツール８５においてプリンター１１を「ストレージ装置」として見ることができる。そして、「ストレージ装置」中の「Setup.exe」をマウス５４Ｂの操作で実行させると、プリンター１１からホスト装置５０へのインストーラー６３及び印刷ドライバー６４のインストールが開始される。このインストール中は表示部１５に図３（ｄ）に示すインストール中である旨のメッセージＭ４が表示される。
【００７３】
ステップＳ１７では、モード切替え操作があったか否かを判定する。モード切替え操作があった場合は、ステップＳ１５に進み、モード切替え操作がなければステップＳ１８に進む。例えばユーザーは第１モードに切替えて印刷をしたい場合、操作スイッチ１４Ｂの操作で図３（ｂ）に示す第１モードボタン８１を選択する。操作スイッチ１４Ｂによるモード切替え操作が行われた場合はステップＳ１５に進むことになる。そして、ステップＳ１５では、プリンタークラスで通信を確立し、第１モードで動作する。このようにホスト装置５０との通信ケーブル７０を通じた接続を維持したままモードを切り替えるときは、Ｄ＋端子とＤ−端子とを０ＶにしてＵＳＢ接続を一旦切断し、０Ｖから元の電位が戻ると、ホスト装置はデバイスのＵＳＢ接続を検出し、プラグアンドプレイ処理が行われる。このプラグアンドプレイ処理の中でプリンターはクラス情報をホスト装置に送信する。
【００７４】
ステップＳ１８では、インストール要求を受信したか否かを判定する。ユーザーは、ホスト装置５０のモニター５５に表示されるファイル管理ツール８５におけるストレージ装置中の「Setup.exe」をマウス５４Ｂの操作で実行させる。ホスト装置５０のＣＰＵ５１が「Setup.exe」を実行する。ＣＰＵ５１は、「Setup.exe」のプログラムの実行上の処理で、ストレージ装置（つまりプリンター１１）（例えばＤドライブ）に対してインストール要求を行う。ステップＳ１８の判定処理では、このインストール要求を受信したか否かを判定する。インストール要求を受信した場合はステップＳ１９に進み、インストール要求を受信しなかった場合はステップＳ２０に進む。
【００７５】
ステップＳ１９では、ホスト装置への印刷ドライバーのインストール処理を行う。このインストール処理には、ホスト装置５０へのインストーラープログラムＰ１の送信、ホスト装置５０内で起動されたインストーラー６３からの要求に応じたホスト装置５０への印刷ドライバープログラムＰ２の送信する処理などが含まれる。このインストール処理は、例えば図１０に示すプリンター１１側のインストール処理ルーチンをＣＰＵ２５が実行することにより行われる。
【００７６】
ステップＳ２０では、モード切替え条件が成立したか否かを判定する。本実施形態では、第２モードで動作してからアクセスがない時間が閾値Ｔ２を超えると、モード切り替えを指示する。また、本実施形態では、印刷ドライバーのインストールが終わると、インストーラー６３が、以下の２つのうち少なくとも一つを用いてモード切替え指示を行う。
【００７７】
(A)ストレージの範囲外へアクセスする。
(B)取出しコマンドを送信する。
プリンター１１は、以下の３つをモード切替え指示とみなす。
【００７８】
(C)第２モードになってからアクセスがない時間が閾値Ｔ２を超えている。
(D)ストレージの範囲外へのアクセスがあった。
(E)取出しコマンドを受信した。
【００７９】
プリンター１１のＣＰＵ２５は、図１１に示すモード切替え判定処理ルーチンにより、上記(C)〜(E)のモード切替え条件のうち一つが成立したか否かを判定する。このステップＳ２０において、モード切替え条件が不成立の場合はステップＳ１７に戻り、モード切替え条件が成立した場合はステップＳ１５に進む。
【００８０】
例えば第２モードにおいてホスト装置からのアクセスがない時間が閾値Ｔ２を超えると、ユーザーがインストールの意思がないものとみなし、たとえインストール前であっても第１モードに切り替える（Ｓ１８で否定判定かつＳ２０の条件成立の場合）。また、印刷ドライバーのインストール後にインストーラー６３による上記(A)，(B)のうちのいずれか一つの処理が行われた結果、プリンター１１側で上記(D)，(E)のうちのいずれか一つのモード切替え条件が成立する。この場合、ステップＳ１５に進んで、第１モードへの切替え処理が行われる。
【００８１】
このときステップＳ１５において、データ線Ｄ＋とＤ−とを一旦０ＶにしてＵＳＢ接続を一旦切断し、元の電圧に戻すプルアップをすることで再接続する処理を行う。そして、この再接続後にプリンタークラスで通信を確立し第１モードで動作する。ホスト装置５０のＣＰＵ５１は、接続相手のデバイス装置（プリンター１１）をプリンターと認識する。ユーザーはホスト装置５０の入力装置５４を操作することでプリンター１１を指定した印刷の実行を指示することができる。この印刷の実行の指示を受け付けた印刷ドライバー６４は、印刷の実行が指示された画像又は文書等を印刷するための印刷ジョブデータ（印刷ジョブ）を生成し、その印刷ジョブデータをプリンターへ送信する。
【００８２】
ステップＳ２１では、印刷ジョブを受信したか否かを判定する。印刷ジョブを受信した場合はステップＳ２２に進み、印刷ジョブを受信していない場合はステップＳ２３において電源オフが操作されたか否かを判定し、電源オフが操作されていない場合はステップＳ２１に戻り、以降、ステップＳ２１で印刷ジョブを受信するか、ステップＳ２３で電源オフが操作されるまで、Ｓ２１〜Ｓ２３の処理を繰り返す。そして、ステップＳ２１において、印刷ジョブを受信すると、印刷ジョブに基づく印刷処理を行う（Ｓ２２）。この印刷処理では、第１動作部３４が印刷ジョブに基づき印刷機構２８を駆動させることで、用紙等の印刷媒体に印刷ジョブに基づく画像等を印刷する。一方、ステップＳ２３において、電源オフが操作された場合はステップＳ２４で電源オフ処理を行う。この結果、プリンター１１の電源がオフされる。
【００８３】
次に図１０を参照して、図９におけるインストール処理（Ｓ１９）の詳細を示すプリンター側のインストール処理ルーチンについて説明する。
まずステップＳ３１では、インストーラープログラムを送信する。
【００８４】
次のステップＳ３２では、印刷ドライバー要求を受信したか否かを判定する。印刷ドライバー要求を受信しなかった場合は受信するまで待機し、印刷ドライバー要求を受信した場合はステップＳ３３に進む。そして、ステップＳ３３では、印刷ドライバープログラムをホスト装置に送信する。
【００８５】
次に図１２を参照して、ホスト装置側のインストール処理ルーチンについて説明する。
まずステップＳ５１では、インストール要求をプリンターに送信する。
次のステップＳ５２では、インストーラー（インストーラープログラムＰ１）を受信したか否かを判定する。インストーラーを受信しなければそのまま待機し、インストーラーを受信すればステップＳ５３に進んでインストーラーを起動させる。つまり、ホスト装置５０のＣＰＵ５１はインストーラープログラムＰ１を実行することでホスト装置５０内にインストーラー６３（図１を参照）を構築するとともに、このインストーラー６３を起動させる。インストーラー６３は、以降のステップＳ５４〜Ｓ５６の処理を実行する。
【００８６】
次のステップＳ５４では、印刷ドライバーをインストールする。この処理においてまずプリンター１１に対して印刷ドライバー要求を行う。そして、プリンター１１から印刷ドライバープログラムＰ２を受信すると、その受信した印刷ドライバープログラムＰ２をインストールする。こうして印刷ドライバー６４がインストールされる。
【００８７】
次のステップＳ５５では、モード切替え指示を行う。詳細には、(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信することのうち一つの処理を実行する。なお、これら二つの動作がプログラムされており、そのときの条件に応じた１つを選択して実行してもよいし、これら二つの動作のうちいずれか１つのみがプログラムされていてもよい。もちろん、そのときの条件に応じて選択された一方を実行してもよい。要するに、これら二つの動作のうち１つの動作が行われればよい。また、プリンターの機種によって、プリンター側ではホスト装置からこれら二つの動作のうち特定の１つの動作しか把握できない設定になっている場合、これらの二つの動作をプリンターからモード切替えの応答を受信するまで順番に実行してもよい。
【００８８】
ステップＳ５６では、ホスト装置を再起動する。すなわち、ホスト装置５０内のＣＰＵ５１は、インストールされた印刷ドライバーを有効にするため、ホスト装置５０を再起動させる。
【００８９】
ステップＳ５７では、プリンターの接続を検出したか否かを判断する。プリンターの接続を検出しなければそのまま待機し、プリンターの接続を検出すればステップＳ５８に進む。
【００９０】
ステップＳ５８では、プラグアンドプレイ処理を行う。すなわち、ホスト装置５０は、プリンター１１との間で初期処理（エニュメレーション）を行って、プリンター１１からクラス情報及び電源電流値情報を含む構成情報を受信する。このときプリンターはクラス情報としてプリンタークラスを送信する。
【００９１】
次のステップＳ５９では、プリンターと認識する。すなわち、ホスト装置５０はプリンター１１から受信した構成情報に含まれるクラス情報に基づいて接続相手をプリンターと認識する。
【００９２】
次に図１１を参照して、図９におけるモード切替え条件成立か否かを判定する処理（Ｓ２０）の処理の詳細を示すモード切替え判定処理ルーチンについて説明する。
まずステップＳ４１では、ホスト装置からのアクセスがない時間が閾値Ｔ２を超えたか否かを判定する。ホスト装置からアクセスがない時間が閾値Ｔ２を超えた場合は、図９におけるステップＳ１５に進んで、第２モードから第１モードに切り替える。一方、ホスト装置からアクセスがない時間が閾値Ｔ２を超えない場合はステップＳ４２に進む。
【００９３】
ステップＳ４２では、ホスト装置からストレージの範囲外へのアクセスがあったか否かを判定する。ホスト装置からストレージの範囲外へのアクセスがあれば、図９におけるステップＳ１５に進んで、第２モードから第１モードに切り替える。一方、ホスト装置からストレージの範囲外へのアクセスがなければステップＳ４３に進む。
【００９４】
ステップＳ４３では、取出しコマンドを受信したか否かを判定する。取出しコマンドを受信すれば、図９におけるステップＳ１５に進んで第２モードから第１モードに切り替える。一方、取出しコマンドを受信しなければ図９におけるステップＳ１７に進む。
【００９５】
また、プリンター１１とホスト装置５０とを通信ケーブル７０を通じて接続状態のままにしている場合が比較的多い。この場合、電源を投入すると、プリンター１１の動作部２１は第１モードで動作し、ホスト装置５０にプリンターとして認識される。ユーザーはホスト装置５０からプリンター１１に印刷動作を行わせることができる。
【００９６】
一方、ホスト装置５０に印刷ドライバーがインストールされていない場合、プリンター１１とホスト装置５０は接続状態になっていない場合が多い。この場合、プリンター１１の電源を投入しその起動から設定時間Ｔ１が過ぎてプリンター１１が第２モードになった段階で通信ケーブル７０を通じてホスト装置５０に接続すれば、プリンター１１はホスト装置５０によりストレージとして認識される。
【００９７】
このとき、電源投入からの時間の経過と共に表示部１５にメッセージＭ１，Ｍ２がこの順に表示されるので、メッセージＭ２が表示されているタイミングでホスト装置５０に接続すれば、プリンター１１を第２モードのストレージとしてホスト装置５０と接続することができる。
【００９８】
また、ホスト装置５０とプリンター１１とを接続してから電源を投入した場合、プリンター１１が第１モードで起動されてしまうが、操作スイッチ１４Ｂで第２モードボタン８２を選択すれば、第２モードに切り替えることができる。この場合、プリンター１１の操作に不慣れなユーザーにとっては操作が面倒なので、電源投入の後にプリンター１１とホスト装置５０とを接続するとよい。
【００９９】
このようにプリンター１１がストレージとして動作する場合、ホスト装置５０のモニター５５に表示された「ストレージ装置」（図４（ａ）参照）中の「Setup.exe」（図４（ｂ）参照）を、マウス５４Ｂで選択して実行させると、ホスト装置５０に印刷ドライバーをインストールすることができる。
【０１００】
また、プリンター１１の電源投入後にホスト装置５０に接続した場合、表示部１５に表示されているメッセージＭ１から第１モードで動作させる接続タイミングが分かるので、プリンター１１をホスト装置５０と第１モードで接続することができる。このとき、プリンター１１の起動から設定時間Ｔ１を経過してしまっても、表示部１５に表示される次のメッセージＭ２により第２モードでの接続の仕方が報知される。このため、メッセージＭ２の指示に従って、通信ケーブル７０を接続してからプリンター１１の電源を投入し直したり、操作スイッチ１４Ｂを操作して第２モードに切り替えたりすることで、プリンター１１を第２モードでホスト装置５０に接続することができる。
【０１０１】
そして、印刷ドライバーのインストールが終わると、インストーラー６３が上記(A)，(B)のいずれかの処理を行う。すなわち、(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信することのうち一方によってモード切替えを指示する。
【０１０２】
また、第２モードでインストール前にモード切替えを行うまでの待機時間である閾値Ｔ２は、例えば１０秒〜１０分の範囲内の所定値である。この値は、ユーザーがインストールの意思がないことを判断できる時間に設定されている。但し、待機時間である閾値Ｔ２は、例えば３０秒〜５分の範囲内の所定値であることが好ましい。これは３０秒未満であると、ユーザーがインストールの意思があるにも拘らず、プリンター１１が第１モードに切り替わってしまう頻度が相対的に高くなる。一方、５分を超えると、ユーザーのインストールの意思がないにも拘らず第２モードの状態に過度に長く維持され、例えばユーザーが印刷を急いでいるときに、閾値Ｔ２を経過する前に、操作スイッチ１４Ｂを操作するか、電源を投入し直すかしなければならない。なお、インストール前の第２モードでの待機時間である閾値Ｔ２は１０秒〜１０分の範囲外の時間であってもよい。
【０１０３】
印刷ドライバーのインストール後にプリンター１１へ送信するモード切替え指示は、上記(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信すること、のうち一方なので、印刷ドライバーのインストール後、速やかにプリンター１１を第２モードから第１モードに切り替えることができる。この結果、印刷ドライバーのインストール後、さほど待ち時間なく、ホスト装置からプリンター１１に印刷ジョブデータを送信して、印刷を速やかに行わせることができる。
【０１０４】
ここで、自社製品のプリンター１１用に作成したベンダーコマンドを使用することも可能であるが、ベンダーコマンドが自社製品以外の想定外の他種の電子機器にホスト装置から何らかの原因で送信されてしまった場合、その想定外の電子機器に何も起きない保証をすることができない。しかし、本実施形態では、(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信すること、のいずれかなので、仮に想定外の電子機器にストレージの範囲外へアクセスすることになっても、「Out of Range」のエラーが返るだけなので、ホスト装置に他社の電子機器を接続して仮にストレージの範囲外へのアクセスがなされても、その他社の電子機器に悪影響はない。
【０１０５】
また、ホスト装置５０のインストーラー６３は、プリンター１１に対してストレージの範囲を取得する指示（リードキャパシティ（Read Capacity））を送り、プリンター１１からストレージの範囲の情報を取得する。そして、その取得したストレージの範囲に「１」以上の所定値を加算したアドレスを指定してストレージ範囲外へアクセスする。このため、他社の電子機器に対しても、ストレージの範囲外へのアクセスとすることができる。
【０１０６】
また、本例では、ストレージの範囲外へのアクセスは、リード（Read）である。ホスト装置５０が想定外の他社の電子機器（例えばプロジェクター又はデジタルカメラ）に対してストレージの範囲外へのアクセスをしたつもりが、実際にはその電子機器のストレージの範囲内のアクセスであっても、ストレージ上のデータが読み出されるだけである。このため、ライト（Write）やベリファイ（Verify）を用いた場合に懸念されるデータの書き替えの心配はない。
【０１０７】
また、モード切替え指示として、(C)取出しコマンド（Start Stop Unitコマンド）を送信することを用いた場合、想定外の他社の電子機器が取出装置を備えていても、取出装置のトレイ等が取出動作するだけなので、データへの悪影響はない。
【０１０８】
以上詳述した本実施形態によれば、以下に示す効果を得ることができる。
（１）動作部２１はホスト装置５０の指示を受けて動作を行う第１モードと、ホスト装置５０のストレージとして動作する第２モードとを有し、プリンター１１の起動時にホスト装置５０と接続している場合には第１モードで動作する。よって、ホスト装置５０とプリンター１１とが接続された状態でプリンター１１が起動させれば、動作部２１が第１モードでプリンターとして動作するので、プリンター１１はホスト装置５０の指示を受けて印刷動作を行うことができる。例えばユーザーはホスト装置５０とプリンター１１とを接続したままにしており、ホスト装置からの指示で印刷動作させたいためにプリンター１１の電源を投入すれば、プリンター１１を、ストレージとして動作する第２モードではなく、プリンターとして動作する第１モードで動作させることができる。
【０１０９】
（２）動作部２１は、ホスト装置の指示を受けて動作を行う第１モードと、ホスト装置のストレージとして動作する第２モードとのうち、プリンター１１の起動から所定時間の経過前にホスト装置と接続した場合は、第１モードで動作する。よって、動作部２１は、プリンター１１の起動から所定時間の経過前にホスト装置５０と接続すれば、プリンター１１を、ストレージとして動作する第２モードではなく、プリンターとして動作する第１モードで動作させることができる。
【０１１０】
（３）動作部２１は、プリンター１１の起動から設定時間Ｔ１の経過以後にホスト装置５０と接続した場合は、第２モードで動作する。よって、プリンター１１を起動から設定時間の経過以後にホスト装置５０と接続すれば、第２モードで動作させることができる。このため、プリンター１１をホスト装置５０のストレージとして使用できる。
【０１１１】
（４）動作部２１は、ユーザーによる操作スイッチ１４Ｂの操作によって与えられた指示に応じてモードを切り替える。よって、ユーザーは操作スイッチ１４Ｂの操作して表示部１５上の第１モードボタン８１と第２モードボタン８２のいずれかを選択することで、プリンター１１のモードを切り替えることができる。
【０１１２】
（５）インストーラープログラムＰ１及び印刷ドライバープログラムＰ２を記憶する不揮発性メモリー２６を備える。そして、動作部２１は、第２モードでストレージとして動作した場合、ホスト装置からの要求に応じてインストーラー（インストーラープログラムＰ１）をホスト装置５０に送信し、ホスト装置５０で起動されたインストーラー６３の指示に従って印刷ドライバープログラムＰ２をホスト装置５０に送信するインストール処理を行う。よって、プリンター１１からインストーラー６３によりホスト装置５０に印刷ドライバー６４をインストールすることができる。
【０１１３】
（６）印刷システム１０は、プリンター１１と、プリンター１１と通信可能に接続されるホスト装置５０が有するインストーラー６３と印刷ドライバー６４とを含むホスト制御装置６５とを備える。ホスト制御装置６５は、ホスト装置５０の入力装置５４（入力操作部の一例）によりインストール実行指示を受け付けると、プリンター１１からインストーラーを取得し、そのインストーラーを起動させることでプリンター１１から印刷ドライバーをインストールする。よって、プリンター１１の動作部２１を第１モードに切り替えて、ホスト装置５０からの指示でプリンター１１の動作部２１に印刷動作を行わせることができる。
【０１１４】
（７）ホスト制御装置６５は、インストール処理を終えると、プリンター１１に対して第２モードから第１モードへの切替え指示を行う。よって、ホスト制御装置６５は、インストール処理を終えると、プリンター１１に第２モードから第１モードへの切替え指示を行う。よって、プリンター１１からホスト装置５０への印刷ドライバーのインストール後に、プリンター１１の動作部２１を第２モードから第１モードに切り替えることができる。この結果、第１モードに切り替わったプリンター１１の動作部２１にホスト装置５０から指示された印刷動作を行わせることができる。
【０１１５】
（８）例えばマイクロソフト社製のＯＳである「ウインドウズ（登録商標）」用にインストーラー６３（インストーラープログラムＰ１）を作成した場合、そのインストーラーをアップル社製のＯＳである例えば「マック（登録商標）ＯＳ」を使用するホスト装置（例えばＰＣ）や、ホワイトボード（印刷機能付き黒板）に使用することができない。この場合、プリンター１１の起動時に例えばマスストレージクラスである第２モードで起動する構成であると、インストーラーが起動しないので、第１モードに切り替えることができない。これに対して本実施形態のプリンター１１では、プリンター１１の起動以後におけるホスト装置５０との接続タイミングによって、プリンター１１を第１モードで動作させるか第２モードで動作させるかを決めることができる。例えばホスト装置５０とプリンター１１とを通信ケーブル７０で接続した状態のままにしている場合でも、プリンター１１の電源を投入すれば、プリンター１１の動作部２１を第１モード（プリンターモード）で動作させることができる。よって、インストーラー６３が非対応のＯＳを使用するホスト装置やホワイトボードを、プリンター１１に接続する場合でも、その起動時点から設定時間Ｔ１の経過以後のタイミングで接続すれば、第１モードで動作させることができる。よって、ホスト装置やホワイトボードからプリンター１１へデータを送れば、プリンター１１にそのデータに基づく印刷動作を行わせることができる。
【０１１６】
（９）動作部２１は第２モードの場合に、ホスト装置５０からのアクセスがない時間が閾値を超えるか、ホスト装置５０から動作部２１の動作範囲から外れたアクセスであってモード切替えの指示として設定されたアクセスがあったか、のいずれかに応じて、第１モードに切り替わる。よって、ホスト装置５０がプリンター１１以外の他社の電子装置に接続しているときに、仮にインストーラー６３がモード切替え指示を何らかの原因で他社の電子機器に対して行ってしまっても、他社の電子機器への影響が少なく済む。
【０１１７】
（１０）動作部２１は第２モードの場合に、ホスト装置５０からのアクセスがない時間が閾値を超えるか、ホスト装置５０からストレージの範囲外へのアクセスがあったか、ホスト装置５０から取出し指示があったかのいずれかに応じて、第１モードに切り替わる。よって、ホスト装置５０が仮に他社の電子機器に対して何らかの原因でモード切替え指示を行ってしまっても、ストレージの範囲外へのアクセスなので、他社の電子機器への影響が少なく済む。例えば他社の電子機器はホスト装置５０に対してストレージの範囲外である旨（例えば「Out of Range」）を応答するだけで済む。また、取出し指示の場合、仮に他社の電子機器が取出装置を備えていても、その取出装置が取出し動作をするだけなので、この場合も他社の電子機器への影響が少なく済む。
【０１１８】
（１１）ストレージの範囲外へのアクセスを、読出指示（リード）としている。よって、仮に他社の電子機器に対してストレージの範囲外への読出指示を行っても、他社の電子機器は例えば「Out of Range」の応答をするだけなので、他社の電子機器への影響が少なく済む。ストレージの範囲外へアクセスしたつもりが仮にストレージの範囲内へのアクセスになってしまっても、データを読出すだけなので、書込指示（Write）やベリファイ（Verify）に比べ、ストレージ上のデータの書替えの心配がない。
【０１１９】
（１２）動作部２１は、プリンター１１の起動から設定時間Ｔ１の経過以後にホスト装置５０と接続した場合は第２モードで動作し、この第２モードにおいて、ホスト装置５０からのアクセスがない時間が閾値を超えると、第１モードに切り替わる。よって、動作部２１が起動から接続までの経過時間に従って第２モードを選択して動作しても、ユーザーがストレージにアクセスすることなく、アクセスがない時間が閾値を超えれば、プリンター１１を第１モードに切り替えることができる。このため、ユーザーが第２モードから第１モードへ切り替える操作をしなくても、ユーザーはホスト装置５０からの指示でプリンター１１に印刷させることができる。
【０１２０】
（１３）動作部２１は、ホスト装置５０からストレージの範囲を問い合わせるアクセス（Read Capacity）があると、ストレージの範囲に係る情報をホスト装置５０に送信し、この送信の後にホスト装置５０からストレージの範囲外へのアクセスがあると、第１モードに切り替わる。よって、ストレージの範囲外へのアクセスを一層確実なものとすることができる。仮に何らかの原因でホスト装置が他社の電子機器にモード切替え指示を行ってしまっても、他社の電子機器に対してもストレージの範囲外へのアクセスとなるので、他社の電子機器への影響がより少なく済む。
【０１２１】
（１４）プリンター１１は、印刷ドライバープログラムＰ２及びドライバープログラムをインストールさせるインストーラー（インストーラープログラムＰ１）が記憶されたストレージ用記憶領域２６Ｂを含む不揮発性メモリー２６を備える。動作部２１は、第２モードで動作したときには、ホスト装置５０からインストール要求を受信すると、ホスト装置５０にインストーラー（インストーラープログラムＰ１）及び印刷ドライバープログラムＰ２を送信する。そして、インストーラー６３による印刷ドライバー６４のインストールを終えた後、動作部２１は、ホスト装置５０からストレージの範囲外へのアクセスがあったか、ホスト装置５０から取出し指示があったかのいずれかに応じて、第１モードに切り替わる。このため、印刷ドライバー６４のインストール後に速やかに、ホスト装置５０から印刷ジョブデータを送信してプリンター１１に印刷動作を行わせることができる。
【０１２２】
（１５）ホスト装置５０が有するホスト制御装置６５は、インストーラー６３と、インストーラー６３によりインストールされた印刷ドライバー６４とを備える。インストーラー６３は、印刷ドライバー６４のインストール完了後に、プリンター１１に対してモード切替え指示を行う。よって、プリンター１１の動作部２１を第２モードから第１モードに切り替えることができる。このため、速やかにホスト装置５０から印刷ジョブデータを送信してプリンター１１に印刷動作を行わせることができる。ここで、第２モードにおけるインストール前においては、ユーザーがプリンター１１へアクセスしない時間が閾値Ｔ２を超えたことをもってモード切替え指示とする。このため、ユーザーの意図に反して第２モードで動作された場合など、ホスト装置５０からストレージへのアクセスがない時間が閾値Ｔ２を超えると、第１モードに切り替わる。また、インストール完了後は、ストレージの範囲外へのアクセス、取出し指示の送信のいずれかをモード切替え指示とする。このため、ホスト装置５０が他社の電子装置に接続しているときに何らかの原因で他社の電子機器にモード切替え指示を行ってしまっても、他社の電子機器への影響が少なく済む。
【０１２３】
（１６）ストレージ装置のストレージ範囲を問い合わせる問合せ動作と、問合せ動作で得られたストレージ装置のストレージ範囲外に対するアクセスをストレージ装置のモードを切り替える切替指示として、ストレージ装置に対して行うモード切替動作と、をホスト装置５０に実行させるインストーラープログラムＰ１を備える。よって、切替指示にベンダーコマンドを使用しなくても、ホスト装置５０からの指示でストレージ装置のモードを切り替えることができる。
【０１２４】
（第２実施形態）
次に図１３を参照して第２実施形態について説明する。第１実施形態では、プリンター１１の起動からの経過時間を計時するタイマー３３の計時時間Ｔが設定時間Ｔ１を経過する前であれば、プリンター１１はプリンタークラスの第１モードで動作し、設定時間Ｔ１を経過した以後は、プリンターはマスストレージクラスの第２モードで動作する。これに対して本実施形態では、ユーザーが操作スイッチ１４Ｂを用いてモード切替え操作をすることで、プリンターとして動作する第１モードから、ストレージとして動作する第２モードへの切り替えが可能になっている。
【０１２５】
プリンター１１は、初期状態ではプリンタークラスである第１モードに設定されている。印刷ドライバーをインストールする場合、ユーザーは操作スイッチ１４Ｂを操作して表示部１５にメニュー画面Ｇ１（図３（ａ））の下位のモード切替え画面Ｇ２を表示させ、モード切替え画面Ｇ２で操作スイッチ１４Ｂの操作で第２モードボタン８２（いずれも図３（ｂ）参照）を選択する。この結果、プリンター１１の動作部２１は、第１モードから第２モードに切り替わる。なお、本実施形態では、操作スイッチ１４Ｂにより、動作部に指示を与える操作部の一例が構成される。
【０１２６】
以下、図１３を参照して本実施形態における処理について説明する。なお、プリンター１１の構成及びホスト装置５０の構成は、第１実施形態と同様である。第１実施形態における図９の処理の一部が異なる他は、基本的に第１実施形態と同様の処理を行うので、図１３を参照して特に異なる処理についてのみ説明する。
【０１２７】
まずステップＳ６１では、ホスト装置との接続を検出したか否かを判断する。ホスト装置との接続を検出しなければステップＳ６２に進み、ホスト装置との接続を検出すればステップＳ６４に進む。
【０１２８】
ステップＳ６２では、モード切替え操作があったか否かを判断する。つまり、本実施形態では初期状態では第１モードに設定されているので、モード切替え操作によって、第２モードへの切替え操作がなされたか否かを判断する。モード切替え操作がなければステップＳ６１に戻り、モード切替え操作があればステップＳ６３に進む。つまり、初期状態の第１モードのままでホスト装置との接続が検出されるか（Ｓ６１で肯定判定）、第２モードへのモード切替え操作があるまで（Ｓ６２で肯定判定）、Ｓ６１，Ｓ６２の各処理を繰り返す。そして、第２モードへのモード切替え操作があれば（Ｓ６２で肯定判定）ステップＳ６３に進み、第１モードの状態でホスト装置との接続が検出されれば（Ｓ６１で肯定判定）ステップＳ６４に進む。
【０１２９】
ステップＳ６３では、ホスト装置との接続を検出したか否かを判断する。つまり、第２モードの状態でホスト装置との接続を検出したか否かを判断する。ホスト装置との接続を検出した場合はステップＳ６６に進み、ホスト装置との接続を検出しなければホスト装置との接続が検出されるまでそのまま待機する。つまり、第２モードへのモード切替え操作（Ｓ６２）と第２モードの状態でホスト装置との接続の検出（Ｓ６３）との両方が成立すると、ステップＳ６６に進む。
【０１３０】
一方、ステップＳ６４では、プリンタークラスで通信を確立し、第１モードで動作する。つまり、初期状態の第１モードのままホスト装置との接続を検出した場合、動作部２１は、ＵＳＢコネクター２２を介してプリンタークラスで通信を確立し、第１モードで動作する。
【０１３１】
次のステップＳ６５では、モード切替え操作があったか否かを判断する。モード切替え操作があればステップＳ６６に進み、モード切替え操作がなければステップＳ７０に進む。
【０１３２】
ステップＳ６６では、マスストレージクラスで通信を確立し、第２モードで動作する。つまり、ユーザーがプリンター１１とホスト装置５０との接続の前にモード切替え操作を行った場合に加え、プリンター１１とホスト装置５０との接続の後にモード切替え操作を行った場合も、プリンター１１を第２モードでホスト装置との通信を確立する。なお、ステップＳ６５でモード切替え操作があったときは、第１モードでの接続を切断した後にプルアップして、プラグアンドプレイ処理を開始させ、ステップＳ６６の処理を行う。
【０１３３】
第２モードのプリンター１１は、ホスト装置５０のストレージとして動作し、ホスト装置５０のモニター５５を通してプリンター１１のストレージ（図４（ａ）参照）を見ることができる。
【０１３４】
以下のステップＳ６７〜Ｓ６９の各処理は、第１実施形態におけるステップＳ１８〜Ｓ２０の処理内容（図９）と同様である。すなわち、インストール要求を受信すると（Ｓ６７で肯定判定）、ステップＳ６８においてホスト装置への印刷ドライバーのインストール処理を行う。ステップＳ６９では、モード切替え条件成立か否かを判定する。モード切替え条件が不成立であればステップＳ６７に戻り、モード切替え条件が成立すればステップＳ６４に進む。本実施形態でも、第１実施形態と同様に、インストール前においては、アクセスがない時間が閾値Ｔ２を超えると、第１モードに切り替わる。印刷ドライバーのインストール完了後は、インストーラー６３は、(A)ストレージの範囲外へアクセスすること、(B)取出しコマンドを送信すること、のうちいずれかによってモード切替えを指示する。プリンター１１は、(D)ストレージの範囲外へのアクセスがあったことと、(E)取出しコマンドを受信したこととのうちいずれかのモード切替え指示を受け取ると、第２モードから第１モードに切り替わる。このモード切替え指示を受け取ったときは、第２モードでの接続を切断した後にプルアップして、プラグアンドプレイ処理を開始させ、ステップＳ６４の処理を行う。
【０１３５】
その後、ユーザーはホスト装置５０から印刷ジョブデータをプリンター１１に送信する。ステップＳ７０〜Ｓ７３の各処理は、第１実施形態におけるステップＳ２１〜Ｓ２４の各処理（図９）とほぼ同様である。すなわち、ステップＳ７０で印刷ジョブを受信すると、印刷処理を行い（Ｓ７１）、電源オフされなければ、モード切替え操作の有無を判断し（Ｓ６５）、印刷ジョブを受信する度に印刷処理を行い（Ｓ７０，Ｓ７１）、電源オフされると（Ｓ７２で肯定判定）、電源オフ処理を行う（Ｓ７３）。
【０１３６】
この第２実施形態によれば、以下に示す効果が得られる。
（１７）動作部２１に指示を与えるために操作される操作スイッチ１４Ｂを備える。動作部２１は、プリンター１１が起動された初期状態において第１モードで動作し、操作スイッチ１４Ｂの操作により与えられた指示に応じてモードを切り替えることで、第２モードとなる。よって、ユーザーが操作スイッチ１４Ｂでモードを切り替える操作をしなくても、動作部２１は第１モードで動作し、ホスト装置５０の指示を受けて印刷動作を行うことができる。一方、ユーザーが操作スイッチ１４Ｂの操作で動作部を第２モードに切り替えることで、動作部２１をストレージとして動作させることができる。
【０１３７】
なお、上記実施形態は以下のような形態に変更することもできる。
・前記各実施形態では、第１モードと第２モードとの２種類のモード（２モード）を備えたが、３種以上のモードを備えてもよい。例えば「ヒューマンインターフェイスデバイス（ＨＩＤ）クラス」を第３モードとして備えてもよい。その他のデバイスクラスに対応するモードを更に加え、４モードや５モードとしてもよい。そして、モードを決めるデバイスクラスの組合せも、プリンタークラス（第１モード）とマスストレージクラス（第２モード）に限定されない。例えばイメージクラス（第１モード）とマスストレージクラス（第２モード）の組合せ、オーディオクラス（第１モード）とマスストレージクラス（第２モード）との組合せ、又はベンダークラス（第１モード）とマスストレージクラス（第２モード）との組合せを含む、少なくとも２種のモードを設定することができる。
【０１３８】
・電子機器の起動から設定時間Ｔ１の経過前か経過以後かによって、動作部が動作するモードを決めたが、動作部は、電子機器の起動時にホスト装置と接続されている場合は第１モードで動作し、電子機器の起動時にホスト装置と接続されていない場合には第２モードで動作するように構成してもよい。この構成によれば、ユーザーは、電子機器を起動時にホスト装置と接続しておくか接続しておかないかの選択によって、動作部を第１モードで動作させるか第２モードで動作させるかを選択することができる。また、電子機器とホスト装置とを常時接続させた状態で使用しているユーザーは、電子機器の電源を投入すれば、動作部が第１モードで動作するため、ホスト装置から指示を出せばその指示に基づく動作を電子機器の動作部に行わせることができる。一方、電子機器の電源を投入した後に、その電子機器をホスト装置と接続すれば、ユーザーは電子機器をホスト装置からの操作でアクセス可能なストレージとして利用することができる。
【０１３９】
・第１モードから第２モードへのモード切替指示は、インストーラー６３に替え、印刷ドライバー６４が行ってもよい。例えばドライバーのインストール完了後のホスト装置の再起動後に印刷ドライバー６４を起動させ、その起動した印刷ドライバーにモード切替え指示を行わせてもよい。
【０１４０】
・モード切替え指示の実施時期は、ドライバーのインストール完了後のタイミングに限定されない。例えばストレージ中の開いていたプログラム又はファイルを閉じたとき、ストレージ内のドライバー以外のプログラムのインストール完了後などであってもよい。
【０１４１】
・ホスト装置との接続タイミングを報知する方法は、メッセージＭ１，Ｍ２の表示に限定されず、音声メッセージとしたり、ランプの点灯や点滅により報知したりしてもよい。
・設定時間Ｔ１を操作スイッチ１４Ｂの操作で変更できるようにしてもよい。また、閾値Ｔ２を操作スイッチ１４Ｂの操作で変更できるようにしてもよい。
【０１４２】
・動作部２１が行う図９〜図１１、図１３の処理を、プログラムを実行するＣＰＵによりソフトウェアで実現したが、ＡＳＩＣ等の電子回路によりハードウェアで実現したり、ソフトウェアとハードウェアとの協働により実現したりしてもよい。
【０１４３】
・動作部の動作範囲から外れたアクセス、すなわち動作部がホスト装置からのアクセスに従って動作しようとしてもエラーとなるアクセスであれば、取出しコマンド以外のコマンドでもよい。この場合、何らかの原因で他社の電子機器にモード切替え指示を行ってしまっても、ベンダーコマンド等の特殊コマンドを使用する場合に比べ、他社の電子機器に与える影響を少なく抑えられる。
【０１４４】
・ＵＳＢ規格は、ＵＳＢ２．０の他、ＵＳＢ３．０、ＵＳＢ３．１に適用してもよい。また、ＵＳＢ１．０やＵＳＢ１．１に適用してもよい。また、ＵＳＢ規格に限定されず、他の通信規格であってもよい。要するに、ホスト装置と電子機器との間で初期処理（例えばエニュメレーション）が行われ、初期処理において電子機器からホスト装置へクラス情報が送信される通信規格であれば、他の通信規格でもよい。例えばＩＥＥＥ１３９４、ＳＣＳＩ（Small Computer System Interface）、ＡＴＡ（Advanced Technology Attachment）でもよい。また、通信方式は有線通信方式に限定されず、無線通信方式でもよい。
【０１４５】
・印刷装置は、印刷専用機に限らず、コピー機能やスキャナー機能を備えた複合機であってもよい。さらに、印刷装置は、シリアルプリンター、ラインプリンターに限らず、ページプリンターでもよい。また、印刷装置は、携帯型、小型、中型及び大型のプリンターでもよい。例えばビジネス用プリンターや大判プリンターでもよい。
【０１４６】
・電子機器は、プリンター（複合機を含む。）に限らず、スキャナー、プロジェクター、デジタルカメラ（撮影装置）、デジタルオーディオ装置（音響機器）などであってもよい。
【符号の説明】
【０１４７】
１０…システムの一例としての印刷システム、１１…電子機器の一例としてのプリンター、１４…操作部、１４Ａ…電源スイッチ、１４Ｂ…操作スイッチ、１５…表示部、２１…動作部、２２…接続部の一例としてのＵＳＢコネクター、２５…動作部の一例を構成するＣＰＵ、２６…動作部の一例を構成するとともにメモリーの一例としての不揮発性メモリー、２８…印刷機構、３１…動作部の一例を構成する切替部、３２…制御部、３３…タイマー、３４…動作部の一例を構成する第１動作部、３５…動作部の一例を構成する第２動作部、４１…デバイス通信部、４２…第１判定部、４３…第２判定部、５０…ホスト装置、５１…ＣＰＵ、５２…ＵＳＢコネクター（ホスト装置側の接続部）、５４…入力操作部の一例としての入力装置、５５…モニター、６２…ホスト通信部、６３…インストーラー、６４…印刷ドライバー、６５…ホスト制御装置、７０…通信ケーブル、８１…第１モードボタン、８２…第２モードボタン、Ｐ１…インストーラープログラム、Ｐ２…印刷ドライバープログラム、Ｍ１，Ｍ２…メッセージ、Ｔ１…所定時間の一例としての設定時間、Ｔ２…閾値。
【図１】
2015229321.tif 000003
【図２】
2015229321.tif 000004
【図３】
2015229321.tif 000005
【図４】
2015229321.tif 000006
【図５】
2015229321.tif 000007
【図６】
2015229321.tif 000008
【図７】
2015229321.tif 000009
【図８】
2015229321.tif 000010
【図９】
2015229321.tif 000011
【図１０】
2015229321.tif 000012
【図１１】
2015229321.tif 000013
【図１２】
2015229321.tif 000014
【図１３】
2015229321.tif 000015