⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitcontroldeferredpowermanagerc.nc

📁 tinyos-2.0源代码!转载而已!要的尽管拿!
💻 NC
字号:
/* * "Copyright (c) 2005 Washington University in St. Louis. * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. * * IN NO EVENT SHALL WASHINGTON UNIVERSITY IN ST. LOUIS BE LIABLE TO ANY PARTY  * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING  * OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF WASHINGTON  * UNIVERSITY IN ST. LOUIS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * WASHINGTON UNIVERSITY IN ST. LOUIS SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND WASHINGTON UNIVERSITY IN ST. LOUIS HAS NO  * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR * MODIFICATIONS." * */ /* * - Revision ------------------------------------------------------------- * $Revision: 1.1.2.4 $ * $Date: 2006/06/19 11:13:08 $  * ========================================================================  */ /** * * This component povides a power management policy for managing the power * states of non-virtualized devices.  Non-virtualized devices are shared * using a parameterized Resource interface, and are powered down according * to some policy whenever there are no more pending requests to that Resource. * The policy implemented by this component is to delay the power down of a * device by some contant factor.  Such a policy is useful whenever a device * has a long wake-up latency.  The cost of waiting for the device to power * up can be avoided if the device is requested again before some predetermined * amount of time.<br><br> * * Powerdown of the device is done through the <code>SplitControl</code> * interface, so this component can only be used with those devices that * provide that interface.<br><br> * * For devices providing either the <code>AsyncStdControl</code> or * <code>StdControl</code> interfaces, please use either the * <code>AsyncStdControlDeferredPowerManagerC</code> component or the * <code>StdControlDeferredPowerManagerC</code> component respectively. * * @param <b>delay</b> -- The amount of time the power manager should wait *                        before shutting down the device once it is free. *  * @author Kevin Klues (klueska@cs.wustl.edu) * @see  Please refer to TEP 115 for more information about this component and its *          intended use. */ generic configuration SplitControlDeferredPowerManagerC(uint32_t delay) {  provides {    interface Init;  }  uses {    interface SplitControl;    interface PowerDownCleanup;    interface Init as ArbiterInit;    interface ResourceController;    interface ArbiterInfo;  }}implementation {  components new TimerMilliC(),             new DeferredPowerManagerP(delay) as PowerManager;  Init = PowerManager;   PowerManager.SplitControl = SplitControl;  PowerManager.PowerDownCleanup = PowerDownCleanup;   PowerManager.ArbiterInit  = ArbiterInit;  PowerManager.ResourceController = ResourceController;  PowerManager.ArbiterInfo = ArbiterInfo;  PowerManager.TimerMilli -> TimerMilliC;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -