電源です

クラス名: Power

电源関連の関数は IP5306 チップのレジスタに関連した可能性があります。不明瞭な点があれば IP5306 のレジスタマニュアルを参照してください。

IP5306 芯片不支持与旧 M5STACK 硬件通信使用功能时,还要考虑支持失控情况

按顺序使用:初始化,通信检查和控制,如以下示例所示

  M5.Power.begin();
  if(!M5.Power.canControl()) {
    //can't control.
    return;
  }
  M5.Power.lightSleep(SLEEP_SEC(5));

begin()

機能です:

Power クラスの初期化を実行

原型関数です:

void begin()

使用例です:

#include <M5Stack.h>

void setup() {
    M5.begin();
    M5.Power.begin();
}

void loop() {}

setPowerBoostOnOff()

機能です:

电源键の長押し/短押し 2 回による主機の電源 ON/OFF の方式を変更

注意:
USB 接続中は、電源は OFF されません

原型関数です:

bool setPowerBoostOnOff(bool en)

en 機能です
true 长押しで主機の電源を ON/OFF
false 短押し 2 回で主機の電源を ON/OFF

戻り値です:

機能です
true 制御成功
false 制御失敗

使用例です:

#include <M5Stack.h>

void setup() {
    M5.begin();
    M5.Power.begin();
    if (M5.Power.setPowerBoostOnOff(false)) {
        M5.Lcd.println("Changed power on/off method");
    } else {
        M5.Lcd.println("Failed to change power on/off method");
    }
}

void loop() {}

setPowerBoostKeepOn()

機能です:

電源のオン/オフの操作方法を変更 USB 接続時、電源は OFF にならない

原型関数です:

bool setPowerBoostKeepOn(bool en)

en 機能です
true 短押で一括 ON/OFF
false setPowerBoostOnOff()方法に従う

戻り値です:

機能です
true 制御成功
false 制御失敗

setPowerVin()

機能です:

USB 等の電源が切断したとき、 再び電源を入れるかどうかを決める

原型関数です:

bool setPowerVin(bool en)

機能です
true 再び電源を入れる
false 電源を入れない

戻り値です:

機能です
true 制御成功
false 制御成功

setPowerWLEDSet()

機能です:

電源 LED を点灯するモードを設定 M5GO の IP5306 は配線が行われていないので、本機能を利用できない

原型関数です:

bool setPowerWLEDSet(bool en)

機能です
true 2 回短押で LED を点灯
false 長押で LED を点灯

戻り値です:

機能です
true 制御成功
false 制御失敗

setPowerBtnEn()

機能です:

電源ボタンを認識するかどうかを設定

ボタンを認識しないときの動作: 電源が ON のとき、CPU のリセットのみを受け付ける 電源が OFF のとき、電源を入力できない

原型関数です:

bool setPowerBtnEn(bool en)

機能です
true 電源操作を受け付ける
false 電源操作を無視する

戻り値です:

機能です
true 制御成功
false 制御失敗

setLowPowerShutdownTime()

機能です:

IP5306 が省電力状態を判断し、電源を OFF にするまでの待ち時間を設定

原型関数です:

bool setLowPowerShutdownTime(ShutdownTime time)

機能です
SHUTDOWN_8S 8 秒待ち
SHUTDOWN_16S 16 秒待ち
SHUTDOWN_32S 32 秒待ち
SHUTDOWN_64S 64 秒待ち

戻り値です:

機能です
true 制御成功
false 制御失敗

setPowerBoostKeepOn()

機能です:

常時出力モードを設定/解除

原型関数です:

bool setPowerBoostKeepOn(bool en)

機能です
true 常時出力する
false 常時出力しない

戻り値です:

機能です
true 制御成功
false 制御失敗

setAutoBootOnLoad()

機能です:

IP5306 のセカンダリ側の消費電力が発生したときに自動起動するかどうかを設定

原型関数です:

bool setAutoBootOnLoad(bool en)

