請先看『使用說明』
Battery Develop Utility under Windows
From LEXWiKi
(→How to use DLL) |
(→The binary file you can download from) |
||
(9 intermediate revisions not shown.) | |||
Line 21: | Line 21: | ||
Sample binary file(64 bit): [https://drive.google.com/file/d/1C8pfA5wB1D_T-v6lb7jLrxfPCvxVc4fn/view?usp=sharing GPIO_DLL_SAMPLE_Bin_v1.0.3.5_x64] | Sample binary file(64 bit): [https://drive.google.com/file/d/1C8pfA5wB1D_T-v6lb7jLrxfPCvxVc4fn/view?usp=sharing GPIO_DLL_SAMPLE_Bin_v1.0.3.5_x64] | ||
- | + | --> | |
<FTP> | <FTP> | ||
- | DLL file(64 bit): [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/ | + | DLL file(64 bit): [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/PW_Utility_DLL/PW_Utility_DLL_v2.5.22.51_x64.zip PW_Utility_DLL_v2.5.22.51_x64] |
- | Sample source file(64 bit): [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/ | + | Sample source file(64 bit): [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/PW_Utility_DLL/PWUtilityDll_Sample_Src.zip PWUtilityDll_Sample_Src] |
- | Sample binary code: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/ | + | Sample binary code: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/PW_Utility_DLL/PWUtilityDll_Sample_Bin_x64.zip PWUtilityDll_Sample_Bin_x64] |
- | + | ||
+ | DLL User Guide: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/PW_Utility_DLL/PWUtilityDll_Guide.zip PWUtilityDll_Guide] | ||
== DLL files descreption == | == DLL files descreption == | ||
Line 70: | Line 71: | ||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||
PWUTILITYDLL_API int PW_InstallPwModule(int nModule); | PWUTILITYDLL_API int PW_InstallPwModule(int nModule); | ||
+ | |||
+ | Example : | ||
+ | if( PW_InstallPwModule(PW_MODULE_PW407) == TRUE ) | ||
+ | TRACE(_T("Initial module resource succeed. \n")); | ||
+ | else | ||
+ | TRACE(_T("Initial module resource failed! \n")); | ||
Line 84: | Line 91: | ||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||
PWUTILITYDLL_API int PW_CheckPWModuleExist(int nModule); | PWUTILITYDLL_API int PW_CheckPWModuleExist(int nModule); | ||
+ | |||
+ | Example : | ||
+ | if( PW_CheckPwModuleExist(PW_MODULE_PW407) == TRUE ) | ||
+ | TRACE(_T("Specific PW module device exist. \n")); | ||
+ | else | ||
+ | TRACE(_T("Specific PW module device do not exist \n")); | ||
'''*Step4.''' If power board module initialize succeed, you could call PW_GetBatteryAllInfo() to get based battery information at the power board.<br /> | '''*Step4.''' If power board module initialize succeed, you could call PW_GetBatteryAllInfo() to get based battery information at the power board.<br /> | ||
+ | |||
+ | '''BT_CHARGE_STATUS_E''' defined in '''PWUtilityDll.h'''<br /> | ||
+ | |||
+ | enum BT_CHARGE_STATUS_E | ||
+ | { | ||
+ | BT_CHARGE_STATUS_NONE = 0, | ||
+ | BT_CHARGE_STATUS_CHARGE, | ||
+ | BT_CHARGE_STATUS_DISCHARGE, | ||
+ | BT_CHARGE_STATUS_FULL_CHARGE, | ||
+ | }; | ||
'''BATTERY_INFO_ST''' structure content please refer to '''PWUtilityDll DLL Function Guide'''<br /> | '''BATTERY_INFO_ST''' structure content please refer to '''PWUtilityDll DLL Function Guide'''<br /> | ||
Line 92: | Line 115: | ||
typedef struct _BATTERY_INFO_ST | typedef struct _BATTERY_INFO_ST | ||
{ | { | ||
- | int nBtExist; | + | int nBtExist; //Battery is connected or not |
- | TCHAR tcBatteryName[32]; | + | TCHAR tcBatteryName[32]; //Power board module name |
- | int nPwModule; | + | int nPwModule; //Power board module, Enum of PW_MODULE_E |
- | int nChargeStatus; | + | int nChargeStatus; //Battery chare status, Enum of BT_CHARGE_STATUS_E |
- | LONGLONG llTimestampSec; | + | LONGLONG llTimestampSec; //The system time point at which the information is obtained, (seconds since Jan 1, 1970). |
- | float fTemperature; | + | float fTemperature; //Battery temperature, (Unit: Kelvin) |
- | float fCurrent; | + | float fCurrent; //Battery current (Unit: mA) |
- | float fVoltage; | + | float fVoltage; //Battery voltage (Unit: mV) |
- | float fOutputVoltage; | + | float fOutputVoltage; //Battery output voltage (Unit: mV) (PW601 Only) |
- | int nChargePercent; | + | int nChargePercent; //Left capacity of battery (Unit: %) |
- | long lBtLeftMins; | + | long lBtLeftMins; //Alive time of battery (Unit: Minute). If battery is charging, left time value is '0xFFFF'. |
long lWarnBits; | long lWarnBits; | ||
- | int nCycleCount; | + | int nCycleCount; //Battery cycle count |
int nIsShutdown; | int nIsShutdown; | ||
long lBatteryStatus; | long lBatteryStatus; | ||
Line 128: | Line 151: | ||
- | '''*Step5.''' If you want to get | + | '''*Step5.''' If you want to get individual information about the battery, call the corresponding function.<br /> |
+ | All function content and sample please refer to '''PWUtilityDll DLL Function Guide'''<br /> | ||
- | + | Example : | |
- | + | //------------------------------------------------------------------------------ | |
- | + | // Name : PW_GetBatteryCurrentInfo | |
- | + | // Description : Get current of battery information | |
- | + | ||
- | //-------------------------------------------------------------------------- | + | |
- | // Name : | + | |
- | // Description : | + | |
// Arguments : | // Arguments : | ||
- | // nModule [in] : | + | // nModule [in] : PW module |
- | // | + | // fCurrent [out] : Battery current |
- | + | ||
// Return : | // Return : | ||
// TRUE : Success | // TRUE : Success | ||
// FALSE : Failed | // FALSE : Failed | ||
- | //-------------------------------------------------------------------------- | + | //------------------------------------------------------------------------------ |
- | + | PWUTILITYDLL_API int PW_GetBatteryCurrentInfo(int nModule, float &fCurrent); | |
- | + | ||
- | + | //------------------------------------------------------------------------------ | |
- | + | // Name : PW_GetBatteryVoltageInfo | |
- | //-------------------------------------------------------------------------- | + | // Description : Get voltage of battery information |
- | // Name : | + | |
- | // Description : Get | + | |
// Arguments : | // Arguments : | ||
- | // nModule | + | // nModule [in] : PW module |
- | // | + | // fVoltage [out] : Battery voltage (Unit: mV) |
// Return : | // Return : | ||
// TRUE : Success | // TRUE : Success | ||
// FALSE : Failed | // FALSE : Failed | ||
- | //-------------------------------------------------------------------------- | + | //------------------------------------------------------------------------------ |
- | + | PWUTILITYDLL_API int PW_GetBatteryVoltageInfo(int nModule, float &fVoltage); | |
- | + | '''*Final Step.''' Release power board resource before leaving your program. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | '''*Final Step.''' Release | + | |
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||
- | // Name : | + | // Name : PW_FreePwModule |
- | // Description : | + | // Description : Release PW module resource |
// Arguments : | // Arguments : | ||
- | // nModule [in] : | + | // nModule [in] : PW module. Enum of PW_MODULE_E. |
// Return : | // Return : | ||
// TRUE : Success | // TRUE : Success | ||
// FALSE : Failed | // FALSE : Failed | ||
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ | ||
- | + | PWUTILITYDLL_API int PW_FreePwModule(int nModule); | |
+ | |||
+ | Example : | ||
+ | if( PW_FreePwModule(PW_MODULE_PW407) == TRUE ) | ||
+ | TRACE(_T("Release module resource succeed. \n")); | ||
+ | else | ||
+ | TRACE(_T("Release module resource failed! \n")); |
Current revision
Contents |
Introduction
Power Board Develop Utility can help you to develop tool to control LEX power board device.
Support power board module
PW405、PW407、PW601.
The binary file you can download from
<FTP>
DLL file(64 bit): PW_Utility_DLL_v2.5.22.51_x64
Sample source file(64 bit): PWUtilityDll_Sample_Src
Sample binary code: PWUtilityDll_Sample_Bin_x64
DLL User Guide: PWUtilityDll_Guide
DLL files descreption
PWUtilityDll.dll: Contains code and data about PWUtilityDll function.
PWUtilityDll.h: Header about PWUtilityDll function.
PWUtilityDll.lib: Import library that link to PWUtilityDll.dll.
LexIo64.dll、LexIo64.sys: Based on WinIO that provids DLL to read hardware data. For x64.
How to use DLL
*Step1. Unzip DLL zip file and put files to your program.
*Step2. Initialize power board module resource.
PW_MODULE_E defined in PWUtilityDll.h
enum PW_MODULE_E { PW_MODULE_PW405 = 0, PW_MODULE_PW407, PW_MODULE_PW601, PW_MODULE_NUM, //Used to record the number of modules };
//------------------------------------------------------------------------------ // Name : PW_InstallPwModule // Description : Initial PW module resource // Arguments : // nModule [in] : PW module. Enum of PW_MODULE_E. // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_InstallPwModule(int nModule);
Example :
if( PW_InstallPwModule(PW_MODULE_PW407) == TRUE ) TRACE(_T("Initial module resource succeed. \n")); else TRACE(_T("Initial module resource failed! \n"));
*Step3. If power board module initialize succeed, you could call PW_CheckPWModuleExist() to check device is still exist or not.
//------------------------------------------------------------------------------ // Name : PW_CheckPWModuleExist // Description : Check specific PW module exist or not. // Arguments : // nModule [in] : PW module. Enum of PW_MODULE_E. // Return : // TRUE : PW module exist // FALSE : PW module does not exist //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_CheckPWModuleExist(int nModule);
Example :
if( PW_CheckPwModuleExist(PW_MODULE_PW407) == TRUE ) TRACE(_T("Specific PW module device exist. \n")); else TRACE(_T("Specific PW module device do not exist \n"));
*Step4. If power board module initialize succeed, you could call PW_GetBatteryAllInfo() to get based battery information at the power board.
BT_CHARGE_STATUS_E defined in PWUtilityDll.h
enum BT_CHARGE_STATUS_E { BT_CHARGE_STATUS_NONE = 0, BT_CHARGE_STATUS_CHARGE, BT_CHARGE_STATUS_DISCHARGE, BT_CHARGE_STATUS_FULL_CHARGE, };
BATTERY_INFO_ST structure content please refer to PWUtilityDll DLL Function Guide
typedef struct _BATTERY_INFO_ST { int nBtExist; //Battery is connected or not TCHAR tcBatteryName[32]; //Power board module name int nPwModule; //Power board module, Enum of PW_MODULE_E int nChargeStatus; //Battery chare status, Enum of BT_CHARGE_STATUS_E LONGLONG llTimestampSec; //The system time point at which the information is obtained, (seconds since Jan 1, 1970). float fTemperature; //Battery temperature, (Unit: Kelvin) float fCurrent; //Battery current (Unit: mA) float fVoltage; //Battery voltage (Unit: mV) float fOutputVoltage; //Battery output voltage (Unit: mV) (PW601 Only) int nChargePercent; //Left capacity of battery (Unit: %) long lBtLeftMins; //Alive time of battery (Unit: Minute). If battery is charging, left time value is '0xFFFF'. long lWarnBits; int nCycleCount; //Battery cycle count int nIsShutdown; long lBatteryStatus; long lSafetyStatus; long lSafetyAlert; long lGaugingStatus; long lOperationStatus; long lPFStatus; long lPFAlert; } BATTERY_INFO_ST;
//------------------------------------------------------------------------------ // Name : PW_GetBatteryAllInfo // Description : Get All of battery information // Arguments : // nModule [in] : PW module // pValStruct [out] : Battery information structure. (BATTERY_INFO_ST) // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_GetBatteryAllInfo(int nModule, void* pValStruct);
*Step5. If you want to get individual information about the battery, call the corresponding function.
All function content and sample please refer to PWUtilityDll DLL Function Guide
Example :
//------------------------------------------------------------------------------ // Name : PW_GetBatteryCurrentInfo // Description : Get current of battery information // Arguments : // nModule [in] : PW module // fCurrent [out] : Battery current // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_GetBatteryCurrentInfo(int nModule, float &fCurrent);
//------------------------------------------------------------------------------ // Name : PW_GetBatteryVoltageInfo // Description : Get voltage of battery information // Arguments : // nModule [in] : PW module // fVoltage [out] : Battery voltage (Unit: mV) // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_GetBatteryVoltageInfo(int nModule, float &fVoltage);
*Final Step. Release power board resource before leaving your program.
//------------------------------------------------------------------------------ // Name : PW_FreePwModule // Description : Release PW module resource // Arguments : // nModule [in] : PW module. Enum of PW_MODULE_E. // Return : // TRUE : Success // FALSE : Failed //------------------------------------------------------------------------------ PWUTILITYDLL_API int PW_FreePwModule(int nModule);
Example :
if( PW_FreePwModule(PW_MODULE_PW407) == TRUE ) TRACE(_T("Release module resource succeed. \n")); else TRACE(_T("Release module resource failed! \n"));