請先看『使用說明』
CPC Utility under Windows
From LEXWiKi
(Difference between revisions)
(→Setting OS Delay Off) |
(→CPC Utility Download) |
||
(42 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | == | + | [[Category:AllowPages]] |
- | + | == CPC Utility Download == | |
- | + | ||
- | + | ||
- | + | ||
+ | <Google Drive> | ||
+ | |||
+ | Source file:[https://drive.google.com/file/d/1aDpIPuPFbi35Uvw6HZjio5_cf0c9Iw23/view?usp=sharing CPC_Utility_v2.0.0.0w_Src] | ||
+ | |||
+ | Binary file:[https://drive.google.com/file/d/1dz6wxMsVanI-Us-S0dfBVMxPsqi6EfcC/view?usp=sharing CPC_Utility_v2.0.0.0w_Bin_x86] | ||
+ | [https://drive.google.com/file/d/1bnt-doDu2RrykI9D6XIowOTAmhdOaDZs/view?usp=sharing CPC_Utility_v2.0.0.0w_Bin_x64] | ||
+ | |||
+ | |||
+ | <FTP> | ||
+ | |||
+ | Source file:[ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/CPC_Utility/Windows/CPC_Utility_v1.6w_Src.zip CPC_Utility_v1.6w_Src] | ||
+ | |||
+ | Binary file:[ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/CPC_Utility/Windows/CPC_Utility_v1.6w_Bin(32bit).zip CPC_Utility_v1.6w_Bin_x86] | ||
+ | [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/CPC_Utility/Windows/CPC_Utility_v1.6w_Bin(64bit).zip CPC_Utility_v1.6w_Bin_x64] | ||
== How to Use The Utility == | == How to Use The Utility == | ||
+ | |||
+ | If you want to use CPC , please use the System administrator privileges | ||
+ | |||
+ | === Before use CPC Utility === | ||
+ | |||
+ | Before use CPC ,you need to setting your system power | ||
+ | |||
+ | Default your power option When I press the power butoon Shut down : Shut down | ||
+ | |||
+ | [[Image:CPC windows Setting.JPG]] | ||
+ | |||
=== CPC Utility Main Window === | === CPC Utility Main Window === | ||
[[Image:CPC_Utility.png]]<br /> | [[Image:CPC_Utility.png]]<br /> | ||
Line 18: | Line 40: | ||
:<font color=#FF0000>* If disable "under low voltage detect", battery type will be hidden.</font><br /> | :<font color=#FF0000>* If disable "under low voltage detect", battery type will be hidden.</font><br /> | ||
;7. Start Button: Press this button will start to monitor and show battery information on utility main window.<br /> | ;7. Start Button: Press this button will start to monitor and show battery information on utility main window.<br /> | ||
- | :<font color=#FF0000>* Kindly notice that you have to set '''I<sup>2</sup>C Address | + | :<font color=#FF0000>* Kindly notice that you have to set '''I<sup>2</sup>C Address''' in setting window before starting to monitor.</font><br /> |
<br /> | <br /> | ||
=== CPC Utility Setting Window === | === CPC Utility Setting Window === | ||
- | [[Image:CPC_Setting1. | + | [[Image:CPC_Setting1.jpg]]<br /> |
<br /> | <br /> | ||
- | ;1. I<sup>2</sup>C Address<br /> | + | ;1. I<sup>2</sup>C Address: Default is "B6".<br /> |
;2. Submit Button: Press this button when finish selecting I<sup>2</sup>C address, then CPC Basic Setting section and CPC Monitor Setting section will be enable to set(like the picture below).<br /> | ;2. Submit Button: Press this button when finish selecting I<sup>2</sup>C address, then CPC Basic Setting section and CPC Monitor Setting section will be enable to set(like the picture below).<br /> | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
- | [[Image:CPC_Setting2. | + | [[Image:CPC_Setting2.jpg]]<br /> |
;3. Delay Main Power On: Set delay time which CPC turn on computer .<br /> | ;3. Delay Main Power On: Set delay time which CPC turn on computer .<br /> | ||
;4. OS Delay Off: Set delay time which CPC turn off computer.<br /> | ;4. OS Delay Off: Set delay time which CPC turn off computer.<br /> | ||
Line 38: | Line 60: | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
- | [[Image:CPC_Setting3. | + | [[Image:CPC_Setting3.jpg]]<br /> |
;9. Reset Button: Press the button to enable CPC basic setting section and set again.<br /> | ;9. Reset Button: Press the button to enable CPC basic setting section and set again.<br /> | ||
;10. Recent Battery Value Check Frequency: The value is check frequency when starting to monitor.<br /> | ;10. Recent Battery Value Check Frequency: The value is check frequency when starting to monitor.<br /> | ||
Line 83: | Line 105: | ||
== Introdution(Part of Setting) == | == Introdution(Part of Setting) == | ||
+ | |||
+ | *Parts of yellow block in below tables are registers' default value. | ||
=== Setting Main Power On === | === Setting Main Power On === | ||
Line 101: | Line 125: | ||
bValue=90; //option of "infinite", have to write ascii code "Z" to register | bValue=90; //option of "infinite", have to write ascii code "Z" to register | ||
else | else | ||
- | bValue=OptionToASCII(bValue) | + | bValue=OptionToASCII(bValue); |
WriteI2CByte(SlavAddr,0x15,bValue); | WriteI2CByte(SlavAddr,0x15,bValue); | ||
} | } | ||
Line 111: | Line 135: | ||
void SettingPowerOff(BYTE SlavAddr,BYTE bValue) | void SettingPowerOff(BYTE SlavAddr,BYTE bValue) | ||
{ | { | ||
- | bValue=OptionToASCII(bValue) | + | bValue=OptionToASCII(bValue); |
WriteI2CByte(SlavAddr,0x17,bValue); | WriteI2CByte(SlavAddr,0x17,bValue); | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:Main_Power_Off.png]] | ||
=== Setting Low Voltage Level === | === Setting Low Voltage Level === | ||
Line 124: | Line 149: | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:Low_Voltage.png]] | ||
=== Setting Battery Type === | === Setting Battery Type === | ||
Line 142: | Line 168: | ||
} | } | ||
</PRE> | </PRE> | ||
- | |||
== Introdution(Part of Read) == | == Introdution(Part of Read) == | ||
- | |||
- | === Convert Voltage === | ||
- | <PRE> | ||
- | void VoltageConvert(float &Voltage) | ||
- | { | ||
- | Voltage=Voltage*4/1023*3.3*10; | ||
- | } | ||
- | </PRE> | ||
=== Read Power On === | === Read Power On === | ||
Line 161: | Line 178: | ||
Data=ReadI2CByte(SlavAddr,0x12); | Data=ReadI2CByte(SlavAddr,0x12); | ||
- | Data=ASCIIToOption(Data) | + | Data=ASCIIToOption(Data); |
return Data; | return Data; | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:Setting_Power_On.png]] | ||
=== Read OS Delay Off === | === Read OS Delay Off === | ||
Line 174: | Line 192: | ||
Data=ReadI2CByte(SlavAddr,0x15); | Data=ReadI2CByte(SlavAddr,0x15); | ||
- | Data=ASCIIToOption(Data) | + | Data=ASCIIToOption(Data); |
return Data; | return Data; | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:OS_Delay_Off.png]] | ||
=== Read Power Off === | === Read Power Off === | ||
Line 192: | Line 211: | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:Main_Power_Off.png]] | ||
=== Read Low Voltage === | === Read Low Voltage === | ||
Line 205: | Line 225: | ||
} | } | ||
</PRE> | </PRE> | ||
+ | [[Image:Low_Voltage.png]] | ||
=== Read Battery Type === | === Read Battery Type === | ||
Line 246: | Line 267: | ||
return iAccStatus; | return iAccStatus; | ||
+ | } | ||
+ | </PRE> | ||
+ | |||
+ | === Convert Voltage === | ||
+ | <PRE> | ||
+ | void VoltageConvert(float &Voltage) | ||
+ | { | ||
+ | Voltage=Voltage*4/1023*3.3*10; | ||
} | } | ||
</PRE> | </PRE> | ||
Line 282: | Line 311: | ||
Data=ReadI2CByte(SlavAddr,0x32); | Data=ReadI2CByte(SlavAddr,0x32); | ||
- | Data=(Data>>1) & 0x01; | + | Data=(Data>>1) & 0x01; //Auto mode: 0x0. Manual mode:0x1 |
return Data; | return Data; | ||
Line 295: | Line 324: | ||
Data=ReadI2CByte(SlavAddr,0x32); | Data=ReadI2CByte(SlavAddr,0x32); | ||
- | Data=(Data>>4) & 0x01; | + | Data=(Data>>4) & 0x01; //ACC Low: 0x0. ACC High: 0x1 |
return Data; | return Data; | ||
} | } | ||
</PRE> | </PRE> |
Current revision
Contents |
CPC Utility Download
<Google Drive>
Source file:CPC_Utility_v2.0.0.0w_Src
Binary file:CPC_Utility_v2.0.0.0w_Bin_x86 CPC_Utility_v2.0.0.0w_Bin_x64
<FTP>
Source file:CPC_Utility_v1.6w_Src
Binary file:CPC_Utility_v1.6w_Bin_x86 CPC_Utility_v1.6w_Bin_x64
How to Use The Utility
If you want to use CPC , please use the System administrator privileges
Before use CPC Utility
Before use CPC ,you need to setting your system power
Default your power option When I press the power butoon Shut down : Shut down
CPC Utility Main Window
- 1. Setting Button
- Open "Setting Window".
- 2. Battery Setting Button
- Open "Battery Setting Window".
- * Kindly notice that you have to set I2C Address in setting window before open battery setting window.
- 3. Recently Voltage Value
- Utility will detect the recent voltage value and show in the edit box when start to monitor.
- 4. Period Voltage Value
- Utility will detect and show the period voltage value when start "under low voltage detect". If "under low voltage detect" doesn't execute, period voltage value will be hidden.
- 5. Operation Mode
- 6. Battery Type
- Show the battery type you set.
- * If disable "under low voltage detect", battery type will be hidden.
- 7. Start Button
- Press this button will start to monitor and show battery information on utility main window.
- * Kindly notice that you have to set I2C Address in setting window before starting to monitor.
CPC Utility Setting Window
- 1. I2C Address
- Default is "B6".
- 2. Submit Button
- Press this button when finish selecting I2C address, then CPC Basic Setting section and CPC Monitor Setting section will be enable to set(like the picture below).
- 3. Delay Main Power On
- Set delay time which CPC turn on computer .
- 4. OS Delay Off
- Set delay time which CPC turn off computer.
- 5. Main Power Delay
- Set delay time of power supply after computer is turned off.
- 6. Load Default Button
- Press thie button will load default value of CPC basic setting section.
- * In CPC basic setting section, the initial value are read from registers.
- 7. Read Register Button
- Press this button will read the value from register.
- 8. Set Button
- Press this button to set when finish selecting what you want to set in CPC basic setting section. After press the button, CPC basic setting section will be disable.
- 9. Reset Button
- Press the button to enable CPC basic setting section and set again.
- 10. Recent Battery Value Check Frequency
- The value is check frequency when starting to monitor.
- * The range of check frequency is between 5 to 60 seconds.
- 11. Start on Boot
- If enable this function, the utility will execute when the OS boot.
- 12. Confirm Button
- If finish to set CPC Monitor Setting section, press this button and the information will be set.
- 13. Cancel Button
CPC Utility Battery Setting Window
- 1. Disable Under Low Voltage Detect
- If select this option, you don't have to set other things in the battery setting window. Besides, Period Voltage and Battery Type are also be hidden in main window when starting to monitor.
- 2. Battery Type
- 3. Submit Button
- If finish to select battery type, then press it to set and enable other options below(like the picture below).
- 4. Battery Low Voltage
- Set a voltage value as a criteria. If CPC detect the period voltage value is smaller than this criteria ten times, computer will be turned off.
- 5. ACC Active
- Set time to detect under low voltage.
- 6. Under Low Voltage Warning
- Show a warning message when period voltage is smaller than battery low voltage you set.
- 7. Read Register Button
- Press this button will read the value from register
- * In CPC battery setting window, the initial value are read from registers.
- 8. Confirm Button
- If finish to set CPC Battery Setting section, press this button and the information will be set.
- 9. Cancel Button
Introdution(Part of Define macro)
//Battery Type #define Battery_12V 0x11 #define Battery_24V 0x22 #define Battery_None 0xFF //ACC Status #define ACC_Low 0x11 #define ACC_High 0x22 //General #define OptionToASCII(x) x+65 #define ASCIIToOption(x) x-65
Introdution(Part of Setting)
- Parts of yellow block in below tables are registers' default value.
Setting Main Power On
void SettingPowerOn(BYTE SlavAddr,BYTE bValue) { bValue=OptionToASCII(bValue); WriteI2CByte(SlavAddr,0x12,bValue); }
Setting OS Delay Off
void SettingOSDelayOff(BYTE SlavAddr,BYTE bValue) { if(bValue==17) bValue=90; //option of "infinite", have to write ascii code "Z" to register else bValue=OptionToASCII(bValue); WriteI2CByte(SlavAddr,0x15,bValue); }
Setting Power Off
void SettingPowerOff(BYTE SlavAddr,BYTE bValue) { bValue=OptionToASCII(bValue); WriteI2CByte(SlavAddr,0x17,bValue); }
Setting Low Voltage Level
void SettingLowVoltage(BYTE SlavAddr,BYTE bValue) { bValue=OptionToASCII(bValue); WriteI2CByte(SlavAddr,0x19,bValue); }
Setting Battery Type
void SettingBatteryType(BYTE SlavAddr,BYTE bBatteryType) { bBatteryType=(bBatteryType)?Battery_24V:Battery_12V; WriteI2CByte(SlavAddr,0x1A,bBatteryType); }
Setting Low Voltage Detect
void SettingLowVoltDetect(BYTE SlavAddr,BYTE bAccStatus) { bAccStatus=(bAccStatus)?ACC_High:ACC_Low; WriteI2CByte(SlavAddr,0x1B,bAccStatus); }
Introdution(Part of Read)
Read Power On
int ReadPowerOn(BYTE SlavAddr) { int Data; Data=ReadI2CByte(SlavAddr,0x12); Data=ASCIIToOption(Data); return Data; }
Read OS Delay Off
int ReadOSDelayOff(BYTE SlavAddr) { int Data; Data=ReadI2CByte(SlavAddr,0x15); Data=ASCIIToOption(Data); return Data; }
Read Power Off
int ReadPowerOff(BYTE SlavAddr) { int Data; Data=ReadI2CByte(SlavAddr,0x17); Data=ASCIIToOption(Data)-1; //remove the option of A return Data; }
Read Low Voltage
int ReadLowVoltage(BYTE SlavAddr) { int Data; Data=ReadI2CByte(SlavAddr,0x19); Data=ASCIIToOption(Data); return Data; }
Read Battery Type
int ReadBatteryType(BYTE SlavAddr) { int iBatteryType; iBatteryType=ReadI2CByte(SlavAddr,0x1A); switch(iBatteryType) { case Battery_12V: { iBatteryType=0; break; } case Battery_24V: { iBatteryType=1; break; } default: { iBatteryType=-1; break; } } return iBatteryType; }
ReadLowVoltDetectTiming
int ReadLowVoltDetectTiming(BYTE SlavAddr) { int iAccStatus; iAccStatus=ReadI2CByte(SlavAddr,0x1B); iAccStatus=(iAccStatus==ACC_Low)?0:1; return iAccStatus; }
Convert Voltage
void VoltageConvert(float &Voltage) { Voltage=Voltage*4/1023*3.3*10; }
Read Instant AD Value
float ReadInstantADValue(BYTE SlavAddr) { float Data; Data=(float)ReadI2CByte(SlavAddr,0x30); VoltageConvert(Data); return Data; }
Read Period AD Value
float ReadPeriodADValue(BYTE SlavAddr) { float Data; Data=(float)ReadI2CByte(SlavAddr,0x31); VoltageConvert(Data); return Data; }
ReadOperationMode
BYTE ReadOperationMode(BYTE SlavAddr) //ReadDIP_SWSetting bit1 { BYTE Data; Data=ReadI2CByte(SlavAddr,0x32); Data=(Data>>1) & 0x01; //Auto mode: 0x0. Manual mode:0x1 return Data; }
Read ACC Status
BYTE ReadAccStatus(BYTE SlavAddr) //ReadDIP_SWSetting bit4 { BYTE Data; Data=ReadI2CByte(SlavAddr,0x32); Data=(Data>>4) & 0x01; //ACC Low: 0x0. ACC High: 0x1 return Data; }