DPC Module:DPC under Windows

From LEXWiKi

(Difference between revisions)
Jump to: navigation, search
Line 69: Line 69:
[[Image:DPC_IMG_006.jpg]]<br />
[[Image:DPC_IMG_006.jpg]]<br />
-
21. Check this grid program will automatically grab the light size to adjust the DPC light and dark
+
21. If checked it. utility will adjust the volume of brightness automatically.
-
22. Showing the device name
+
22. Light sensor device name.
-
23. Showing the mode in use
+
23. The mode of light sensor in used.
-
24. Showing the range in used
+
24. The range of light sensor in used.
-
25. Showing calculated LUX values
+
25. Calculated LUX values.
-
26. Mode and Range detail settings
+
26. Advanced settings.
[[Image:DPCv4.1.5setting.jpg]]
[[Image:DPCv4.1.5setting.jpg]]
-
27. Choose which mode to use
+
27. Choose which mode of light sensor to use.
-
28. Choose which range to use
+
28. Choose which range of light sensor to use.
-
29. Custom DPC Max brightness
+
29. Custom limit: light sensor maximum volume of brightness.
-
30. Set the DPC brightness intermediate reference value
+
30. Custom limit: light sensor median volume of brightness.
-
31. Custom DPC Min brightness
+
31. Custom limit: light sensor minimum volume of brightness.
-
32. Complete the settings button but without leaving the window
+
32. Save the setting value but without leaving the window.
-
33. Complete the settings button and exit leaving the window
+
33. Save the setting value and close the window.
-
34. exit leaving the window
+
34. Close the window and without saving.

Revision as of 14:10, 14 July 2020

Contents

The Sample code source you can download form

Binary file:
DPCv4.2.3W_bin.zip
DPC_LightSensor_4.2.3W_bin.zip

How to use the DPC utility

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

Image:DPC_AP_1.jpg


Image:DPC_IMG_002.jpg

1. Frequency of panel selection.

2. Apply the frequency of panel which user selected.

3. If checked to save DPC setting , the setting of frequency and duty cycle will be reserved.

4. It will show the MCU version of DPC.

5. Brightness control scrollbar, you can adjust volume of brightness.

6. Show the brightness value which you adjust.

7. When click the LightOff button, the panel will become darkness.

8. Set step add / subtract brightness unit.

9. Apply the step unit.

10. Reset the record of hot key and picked up area.

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

12. Click the button. User can set the hotkey. When push hot key, the panel will be light on from darkness.

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


Image:DPC_IMG_004.jpg

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

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

16. Hotkey will show here.

17. Apply the hotkey which you entered.

18. Show hotkey which you set.

Image:DPC_IMG_003.jpg

19. Pick up the area from panel. After clicking area, the panel will be light on from darkness.


Image:DPC_AP_5.jpg

20. If you want to exit DPC , you should click right button of mouse on the icon and choose exit.


How to use the DPC(Light sensor module) utility

Image:DPC_IMG_006.jpg

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

22. Light sensor device name.

23. The mode of light sensor in used.

24. The range of light sensor in used.

25. Calculated LUX values.

26. Advanced settings.

Image:DPCv4.1.5setting.jpg

27. Choose which mode of light sensor to use.

28. Choose which range of light sensor to use.

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

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

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

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

33. Save the setting value and close the window.

34. Close the window and without saving.


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