Difference Analysis Generated by HtmlDiff on 10/26/2004 1:35 PM  

Base file: C:\CY4632_RDK_1_21\Firmware\Source Code\RDK Mouse\buttons.h

Modified file: C:\CY4632_RDK_1_3\Firmware\Source Code\RDK Mouse\buttons.h

//--------------------------------------------------------------------------
//
// This module includes support routines for the three buttons on the mouse,
// the bind button and motion sensor.  It also provides logic for debouncing
// the three mouse buttons.
//
//--------------------------------------------------------------------------
// $Archive: /WirelessUSB/WUSB Kits/CY4632 LS KBM RDK/DocSrc/CD_Root/Firmware/Source Code/RDK Mouse/buttons.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 BUTTONS_H
#define BUTTONS_H

//--------------------------------------
// Included files
//--------------------------------------

#include "cypdef.h"
#include "appconfig.h"
#include PLATFORM_H


//**************************************************************************
// Mouse Buttons - Left, Middle, Right
//**************************************************************************

//--------------------------------------
// API Definitions and Types
//--------------------------------------

#define LEFT_BUTTON_REPORT_BIT      0x20
#define RIGHT_BUTTON_REPORT_BIT     0x40
#define MIDDLE_BUTTON_REPORT_BIT    0x80
#define NUMBER_OF_BUTTONS           3


typedef struct
{
    UINT8 buttons;

} BUTTON_REPORT;


//--------------------------------------
// API Function Declarations
//--------------------------------------

#pragma interrupt_handler buttons_isr

extern void buttons_isr(void);
extern void buttons_init(void);
extern void buttons_power_up(void);
extern void buttons_power_down(void);
extern BOOL buttons_get_report(BUTTON_REPORT *);
extern BOOL buttons_up(void);



//**************************************************************************
// Bind Button & LED
//**************************************************************************

//--------------------------------------
// API Definitions and Types
//--------------------------------------


//--------------------------------------
// API Function Declarations
//--------------------------------------

#pragma interrupt_handler bind_button_isr

extern void bind_button_isr(void);
extern void bind_button_init(void);
extern void bind_button_power_up(void);
extern void bind_button_power_down(void);


#ifdef MOUSE_MOTION_NOT_TIME_SLEEP

//**************************************************************************
// Motion Sensor
//**************************************************************************


//--------------------------------------
// API Definitions and Types
//--------------------------------------


//--------------------------------------
// API Function Declarations
//--------------------------------------

#pragma interrupt_handler motion_isr

extern void motion_isr(void);
extern void motion_init(void);
extern void motion_power_up(void);
extern void motion_power_down(void);

#define MOTION_ISR()              motion_isr()
#define MOTION_INIT()             motion_init()
#define MOTION_POWER_UP()         motion_power_up()
#define MOTION_POWER_DOWN()       motion_power_down()

#else

#define MOTION_ISR()
#define MOTION_INIT()
#define MOTION_POWER_UP()
#define MOTION_POWER_DOWN()

#endif    //  MOUSE_MOTION_NOT_TIME_SLEEP


//**************************************************************************
// Button Debounce
//**************************************************************************


//--------------------------------------
// API Definitions and Types
//--------------------------------------


//--------------------------------------
// API Function Declarations
//--------------------------------------

extern void debounce_init(void);


#endif   // BUTTONS_H