Symbian3/PDK/Source/GUID-BAE9F3A8-E232-491B-9F29-E2BF7298F9EA.dita
changeset 5 f345bda72bc4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/PDK/Source/GUID-BAE9F3A8-E232-491B-9F29-E2BF7298F9EA.dita	Tue Mar 30 11:56:28 2010 +0100
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-BAE9F3A8-E232-491B-9F29-E2BF7298F9EA" xml:lang="en"><title>Trigger
+Functions</title><shortdesc>Describes the trigger functions involved in implementing the Symbian
+platform GPIO class.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>A trigger is the electrical waveform which signals an interrupt and sometimes
+a wakeup. Triggers are detected either by their level (high or low) or by
+their edge (rising, falling or both). When you associate an interrupt with
+a trigger you must specify the type (level or edge) and then the subtype.
+Some configurations of type and subtype are incompatible, for instance level
+trigger with rising edge. The Symbian platform GPIO class specifies the possible
+combinations in the enumeration <xref href="GUID-D5CB424B-03D4-3755-9DEB-A6A9988CACE1.dita"><apiname>TGpioDetectionTrigger</apiname></xref>.
+It is for the implementation to check that a given pin supports a consistent
+configuration.   </p>
+<section id="GUID-505B2E66-80A7-423D-8BE9-D5325D02F006"><title>Implement the
+trigger functions</title> <ul>
+<li><p>          Implement <xref href="GUID-29000C80-F7B6-3B7C-8944-F6BCAE2B6618.dita"><apiname>SetInterruptTrigger()</apiname></xref> with return
+         value <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref>.         </p> <p>          Verify
+that the pin is being used as an interrupt source and that          there
+is an ISR bound to it. Set the interrupt trigger on the specified pin.   
+     </p> </li>
+<li><p>          Implement <xref href="GUID-29000C80-F7B6-3B7C-8944-F6BCAE2B6618.dita"><apiname>SetInterruptTrigger()</apiname></xref> with return
+         value <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref>.         </p> <p>     
+    Return <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref> if the pin does not       
+  support interrupts.         </p> </li>
+<li><p>          Implement <xref href="GUID-28F2D8DB-5D57-3199-9066-1B0252EE632E.dita"><apiname>SetWakeupTrigger()</apiname></xref> with return
+         value <xref href="GUID-6CA4F1ED-7947-3087-B618-D35858FAA3BC.dita"><apiname>KErrNone</apiname></xref>.         </p> <p>          Verify
+that the pin is being used as an interrupt source and that          there
+is an ISR bound to it. Set the interrupt trigger on the specified pin.   
+      The trigger should probably be edge detected.         </p> </li>
+<li><p>          Implement <xref href="GUID-28F2D8DB-5D57-3199-9066-1B0252EE632E.dita"><apiname>SetWakeupTrigger()</apiname></xref> with return
+         value <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref>.         </p> <p>     
+    Return <xref href="GUID-F89DA3F0-2A48-3F9B-8F08-29350E92D0E4.dita"><apiname>KErrNotSupported</apiname></xref> if the pin does not       
+  support wakeups.         </p> </li>
+</ul>  </section>
+</conbody></concept>
\ No newline at end of file