//-------------------------------------------------------------------------- // // This module provides a timer interface for general purpose timing // requirements. // //-------------------------------------------------------------------------- // $Archive: /WirelessUSB/WUSB Kits/CY4632 LS KBM RDK/DocSrc/CD_Root/Firmware/Source Code/RDK Mouse/timer.h $ // $Modtime: 6/16/04 4:38p10/01/04 1:18p $ // $Revision: 910 $ //-------------------------------------------------------------------------- // // Copyright 2003-2004, Cypress Semiconductor Corporation. // // This software is owned by Cypress Semiconductor Corporation (Cypress) // and is protected by and subject to worldwide patent protection (United // States and foreign), United States copyright laws and international // treaty provisions. Cypress hereby grants to licensee a personal, // non-exclusive, non-transferable license to copy, use, modify, create // derivative works of, and compile the Cypress Source Code and derivative // works for the sole purpose of creating custom software in support of // licensee product to be used only in conjunction with a Cypress integrated // circuit as specified in the applicable agreement. Any reproduction, // modification, translation, compilation, or representation of this // software except as specified above is prohibited without the express // written permission of Cypress. // // Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, // WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // Cypress reserves the right to make changes without further notice to the // materials described herein. Cypress does not assume any liability arising // out of the application or use of any product or circuit described herein. // Cypress does not authorize its products for use as critical components in // life-support systems where a malfunction or failure may reasonably be // expected to result in significant injury to the user. The inclusion of // Cypress’ product in a life-support systems application implies that the // manufacturer assumes all risk of such use and in doing so indemnifies // Cypress against all charges. // // Use may be limited by and subject to the applicable Cypress software // license agreement. // //-------------------------------------------------------------------------- #ifndef _TIMER_H_ #define _TIMER_H_ //-------------------------------------- // Included files //-------------------------------------- #include "cypdef.h" #include "appconfig.h" //-------------------------------------- // API Definitions and Types //-------------------------------------- typedef UINT32 TIME_STAMP; // Tick is set to 1ms #define MS_TO_TICK(n) (n) #define TICK_TO_MS(n) (n) // CPU @ 12MHz #define timer_delay_1_usec() \ asm("nop"); \ asm("nop"); \ asm("nop"); //-------------------------------------- // API Function Declarations //-------------------------------------- extern void timer_init(void); extern void timer_timer_on(void); extern void timer_timer_off(void); extern void timer_delay_10_usec(void); extern void timer_delay_50_usec(void); extern void timer_delay_100_usec(void); extern void timer_delay_msec(UINT16 num_milliseconds); extern TIME_STAMP timer_get_time_stamp(void); extern void timer_delay_incremental( TIME_STAMP from_timestamp, UINT16 delay_ms ); extern BOOL timer_time_elapsed(TIME_STAMP from_timestamp, UINT16 elapsed_time_ms); #ifdef TIMER_CAL extern void timer_calibrate_timer(BOOL); #define TIMER_CALIBRATE_TIMER(b) timer_calibrate_timer(b) #else #define TIMER_CALIBRATE_TIMER(b) #endif #endif // _TIMER_H_