PM_GetExitFactor

構文

#include <twl/spi.h>
PMExitFactor PM_GetExitFactor( void );
  

引数

なし。

返り値

終了処理に移行した要因です。

説明

終了処理に移行した要因を取得します。

返り値は以下の意味を持ちます。終了処理に入っていない場合は、PM_EXIT_FACTOR_NONE となります。

返り値 終了処理に移行した要因       
PM_EXIT_FACTOR_PWSW 電源ボタンが一定時間以上押されたことを検知したことによる
PM_EXIT_FACTOR_BATTERY バッテリーの低下をARM7 が検知したことによる
PM_EXIT_FACTOR_USER ユーザの強制ハードウェアリセット/強制パワーオフによる
PM_EXIT_FACTOR_NONE ( 終了処理に入っていない )



リセット/電源オフ への移行

PM_EXIT_FACTOR_PWSW の場合、この後ハードウェアリセットとなるか、電源オフとなるかは判りません。電源ボタンの押下が解除されるタイミングによります。

PM_EXIT_FACTOR_BATTERY の場合、電源オフのシーケンスに移ります。

PM_EXIT_FACTOR_USER の場合、PM_ForceToResetHardware() または PM_ForceToPowerOff() が呼び出されているのでこの後はハードウェアリセットやシャットダウンのシーケンスに移ります。

いずれにしても終了コールバックは速やかに抜ける必要があります。



返り値 PM_EXIT_FACTOR_USER について

この値がセットされるのは PM_ForceToResetHardware()PM_ForceToPowerOff() を経由したときです。ユーザが直接呼び出す以外に、他のシステム関数から最終的にこれらの関数が呼ばれた場合も PM_EXIT_FACTOR_USER がセットされます。例えば OS_JumpToSystemMenu() は最終的に PM_ForceToResetHardware() に到達します。

参照

PM_SetExitCallbackInfo, PM_SetAutoExit, PM_GetAutoExit

履歴

2008/05/01 PM_EXIT_FACTOR_USER を追加
2008/02/07 初版