DPC Module:DPC Console under Linux

From LEXWiKi

(Difference between revisions)
Jump to: navigation, search
Line 25: Line 25:
#Set brightness from 10 to 100 with command "-d". Ex: Set brightness 50 with command "-d50". <br />
#Set brightness from 10 to 100 with command "-d". Ex: Set brightness 50 with command "-d50". <br />
#Select panel what you try to adjust with command "-t". Ex: Select 200 Hz with command "-d0". <br />(0 = 200 Hz, 1 = 275 Hz, 2 = 380 Hz, 3 = 20 Hz, 4 = 25 Hz)
#Select panel what you try to adjust with command "-t". Ex: Select 200 Hz with command "-d0". <br />(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". <br />(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 ==
 +
 
 +
== How to use GPIO module ==
== Sample code Introduction ==
== Sample code Introduction ==

Revision as of 18:17, 28 May 2020

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.
    1. Download and install the Code::Block with command "apt-get install codeblocks".
    2. Open an exist project(DPC_Console.cbp) in Code::Blocks, click the compile button.


  • Compile source code with "make"
    1. cd DPC_Console
    2. key in command "make".
    3. Select panel what you try to adjust with command "-t". Ex: Select 200 Hz with command "-d0".
   Before you make it, you need to install : "make" "make-guile" "pkg-config" "gcc" "gtk2.0"

How to use the DPC console application

  1. Install resource before execute application. ".\install.sh"
  2. Execute the application. ".\DPC_Console".
    Image:DPC_Info_1.jpg
  3. Set brightness from 10 to 100 with command "-d". Ex: Set brightness 50 with command "-d50".
  4. 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)
  5. 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)
  6. Dump DPC information with command "-i".
  7. Print DPC help menu with command "-h".
  8. Step add / subtract brightness with "Up arrow key" / "Down arrow key".
  9. Turn off screen backlight with command "-f". Duty cycle value will be modify to 0.
  10. Default hot key to turn on screen backlight. With hot key "Ctrl + n". Duty cycle value will be modify to 50.
  11. Quit DPC application with command "Exit".

How to use light sensor module

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();
Personal tools