DPC Module:DPC under Windows

From LEXWiKi

Revision as of 11:15, 14 September 2023 by Eric (Talk | contribs)
Jump to: navigation, search

Contents

The Sample code source you can download form

(*)Windows must updated Redistributable latest supported For X64


DPC

<Google Drive> Binary file: DPC_v4.4.6.10W_Bin_x64

<FTP> Binary file: DPC_v4.4.6.10W_Bin_x64


DPC LightSensor

<Google Drive> Binary file: DPC_LightSensor_v4.4.3W_Bin_x86 DPC_LightSensor_v4.4.3W_Bin_x64

<FTP> Binary file: DPC_LightSensor_v4.4.3W_Bin_x86 DPC_LightSensor_v4.4.3W_Bin_x64


DPC Utility Dll

<Google Drive> Binary file: DPCUtilityDll_v1.0.1.2_x86 DPCUtilityDll_v1.0.1.2_x64

<FTP> Binary file: DPCUtilityDll_v1.0.1.2_x86 DPCUtilityDll_v1.0.1.2_x64


User Guide:

<Google Drive> DPCUtilityDll_Guide

<FTP> DPCUtilityDll_Guide


Sample code:

<Google Drive> DPCUtilityDll_v1.0.1.2_Sample

<FTP> DPCUtilityDll_v1.0.1.2_Sample

How to use the DPC utility

Image:DPC_UI_001.jpg

1. Set step add / subtract brightness level.

2. When click the "LightOff" button, the panel will become darkness.
(*)Hot key and touch position to light on panel must set first.

3. Brightness control scrollbar, you can adjust volume of brightness. Value from 1 to 100.

4. Show the brightness value which you adjust.

5. Advanced config settings.

(*)When DPC utility minimize, it will hide in the notification area (like below picture),
and double click the tray icon (shown as the red square below), 'DPC Utility', it will show.

Image:DPC_AP_1.jpg

How to set advanced settings of the DPC utility

Image:DPC_UI_002.jpg

6. General settings tab page.

7. About touch panel settings tab page.

8. About Hotkey panel settings tab page. User can set the hotkey. When push hot key, the panel will be light on from darkness.

9. About DPC software and hardware information.

10. Save the setting value but without leaving the window.

11. Restore the setting value to last saved.

12. Save the setting value and close the window.

General settings tab page

Image:DPC_UI_003.jpg

13. If user checked, utility will auto startup when system booting.

14. If checked to save DPC setting , the setting of utility will be saved in INI file.

Touch panel settings tab page

Image:DPC_UI_004.jpg

15. Frequency of panel. Only support in DPC onboard module.

16. Click the button. User can pick up the area from object 17. When clicking area, the panel will be light on from darkness.

Image:DPC_UI_005.jpg

17. Pick up the area from panel. When clicking area, the panel will be light on from darkness.

Hotkey settings tab page

Image:DPC_UI_006.jpg

18. First key of hotkey. Only enter Ctrl, SHIFT, or ALT.

19. Second key of hotkey. Only enter key: 'A' to 'Z'.

Information tab page

Image:DPC_UI_007.jpg

20. Show the DPC utility version.

21. Show the MCU version.

22. Show the DPC utility company.

23. Show the DPC utility copyright.

24. Show the base board model name.

25. Show utility supported backlight type.


How to use the DPC(Light sensor module) utility

Image:DPC_UI_008.jpg

26. If checked it. utility will adjust the volume of brightness automatically.

27. Light sensor device name.

28. The mode of light sensor in used.

29. The range of light sensor in used.

30. Calculated LUX values.

Lightsensor settings tab page

Image:DPC_UI_009.jpg

31. About light sensor settings tab page.

32. Choose which mode of light sensor to use.

33. Choose which range of light sensor to use.

34. If checked it. Light sensor automatically modify brightness volume in custom limit range.

35. Custom limit: light sensor maximum volume of brightness.

36. Custom limit: light sensor median volume of brightness.

37. Custom limit: light sensor minimum volume of brightness.


Sample code Introduction

Define SMBus register

#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