--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Light/light_chipset_api.h Fri Jun 26 15:44:04 2009 +0100
@@ -0,0 +1,120 @@
+/*
+ light_chipset_api.h
+
+ Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ All rights reserved.
+
+ This program and the accompanying materials are made available
+ under the terms of the Eclipse Public License v1.0 which accompanies
+ this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Initial Contributors:
+ Nokia Corporation - initial contribution.
+
+ Contributors:
+*/
+
+/** @file
+@brief Light Chipset API H
+
+This is the header file for Light Chipset API that is used to access
+the light service provided by the third party chipset vendor.
+
+@publishedDeviceAbstraction
+*/
+
+#ifndef __LIGHT_CHIPSET_API_H__
+#define __LIGHT_CHIPSET_API_H__
+
+// Include files
+
+#include <kern_priv.h>
+
+
+// Constants
+
+
+// Macros
+
+
+// Data types
+
+
+// Function prototypes
+
+
+// Class declaration
+
+/**
+This class defines the Chipset API that is used to access
+the light service provided by the third party chipset vendor.
+*/
+class LightService
+ {
+ public:
+
+ /**
+ This method is used to do all the necessary initialization so
+ that the chipset is ready to provide the light service.
+
+ @return Symbian OS system wide error code, and the followings are required:
+ KErrNone – the operation is successfully executed
+ KErrGeneral – error condition
+ KErrAlreadyExists – if trying to initialize twice
+
+ @pre Pre-condition, it should be called first before the other methods of this class are used
+ */
+ IMPORT_C static TInt Init();
+
+ /**
+ This function is used to set the specified output to the desired intensity.
+
+ @param aOutputId The identity of the output line that shall be controlled
+ @param aIntensity The desired intensity of the light with range 0 – 10000 [1/100%]
+
+ @return Symbian OS system wide error code, and the followings are required:
+ KErrNone – the operation is successfully executed
+ KErrGeneral – error condition
+ KErrNotReady –if trying to access uninitialized device
+ KErrNotSupported – if the feature is not supported by the HW
+
+ @pre Pre-condition, the method Init() has been executed successfully
+ */
+ IMPORT_C static TInt SetIntensity(TUint aOutputId, TUint16 aIntensity);
+
+ /**
+ This function is used to set the specified output to the desired current.
+
+ @param aOutputId The identity of the output line that shall be controlled
+ @param aCurrent The driving current from 0 to the maximum current available from the chipset [1/10 mA] (range 0.0 to 6553.5mA)
+
+ @return Symbian OS system wide error code, and the followings are required:
+ KErrNone – the operation is successfully executed
+ KErrGeneral – error condition
+ KErrNotReady – if trying to access uninitialized device
+ KErrNotSupported – if the feature is not supported by the HW
+
+ @pre Pre-condition, the method Init() has been executed successfully
+ */
+ IMPORT_C static TInt SetCurrent(TUint aOutputId, TUint16 aCurrent);
+
+ /**
+ This function is used to set the specified output to the desired PWM frequency.
+
+ @param aOutputId The identity of the output line that shall be controlled
+ @param aFrequency The PWM frequency from 0 to the maximum frequency available from the chipset (range 0 to 65535Hz)
+
+ @return Symbian OS system wide error code, and the followings are required:
+ KErrNone – the operation is successfully executed
+ KErrGeneral – error condition
+ KErrNotReady – if trying to access uninitialized device
+ KErrNotSupported – if the feature is not supported by the HW
+
+ @pre Pre-condition, the method Init() has been executed successfully
+ */
+ IMPORT_C static TInt SetFrequency(TUint aOutputId, TUint16 aFrequency);
+
+ };
+
+#endif // __LIGHT_CHIPSET_API_H__