Initial commit of Arduino libraries
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
* @file PowerDeliveryHUSB238.ino
|
||||
* @author Lewis He (lewishe@outlook.com)
|
||||
* @license MIT
|
||||
* @copyright Copyright (c) 2024 Shenzhen Xin Yuan Electronic Technology Co., Ltd
|
||||
* @date 2024-07-24
|
||||
*
|
||||
*/
|
||||
#include <XPowersLib.h>
|
||||
|
||||
PowerDeliveryHUSB238 pd;
|
||||
|
||||
|
||||
#ifndef CONFIG_PMU_SDA
|
||||
#define CONFIG_PMU_SDA 0
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_PMU_SCL
|
||||
#define CONFIG_PMU_SCL 1
|
||||
#endif
|
||||
|
||||
const uint8_t i2c_sda = CONFIG_PMU_SDA;
|
||||
const uint8_t i2c_scl = CONFIG_PMU_SCL;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
while (!Serial);
|
||||
bool result = pd.init(Wire, i2c_sda, i2c_scl, HUSB238_SLAVE_ADDRESS);
|
||||
if (result == false) {
|
||||
while (1) {
|
||||
Serial.println("USB Power Delivery controller not online...");
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void loop()
|
||||
{
|
||||
Serial.print("PD Voltage:"); Serial.print(pd.getPdVoltage()); Serial.print(" V");
|
||||
Serial.print(" Current: "); Serial.print(pd.getPdCurrent()); Serial.println(" A");
|
||||
|
||||
PowerDeliveryHUSB238::PD_Status status = pd.status();
|
||||
Serial.print("USB Power Delivery Status : ");
|
||||
switch (status) {
|
||||
case PowerDeliveryHUSB238::NO_RESPONSE:
|
||||
Serial.println("no response");
|
||||
break;
|
||||
case PowerDeliveryHUSB238::SUCCESS:
|
||||
Serial.println("success");
|
||||
break;
|
||||
case PowerDeliveryHUSB238::INVALID_CMD:
|
||||
Serial.println("invalid command");
|
||||
break;
|
||||
case PowerDeliveryHUSB238::NOT_SUPPORT:
|
||||
Serial.println("not support");
|
||||
break;
|
||||
case PowerDeliveryHUSB238::TRANSACTION_FAIL:
|
||||
Serial.println("transaction failed");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user