Initial commit of Arduino libraries
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* @file SY6970_Shutdown_Example.ino
|
||||
* @author Lewis He (lewishe@outlook.com)
|
||||
* @license MIT
|
||||
* @copyright Copyright (c) 2024 Shenzhen Xin Yuan Electronic Technology Co., Ltd
|
||||
* @date 2024-05-23
|
||||
*
|
||||
*/
|
||||
#define XPOWERS_CHIP_SY6970
|
||||
|
||||
#include <XPowersLib.h>
|
||||
|
||||
XPowersPPM PPM;
|
||||
|
||||
|
||||
#ifndef CONFIG_PMU_SDA
|
||||
#define CONFIG_PMU_SDA 0
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_PMU_SCL
|
||||
#define CONFIG_PMU_SCL 1
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_PMU_IRQ
|
||||
#define CONFIG_PMU_IRQ 28
|
||||
#endif
|
||||
|
||||
const uint8_t i2c_sda = CONFIG_PMU_SDA;
|
||||
const uint8_t i2c_scl = CONFIG_PMU_SCL;
|
||||
const uint8_t pmu_irq_pin = CONFIG_PMU_IRQ;
|
||||
uint32_t cycleInterval;
|
||||
uint32_t countdown = 10;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
while (!Serial);
|
||||
|
||||
bool result = PPM.init(Wire, i2c_sda, i2c_scl, SY6970_SLAVE_ADDRESS);
|
||||
if (result == false) {
|
||||
while (1) {
|
||||
Serial.println("PPM is not online...");
|
||||
delay(50);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
if (millis() > cycleInterval) {
|
||||
Serial.printf("%d\n", countdown);
|
||||
if (!(countdown--)) {
|
||||
Serial.println("Shutdown .....");
|
||||
// The shutdown function can only be used when the battery is connected alone,
|
||||
// and cannot be shut down when connected to USB.
|
||||
// It can only be powered on in the following two ways:
|
||||
// 1. Press the /QON button
|
||||
// 2. Connect to USB
|
||||
PPM.shutdown();
|
||||
countdown = 10000;
|
||||
}
|
||||
cycleInterval = millis() + 1000;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user