請先看『使用說明』
DPC Module:DPC Console under Linux
From LEXWiKi
Contents |
The Sample code source you can download form
Binary file:
???DPCv4.2.2W_bin.zip
???DPC_LightSensor_4.2.2W_bin.zip
How to compile source code
- Compile source code with Code::Blocks.
- Download and install the Code::Block with command "apt-get install codeblocks".
- Open an exist project(DPC_Console.cbp) in Code::Blocks, click the compile button.
- Download and install the Code::Block with command "apt-get install codeblocks".
- Compile source code with "make"
- cd DPC_Console
- key in command "make".
- Select panel what you try to adjust with command "-t". Ex: Select 200 Hz with command "-d0".
- cd DPC_Console
Before you make it, you need to install : "make" "make-guile" "pkg-config" "gcc" "gtk2.0"
How to use the DPC console application
- Install resource before execute application. ".\install.sh"
- Execute the application. ".\DPC_Console".
- Set brightness from 10 to 100 with command "-d". Ex: Set brightness 50 with command "-d50".
- Select panel what you try to adjust with command "-t". Ex: Select 200 Hz with command "-d0".
(0 = 200 Hz, 1 = 275 Hz, 2 = 380 Hz, 3 = 20 Hz, 4 = 25 Hz)
- Select range what you add / subtract brightness with command "-r". Ex: Select 10 Sz with command "-r4".
(0 = 1 Sz, 1 = 2 Sz, 2 = 3 Sz, 3 = 5 Sz, 4 = 10 Sz)
- Dump DPC information with command "-i".
- Print DPC help menu with command "-h".
- Step add / subtract brightness with "Up arrow key" / "Down arrow key".
- Turn off screen backlight with command "-f". Duty cycle value will be modify to 0.
- Default hot key to turn on screen backlight. With hot key "Ctrl + n". Duty cycle value will be modify to 50.
- Quit DPC application with command "Exit".
How to use light sensor module
- Print light sensor help menu with command "-hl".
- Turn on/off light sensor to modify duty cycle value automaticaly. With command "-la". Ex: Turn off light sensor active with command "-la0".
(0 = Off, 1 = On)
Attention: If active light sensor module, GPIO module will be turned off.
How to use GPIO module
Sample code Introduction
Define SMBus regester
#define SMBUSPORT 0x0500 #define HST_STS SMBUSPORT+0x00 #define HST_CNT SMBUSPORT+0x02 #define HST_CMD SMBUSPORT+0x03 #define XMIT_SLVA SMBUSPORT+0x04 #define HST_D0 SMBUSPORT+0x05 #define bSize 1 #define SADD 0xb0 #define PWMFeq 0x01 #define PWMDuty 0x02
Set Frequency data
DWORD dwPortVal; bool bResult; bResult = InitializeWinIo(); if (bResult){ SetPortVal(HST_STS, 0xFE, bSize); //start Sleep(20); SetPortVal(XMIT_SLVA, SADD, bSize); //set Sleep(20); SetPortVal(HST_CMD, PWMFeq, bSize); //set frequency Sleep(20); GetPortVal(HST_STS, &dwPortVal, bSize); Sleep(20); dwPortVal = dwPortVal & 0x01; if (dwPortVal == 0){ SetPortVal(HST_D0, fvalue, bSize); //write data into frequency Sleep(20); SetPortVal(HST_CNT, 0x48, bSize); //stop Sleep(20); ShutdownWinIo(); } else ShutdownWinIo(); } ShutdownWinIo();
Set Duty data
UpdateData(TRUE); DWORD dwPortVal; bool bResult; bResult = InitializeWinIo(); if (bResult){ SetPortVal(HST_STS, 0xFE, bSize); //start Sleep(20); SetPortVal(XMIT_SLVA, SADD, bSize); //set Sleep(20); SetPortVal(HST_CMD, PWMDuty, bSize); //set duty Sleep(20); GetPortVal(HST_STS, &dwPortVal, bSize); Sleep(20); dwPortVal = dwPortVal & 0x01; if (dwPortVal == 0){ if (inverter == false) SetPortVal(HST_D0, dvalue * 10 , bSize); //write data into data else if (inverter == true) SetPortVal(HST_D0, (10 - dvalue) * 10 , bSize); Sleep(20); SetPortVal(HST_CNT, 0x48, bSize); //stop Sleep(20); ShutdownWinIo(); } else ShutdownWinIo(); } ShutdownWinIo();