diff --git a/docs/en/api/power.md b/docs/en/api/power.md
index ca886bc3..77b20ba0 100644
--- a/docs/en/api/power.md
+++ b/docs/en/api/power.md
@@ -8,39 +8,39 @@
**Description:**
-This function sets/unsets always boost output mode.
+This function sets/unsets always boost output mode.
**Function argument**
-true: Turn on always boost output mode,
-false: Turn off always boost output mode.
+true: Turn on always boost output mode,
+false: Turn off always boost output mode.
**Function return value**
-true: Control success,
-false: Control failure.
+true: Control success,
+false: Control failure.
**Definition:**
```arduino
bool setPowerBoostKeepOn(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_OUT_BIT);
- else Wire.write(data &(~BOOST_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_OUT_BIT);
+ else Wire.write(data &(~BOOST_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -52,40 +52,39 @@ bool setPowerBoostKeepOn(bool en){
**Description:**
-This function sets/unsets to disable the automatic shutdown.
+This function sets/unsets to disable the automatic shutdown.
**Function argument**
-true: When the current is too small, IP5306 will *not* automatically shutdown,
-false: When the current is too small, IP5306 will automatically shutdown.
+true: When the current is too small, IP5306 will *not* automatically shutdown,
+false: When the current is too small, IP5306 will automatically shutdown.
**Function return value**
-true: Control success,
-false: Control failure.
-
+true: Control success,
+false: Control failure.
**Definition:**
```arduino
bool setKeepLightLoad(bool en) {
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (!en) Wire.write(data | LIGHT_LOAD_BIT);
- else Wire.write(data &(~LIGHT_LOAD_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (!en) Wire.write(data | LIGHT_LOAD_BIT);
+ else Wire.write(data &(~LIGHT_LOAD_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -97,39 +96,40 @@ bool setKeepLightLoad(bool en) {
**Description:**
-This function sets/unsets charge mode. When the battery is fully charged, try set charge enable->disable->enable, It can be recharged.
+This function sets/unsets charge mode. When the battery is fully charged,
+try set charge enable->disable->enable, It can be recharged.
**Function argument**
-true: Start charging,
-false: Stop charging.
+true: Start charging,
+false: Stop charging.
**Function return value**
-true: Control success,
-false: Control failure.
+true: Control success,
+false: Control failure.
**Definition:**
```arduino
bool setCharge(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | CHARGE_OUT_BIT);
- else Wire.write(data &(~CHARGE_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | CHARGE_OUT_BIT);
+ else Wire.write(data &(~CHARGE_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -141,32 +141,32 @@ bool setCharge(bool en){
**Description:**
-This function checks if the battery is fully charged.
+This function checks if the battery is fully charged.
**Function argument**
-No argument.
+No argument.
**Function return value**
-true: Full charged,
-false: Not full charged.
+true: Full charged,
+false: Not full charged.
**Definition:**
```arduino
bool isChargeFull(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ1);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ1);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
@@ -178,7 +178,7 @@ bool isChargeFull(){
**Description:**
-This function checks the existence of the battery controller on I2C.
+This function checks the existence of the battery controller on I2C.
**Function argument**
@@ -186,17 +186,17 @@ No argument.
**Function return value**
-true: Battery controller is found,
-false: Battery controller is not found.
+true: Battery controller is found,
+false: Battery controller is not found.
**Definition:**
```arduino
bool canControl(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- return(Wire.endTransmission()==0);
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ return(Wire.endTransmission()==0);
}
```
@@ -208,34 +208,35 @@ bool canControl(){
**Description:**
-This function checks the state of the charging.
+This function checks the state of the charging.
**Function argument**
-No argument.
+No argument.
**Function return value**
-true: In charging,
-false: Not in charging.
+true: In charging,
+false: Not in charging.
**Definition:**
```arduino
bool isCharging(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
+
## getBatteryLevel()
**Syntax:**
@@ -244,7 +245,7 @@ bool isCharging(){
**Description:**
-This function gets the battery level.
+This function gets the battery level.
**Function argument**
@@ -252,9 +253,8 @@ No argument.
**Function return value**
-Battery remaining percentage. (0-100 %)
-Returns -1 if it can not communicate with the controller.
-
+Battery remaining percentage. (0-100 %)
+Returns -1 if it can not communicate with the controller.
**Definition:**
@@ -264,18 +264,17 @@ int8_t getBatteryLevel() {
Wire.write(0x78);
if (Wire.endTransmission(false) == 0 && Wire.requestFrom(0x75, 1)) {
switch (Wire.read() & 0xF0) {
- case 0xE0: return 25;
- case 0xC0: return 50;
- case 0x80: return 75;
- case 0x00: return 100;
- default: return 0;
+ case 0xE0: return 25;
+ case 0xC0: return 50;
+ case 0x80: return 75;
+ case 0x00: return 100;
+ default: return 0;
}
}
return -1;
}
```
-
## setWakeupButton()
**Syntax:**
@@ -284,13 +283,13 @@ int8_t getBatteryLevel() {
**Description:**
-This function sets the port to exit sleep mode.
+This function sets the port to exit sleep mode.
**Definition:**
```arduino
void setWakeupButton(uint8_t button) {
- _wakeupPin = button;
+ _wakeupPin = button;
}
```
@@ -302,13 +301,13 @@ void setWakeupButton(uint8_t button) {
**Description:**
-This function resets the CPU.
+This function resets the CPU.
**Definition:**
```arduino
void reset() {
- esp_restart();
+ esp_restart();
}
```
@@ -328,23 +327,23 @@ This function controls power supply.
```arduino
bool batteryMode(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_ENABLE_BIT);
- else Wire.write(data &(~BOOST_ENABLE_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_ENABLE_BIT);
+ else Wire.write(data &(~BOOST_ENABLE_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
-->
@@ -357,28 +356,28 @@ bool batteryMode(bool en){
**Description:**
-This function shifts to deep sleep mode.
+This function shifts to deep sleep mode.
**Definition:**
```arduino
void deepSleep(){
- #ifdef M5STACK_FIRE
- // Keep power keep boost on
- setPowerBoostKeepOn(true);
- #endif
+ #ifdef M5STACK_FIRE
+ // Keep power keep boost on
+ setPowerBoostKeepOn(true);
+ #endif
- // power off the Lcd
- M5.Lcd.setBrightness(0);
- M5.Lcd.sleep();
+ // power off the Lcd
+ M5.Lcd.setBrightness(0);
+ M5.Lcd.sleep();
- // ESP32 into deep sleep
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
+ // ESP32 into deep sleep
+ esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
- while(digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ while(digitalRead(_wakeupPin) == LOW) {
+ delay(10);
+ }
+ esp_deep_sleep_start();
}
```
diff --git a/docs/en/api/system.md b/docs/en/api/system.md
index 4c8fc497..adc7b12a 100644
--- a/docs/en/api/system.md
+++ b/docs/en/api/system.md
@@ -15,54 +15,54 @@ This function sets enable/disable LCD, TF Card,Serial port and I2C port.
```arduino
void M5Stack::begin(bool LCDEnable, bool SDEnable, bool SerialEnable,bool I2CEnable) {
- // Correct init once
- if (isInited) return;
- else isInited = true;
+ // Correct init once
+ if (isInited) return;
+ else isInited = true;
- // UART
- if (SerialEnable) {
- Serial.begin(115200);
- Serial.flush();
- delay(50);
- Serial.print("M5Stack initializing...");
- }
+ // UART
+ if (SerialEnable) {
+ Serial.begin(115200);
+ Serial.flush();
+ delay(50);
+ Serial.print("M5Stack initializing...");
+ }
- // LCD INIT
- if (LCDEnable) {
- Lcd.begin();
- }
+ // LCD INIT
+ if (LCDEnable) {
+ Lcd.begin();
+ }
- // TF Card
- if (SDEnable) {
- SD.begin(TFCARD_CS_PIN, SPI, 40000000);
- }
+ // TF Card
+ if (SDEnable) {
+ SD.begin(TFCARD_CS_PIN, SPI, 40000000);
+ }
- // TONE
- // Speaker.begin();
+ // TONE
+ // Speaker.begin();
- // Set wakeup button
- Power.setWakeupButton(BUTTON_A_PIN);
+ // Set wakeup button
+ Power.setWakeupButton(BUTTON_A_PIN);
- // I2C init
- if(I2CEnable)
- {
- Wire.begin(21, 22);
- }
+ // I2C init
+ if(I2CEnable)
+ {
+ Wire.begin(21, 22);
+ }
- if (SerialEnable) {
- Serial.println("OK");
- }
+ if (SerialEnable) {
+ Serial.println("OK");
+ }
}
void M5Stack::update() {
- //Button update
- BtnA.read();
- BtnB.read();
- BtnC.read();
+ //Button update
+ BtnA.read();
+ BtnB.read();
+ BtnC.read();
- //Speaker update
- Speaker.update();
+ //Speaker update
+ Speaker.update();
}
```
@@ -108,6 +108,8 @@ void loop() {
## powerOFF()
+!> Deprecated: Please use Power::deepSleep()
+
**Syntax:**
void powerOFF();
@@ -120,23 +122,7 @@ This function turns off the power of M5.
```arduino
void M5Stack::powerOFF() {
-
-#ifdef M5STACK_FIRE
- // Keep power keep boost on
- setPowerBoostKeepOn(true);
-#endif
-
- // power off the Lcd
- Lcd.setBrightness(0);
- Lcd.sleep();
-
- // ESP32 into deep sleep
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
-
- while (digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ M5.Power.deepSleep();
}
```
diff --git a/docs/ja/api/power.md b/docs/ja/api/power.md
index b78ac331..8f54dabc 100644
--- a/docs/ja/api/power.md
+++ b/docs/ja/api/power.md
@@ -8,39 +8,39 @@
**説明:**
-電源供給状態を設定します。
+電源供給状態を設定します。
**引数**
-true: 常時供給モードon。
-false: 常時供給モードoff。
+true: 常時供給モードon。
+false: 常時供給モードoff。
**戻り値**
-true: 制御成功。
-false: 制御失敗。
+true: 制御成功。
+false: 制御失敗。
**定義**
```arduino
bool setPowerBoostKeepOn(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_OUT_BIT);
- else Wire.write(data &(~BOOST_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_OUT_BIT);
+ else Wire.write(data &(~BOOST_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -52,39 +52,39 @@ bool setPowerBoostKeepOn(bool en){
**説明:**
-自動シャットダウン無効化機能を設定します。
+自動シャットダウン無効化機能を設定します。
**引数**
-true: 軽負荷時に自動シャットダウンしません。
-false: 軽負荷時に自動シャットダウンします。
+true: 軽負荷時に自動シャットダウンしません。
+false: 軽負荷時に自動シャットダウンします。
**戻り値**
-true: 制御成功。
-false: 制御失敗。
+true: 制御成功。
+false: 制御失敗。
**定義:**
```arduino
bool setKeepLightLoad(bool en) {
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (!en) Wire.write(data | LIGHT_LOAD_BIT);
- else Wire.write(data &(~LIGHT_LOAD_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (!en) Wire.write(data | LIGHT_LOAD_BIT);
+ else Wire.write(data &(~LIGHT_LOAD_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -96,76 +96,77 @@ bool setKeepLightLoad(bool en) {
**説明:**
-充電制御状態を指示します。
-満充電時は、有効→無効→有効とセットすることで再充電ができます。
+充電制御状態を指示します。
+満充電時は、有効→無効→有効とセットすることで再充電ができます。
**引数**
-true: 充電開始指示。
-false: 充電中止指示。
+true: 充電開始指示。
+false: 充電中止指示。
**戻り値**
-true: 制御成功。
-false: 制御失敗。
+true: 制御成功。
+false: 制御失敗。
**定義:**
```arduino
bool POWER::setCharge(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | CHARGE_OUT_BIT);
- else Wire.write(data &(~CHARGE_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | CHARGE_OUT_BIT);
+ else Wire.write(data &(~CHARGE_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
## isChargeFull()
+
**構文:**
bool isChargeFull()
**説明:**
-満充電かを判断します。
+満充電かを判断します。
**引数**
-なし。
+なし。
**戻り値**
-true: 満充電。
-false: 満充電ではない。
+true: 満充電。
+false: 満充電ではない。
**定義:**
```arduino
bool isChargeFull(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ1);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ1);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
@@ -177,7 +178,7 @@ bool isChargeFull(){
**説明:**
-電源コントローラが制御可能かどうかを判断します。
+電源コントローラが制御可能かどうかを判断します。
**引数**
@@ -185,17 +186,17 @@ bool isChargeFull(){
**戻り値**
-true: 電源コントローラーを制御可能。
-false: 電源コントローラーを制御不可能。
+true: 電源コントローラーを制御可能。
+false: 電源コントローラーを制御不可能。
**定義:**
```arduino
bool canControl(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- return(Wire.endTransmission()==0);
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ return(Wire.endTransmission()==0);
}
```
@@ -207,32 +208,32 @@ bool canControl(){
**説明:**
-充電状態かどうかを判断します。
+充電状態かどうかを判断します。
**引数**
-なし。
+なし。
**戻り値**
-true: 充電中。
-false: 充電中ではない。
+true: 充電中。
+false: 充電中ではない。
**定義:**
```arduino
bool isCharging(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
@@ -244,16 +245,16 @@ bool isCharging(){
**説明:**
-バッテリー残量(%)を返します。
+バッテリー残量(%)を返します。
**引数**
-なし
+なし
**戻り値**
-バッテリーレベルを(0-100)の範囲で返します。(単位:%)
-もし残量が確認できる状態になければ-1を返します。
+バッテリーレベルを(0-100)の範囲で返します。(単位:%)
+もし残量が確認できる状態になければ-1を返します。
**定義:**
@@ -282,13 +283,13 @@ int8_t getBatteryLevel() {
**説明:**
-スリープ復帰信号ポートを設定します。
+スリープ復帰信号ポートを設定します。
**定義:**
```arduino
void setWakeupButton(uint8_t button) {
- _wakeupPin = button;
+ _wakeupPin = button;
}
```
@@ -300,13 +301,13 @@ void setWakeupButton(uint8_t button) {
**説明:**
-CPUをリセットします。
+CPUをリセットします。
**定義:**
```arduino
void reset() {
- esp_restart();
+ esp_restart();
}
```
@@ -326,23 +327,23 @@ void reset() {
```arduino
bool batteryMode(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_ENABLE_BIT);
- else Wire.write(data &(~BOOST_ENABLE_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_ENABLE_BIT);
+ else Wire.write(data &(~BOOST_ENABLE_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
-->
@@ -355,28 +356,28 @@ bool batteryMode(bool en){
**説明:**
-deep sleepモードに移行します。
+deep sleepモードに移行します。
**定義:**
```arduino
void deepSleep(){
- #ifdef M5STACK_FIRE
- // Keep power keep boost on
- setPowerBoostKeepOn(true);
- #endif
+ #ifdef M5STACK_FIRE
+ // Keep power keep boost on
+ setPowerBoostKeepOn(true);
+ #endif
- // power off the Lcd
- M5.Lcd.setBrightness(0);
- M5.Lcd.sleep();
+ // power off the Lcd
+ M5.Lcd.setBrightness(0);
+ M5.Lcd.sleep();
- // ESP32 into deep sleep
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
+ // ESP32 into deep sleep
+ esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
- while(digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ while(digitalRead(_wakeupPin) == LOW) {
+ delay(10);
+ }
+ esp_deep_sleep_start();
}
```
diff --git a/docs/ja/api/system.md b/docs/ja/api/system.md
index b2ee7798..4949b5b9 100644
--- a/docs/ja/api/system.md
+++ b/docs/ja/api/system.md
@@ -4,7 +4,7 @@
**説明:**
-LCD、TFカード、シリアルポート、I2Cの有効化/無効化を設定します。
+LCD、TFカード、シリアルポート、I2Cの有効化/無効化を設定します。
**構文:**
@@ -15,54 +15,54 @@ LCD、TFカード、シリアルポート、I2Cの有効化/無効化を設定
```arduino
void M5Stack::begin(bool LCDEnable, bool SDEnable, bool SerialEnable,bool I2CEnable) {
- // Correct init once
- if (isInited) return;
- else isInited = true;
+ // Correct init once
+ if (isInited) return;
+ else isInited = true;
- // UART
- if (SerialEnable) {
- Serial.begin(115200);
- Serial.flush();
- delay(50);
- Serial.print("M5Stack initializing...");
- }
+ // UART
+ if (SerialEnable) {
+ Serial.begin(115200);
+ Serial.flush();
+ delay(50);
+ Serial.print("M5Stack initializing...");
+ }
- // LCD INIT
- if (LCDEnable) {
- Lcd.begin();
- }
+ // LCD INIT
+ if (LCDEnable) {
+ Lcd.begin();
+ }
- // TF Card
- if (SDEnable) {
- SD.begin(TFCARD_CS_PIN, SPI, 40000000);
- }
+ // TF Card
+ if (SDEnable) {
+ SD.begin(TFCARD_CS_PIN, SPI, 40000000);
+ }
- // TONE
- // Speaker.begin();
+ // TONE
+ // Speaker.begin();
- // Set wakeup button
- Power.setWakeupButton(BUTTON_A_PIN);
+ // Set wakeup button
+ Power.setWakeupButton(BUTTON_A_PIN);
- // I2C init
- if(I2CEnable)
- {
- Wire.begin(21, 22);
- }
+ // I2C init
+ if(I2CEnable)
+ {
+ Wire.begin(21, 22);
+ }
- if (SerialEnable) {
- Serial.println("OK");
- }
+ if (SerialEnable) {
+ Serial.println("OK");
+ }
}
void M5Stack::update() {
- //Button update
- BtnA.read();
- BtnB.read();
- BtnC.read();
+ //Button update
+ BtnA.read();
+ BtnB.read();
+ BtnC.read();
- //Speaker update
- Speaker.update();
+ //Speaker update
+ Speaker.update();
}
```
@@ -81,7 +81,7 @@ void setup() {
**説明:**
- ボタン A / B / C の読み取り状態を更新します。
+ ボタン A / B / C の読み取り状態を更新します。
**構文:**
@@ -118,35 +118,21 @@ void loop() {
## powerOFF()
+!> 廃止予定: Power::deepSleep()を使用してください。
+
**構文:**
void powerOFF();
**説明:**
-M5の電源をオフします。
+M5の電源をオフします。
**定義:**
```arduino
void M5Stack::powerOFF() {
-
-#ifdef M5STACK_FIRE
- // 電源ブーストオン
- setPowerBoostKeepOn(true);
-#endif
-
- // 画面オフ
- Lcd.setBrightness(0);
- Lcd.sleep();
-
- // ESP32をディープスリープモードへ移行
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
-
- while (digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ M5.Power.deepSleep();
}
```
diff --git a/docs/zh_CN/api/power.md b/docs/zh_CN/api/power.md
index 9fe163ba..0b69df00 100644
--- a/docs/zh_CN/api/power.md
+++ b/docs/zh_CN/api/power.md
@@ -12,36 +12,35 @@
**参数**
-true: BOOST 常开
-false: BOOST 常闭
+true: BOOST 常开
+false: BOOST 常闭
**返回值**
-true: 控制成功
-false: 控制失败
-
+true: 控制成功
+false: 控制失败
**函数实现**
```arduino
bool setPowerBoostKeepOn(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_OUT_BIT);
- else Wire.write(data &(~BOOST_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_OUT_BIT);
+ else Wire.write(data &(~BOOST_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
#endif
```
@@ -54,39 +53,39 @@ bool setPowerBoostKeepOn(bool en){
**功能:**
-设置自动关机功能。
+设置自动关机功能。
**参数**
-true:当电流消耗低时,不会发生自动关闭
-false:电流消耗低时自动关闭
+true:当电流消耗低时,不会发生自动关闭
+false:电流消耗低时自动关闭
**返回值**
-true: 控制成功
-false: 控制失败
+true: 控制成功
+false: 控制失败
**函数实现**
```arduino
bool setKeepLightLoad(bool en) {
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (!en) Wire.write(data | LIGHT_LOAD_BIT);
- else Wire.write(data &(~LIGHT_LOAD_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (!en) Wire.write(data | LIGHT_LOAD_BIT);
+ else Wire.write(data &(~LIGHT_LOAD_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -99,36 +98,35 @@ bool setKeepLightLoad(bool en) {
**功能:设置充电状态**
-true:充电开始指令
-false:充电停止指令
+true:充电开始指令
+false:充电停止指令
**返回值**
-true: 控制成功
-false: 控制失败
-
+true: 控制成功
+false: 控制失败
**定義:**
```arduino
bool POWER::setCharge(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | CHARGE_OUT_BIT);
- else Wire.write(data &(~CHARGE_OUT_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | CHARGE_OUT_BIT);
+ else Wire.write(data &(~CHARGE_OUT_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
@@ -140,32 +138,32 @@ bool POWER::setCharge(bool en){
**说明:**
-确认完全充电.
+确认完全充电.
**参数**
-无
+无。
**返回值**
-true:完全充电
-false:没有完全充电
+true:完全充电
+false:没有完全充电
**函数实现:**
```arduino
bool isChargeFull(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ1);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ1);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
@@ -177,25 +175,25 @@ bool isChargeFull(){
**功能:**
-确认完全充电
+确认完全充电
**参数**
-无.
+无。
**返回值**
-true: 电源控制器发现
-false:找不到电源控制器
+true: 电源控制器发现
+false:找不到电源控制器
**函数实现:**
```arduino
bool canControl(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- return(Wire.endTransmission()==0);
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ return(Wire.endTransmission()==0);
}
```
@@ -209,30 +207,31 @@ bool canControl(){
**参数**
-无.
+无。
**返回值**
-true: 在充电过程中
-false: 不充电
+true: 在充电过程中
+false: 不充电
**函数实现:**
```arduino
bool isCharging(){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_READ0);
- Wire.endTransmission(false);
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
- if (data & (1 << CHARGE_FULL_BIT)) return true;
- else return false;
- }
- return false;
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_READ0);
+ Wire.endTransmission(false);
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
+ if (data & (1 << CHARGE_FULL_BIT)) return true;
+ else return false;
+ }
+ return false;
}
```
+
## getBatteryLevel()
**函数原型:**
@@ -241,17 +240,16 @@ bool isCharging(){
**功能:**
-返回电池电量
+返回电池电量
**参数**
-无
+无。
**返回值**
-返回0到100范围内的电池电量.(单位:%)
-如果无法检查剩余金额,则返回-1
-
+返回0到100范围内的电池电量.(单位:%)
+如果无法检查剩余金额,则返回-1
**函数实现:**
@@ -272,7 +270,6 @@ int8_t getBatteryLevel() {
}
```
-
## setWakeupButton()
**函数原型:**
@@ -285,7 +282,7 @@ int8_t getBatteryLevel() {
```arduino
void setWakeupButton(uint8_t button) {
- _wakeupPin = button;
+ _wakeupPin = button;
}
```
@@ -301,7 +298,7 @@ void setWakeupButton(uint8_t button) {
```arduino
void reset() {
- esp_restart();
+ esp_restart();
}
```
@@ -319,23 +316,23 @@ void reset() {
```arduino
bool batteryMode(bool en){
- uint8_t data;
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- Wire.endTransmission();
+ uint8_t data;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ Wire.endTransmission();
- if(Wire.requestFrom(IP5306_ADDR, 1))
- {
- data = Wire.read();
+ if(Wire.requestFrom(IP5306_ADDR, 1))
+ {
+ data = Wire.read();
- Wire.beginTransmission(IP5306_ADDR);
- Wire.write(IP5306_REG_SYS_CTL0);
- if (en) Wire.write(data | BOOST_ENABLE_BIT);
- else Wire.write(data &(~BOOST_ENABLE_BIT));
- Wire.endTransmission();
- return true;
- }
- return false;
+ Wire.beginTransmission(IP5306_ADDR);
+ Wire.write(IP5306_REG_SYS_CTL0);
+ if (en) Wire.write(data | BOOST_ENABLE_BIT);
+ else Wire.write(data &(~BOOST_ENABLE_BIT));
+ Wire.endTransmission();
+ return true;
+ }
+ return false;
}
```
-->
@@ -353,21 +350,21 @@ bool batteryMode(bool en){
```arduino
void deepSleep(){
- #ifdef M5STACK_FIRE
- // Keep power keep boost on
- setPowerBoostKeepOn(true);
- #endif
+ #ifdef M5STACK_FIRE
+ // Keep power keep boost on
+ setPowerBoostKeepOn(true);
+ #endif
- // power off the Lcd
- M5.Lcd.setBrightness(0);
- M5.Lcd.sleep();
+ // power off the Lcd
+ M5.Lcd.setBrightness(0);
+ M5.Lcd.sleep();
- // ESP32 into deep sleep
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
+ // ESP32 into deep sleep
+ esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
- while(digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ while(digitalRead(_wakeupPin) == LOW) {
+ delay(10);
+ }
+ esp_deep_sleep_start();
}
```
diff --git a/docs/zh_CN/api/system.md b/docs/zh_CN/api/system.md
index 08d95e83..1a10b10a 100644
--- a/docs/zh_CN/api/system.md
+++ b/docs/zh_CN/api/system.md
@@ -11,62 +11,64 @@
**功能:清串口缓冲区,设置串口波特率为 115200;初始化 LCD;初始化 SD 卡;初始化 I2C;设置按键 A 是睡眠唤醒按键。**
**函数实现**
+
```arduino
void M5Stack::begin(bool LCDEnable, bool SDEnable, bool SerialEnable,bool I2CEnable) {
- // Correct init once
- if (isInited) return;
- else isInited = true;
+ // Correct init once
+ if (isInited) return;
+ else isInited = true;
- // UART
- if (SerialEnable) {
- Serial.begin(115200);
- Serial.flush();
- delay(50);
- Serial.print("M5Stack initializing...");
- }
+ // UART
+ if (SerialEnable) {
+ Serial.begin(115200);
+ Serial.flush();
+ delay(50);
+ Serial.print("M5Stack initializing...");
+ }
- // LCD INIT
- if (LCDEnable) {
- Lcd.begin();
- }
+ // LCD INIT
+ if (LCDEnable) {
+ Lcd.begin();
+ }
- // TF Card
- if (SDEnable) {
- SD.begin(TFCARD_CS_PIN, SPI, 40000000);
- }
+ // TF Card
+ if (SDEnable) {
+ SD.begin(TFCARD_CS_PIN, SPI, 40000000);
+ }
- // TONE
- // Speaker.begin();
+ // TONE
+ // Speaker.begin();
- // Set wakeup button
- Power.setWakeupButton(BUTTON_A_PIN);
+ // Set wakeup button
+ Power.setWakeupButton(BUTTON_A_PIN);
- // I2C init
- if(I2CEnable)
- {
- Wire.begin(21, 22);
- }
+ // I2C init
+ if(I2CEnable)
+ {
+ Wire.begin(21, 22);
+ }
- if (SerialEnable) {
- Serial.println("OK");
- }
+ if (SerialEnable) {
+ Serial.println("OK");
+ }
}
void M5Stack::update() {
- //Button update
- BtnA.read();
- BtnB.read();
- BtnC.read();
+ //Button update
+ BtnA.read();
+ BtnB.read();
+ BtnC.read();
- //Speaker update
- Speaker.update();
+ //Speaker update
+ Speaker.update();
}
```
**例程**
+
```arduino
#include
@@ -86,6 +88,7 @@ void setup() {
**功能:读取按键 A, B, C 的状态。**
**函数实现**
+
```arduino
void M5Stack::update() {
@@ -100,6 +103,7 @@ void M5Stack::update() {
```
**例程**
+
```arduino
#include
@@ -114,6 +118,8 @@ void loop() {
## powerOFF()
+!> 不推荐使用:请使用Power::deepSleep()
+
**函数原型:**
void powerOFF();
@@ -123,29 +129,15 @@ void loop() {
**功能:系统进入深度睡眠状态。**
**函数实现**
+
```arduino
void M5Stack::powerOFF() {
-
-#ifdef M5STACK_FIRE
- // Keep power keep boost on
- setPowerBoostKeepOn(true);
-#endif
-
- // power off the Lcd
- Lcd.setBrightness(0);
- Lcd.sleep();
-
- // ESP32 into deep sleep
- esp_sleep_enable_ext0_wakeup((gpio_num_t)_wakeupPin , LOW);
-
- while (digitalRead(_wakeupPin) == LOW) {
- delay(10);
- }
- esp_deep_sleep_start();
+ M5.Power.deepSleep();
}
```
**例程**
+
```arduino
#include