mirror of
https://github.com/m5stack/m5-docs.git
synced 2026-05-20 10:23:01 -07:00
update api docs zh_cn en ja
This commit is contained in:
+140
-141
@@ -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();
|
||||
}
|
||||
```
|
||||
|
||||
+39
-53
@@ -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:**
|
||||
|
||||
<mark>void powerOFF();</mark>
|
||||
@@ -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();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
+136
-135
@@ -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()
|
||||
|
||||
**構文:**
|
||||
|
||||
<mark>bool isChargeFull()</mark>
|
||||
|
||||
**説明:**
|
||||
|
||||
満充電かを判断します。
|
||||
満充電かを判断します。
|
||||
|
||||
**引数**
|
||||
|
||||
なし。
|
||||
なし。
|
||||
|
||||
**戻り値**
|
||||
|
||||
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();
|
||||
}
|
||||
```
|
||||
|
||||
+42
-56
@@ -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()を使用してください。
|
||||
|
||||
**構文:**
|
||||
|
||||
<mark>void powerOFF();</mark>
|
||||
|
||||
**説明:**
|
||||
|
||||
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();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
+130
-133
@@ -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();
|
||||
}
|
||||
```
|
||||
|
||||
+45
-53
@@ -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 <M5Stack.h>
|
||||
|
||||
@@ -86,6 +88,7 @@ void setup() {
|
||||
**功能:读取按键 A, B, C 的状态。**
|
||||
|
||||
**函数实现**
|
||||
|
||||
```arduino
|
||||
void M5Stack::update() {
|
||||
|
||||
@@ -100,6 +103,7 @@ void M5Stack::update() {
|
||||
```
|
||||
|
||||
**例程**
|
||||
|
||||
```arduino
|
||||
#include <M5Stack.h>
|
||||
|
||||
@@ -114,6 +118,8 @@ void loop() {
|
||||
|
||||
## powerOFF()
|
||||
|
||||
!> 不推荐使用:请使用Power::deepSleep()
|
||||
|
||||
**函数原型:**
|
||||
|
||||
<mark>void powerOFF();</mark>
|
||||
@@ -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 <M5Stack.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user