機能です
true 自動起動を有効にする
false 自動起動を無効にする

戻り値です:

機能です
true 制御成功
false 制御失敗

setCharge()

機能です:

充電モードを設定/解除します。バッテリーがフル充電した後、充電を有効にする -> 無効にする -> 有効にするの操作を試みると、充電が可能になります。

原型関数です:

bool setCharge(bool en)

機能です
true 充電開始指示
false 充電停止指示

戻り値です:

機能です
true 制御成功
false 制御失敗

isChargeFull()

機能です:

バッテリーがフル充電かどうかを検出

原型関数です:

bool isChargeFull()

戻り値です:

機能です
true フル充電
false 未フル充電

canControl()

機能です:

I2C 通信を通じて、バッテリーコントローラの存在を確認します。

原型関数です:

bool canControl()

戻り値です:

機能です
true 电源コントローラが検出
false 电源コントローラが見つからない

isCharging()

機能です:

充電中かどうかを確認

原型関数です:

bool isCharging()

戻り値です:

機能です
true 充電中
false 充電中でない

getBatteryLevel()

機能です:

バッテリーの残量を返却

原型関数です:

int8_t getBatteryLevel()

戻り値です:

返バッテリーの残量を 0/25/50/75/100 のいずれかで返却。 残量を確認できない場合は、-1 を返却。

setWakeupButton()

機能です:

睡眠からの復帰用ポートを設定

原型関数です:

void setWakeupButton(uint8_t button)

機能です
button ポート番号

使用例です:

setWakeupButton(BUTTON_A_PIN);

reset()

機能です:

CPU のリセットを実行

原型関数です:

void reset()

isResetbySoftware()

機能です:

現在の動作状態が CPU リセット直後かどうかを判断 (reset()や RTOS の同等処理を実行した後は成立)

原型関数です:

bool isResetbySoftware()

戻り値です:

機能です
true ソフトウェアリセット後
false 他の理由

isResetbyWatchdog()

機能です:

現在の動作状態がウォッチドッグタイマーのリセット直後かどうかを判断

原型関数です:

bool isResetbyWatchdog()

戻り値です:

機能です
true ウォッチドッグリセット後
false 他の理由

isResetbyDeepsleep()

機能です:

确定当前唤醒状态是否在 deepSleep()之后

原型関数です:

bool isResetbyDeepsleep()

戻り値です:

機能です
true 在 deepSleep()之后
false 出于其他原因

isResetbyPowerSW()

機能です:

現在の起動状態を、電源スイッチを入力した直後かどうかを判断します。

原型関数です:

bool isResetbyPowerSW()

戻り値です:

機能です
true 通過電源開關
false 出於其他原因

deepSleep()

機能です:

此機能はデバイスを深度睡眠モードに移行します。 指定の時間後、またはポートの状態が変更した後、デバイスが再起動します。 ウェイクアップ後、CPU は再起動され、次の行のコードは実行されません。

原型関数です:

void deepSleep()

使用例です:

5 秒後省電力で再起動

deepSleep(SLEEP_SEC(5));

lightSleep()

機能です:

此機能はデバイスを軽度睡眠モードに移行します。 指定の時間後、またはポートの状態が変更した後、デバイスが起動します。 起動後、次の行のコードから実行を継続します。 deepSleep()と比較して、省電力効果は低いです。

原型関数です:

void lightSleep(uint64_t time_in_us)

使用例です:

5 マイクロ秒後省電力を保持しつつ、続行

lightSleep(SLEEP_SEC(5));

powerOFF()

機能です:

電源を OFF にします。 省電力機能を利用し、8 秒後 IP5306 を OFF にします。 回路側への電源供給を遮断します。

原型関数です:

void powerOFF()

注意:
M5Stack は強制的に電源を OFF にできません。したがって、本機能は IP5306 の省電力機能を利用して実現します。回路内に余分な電流消費がある場合、IP5306 は電源が OFF になっているかどうかを確認できない可能性があります。
On This Page