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

📄 hid_mouse.h

📁 蓝牙鼠标的例程
💻 H
字号:
/****************************************************************************
Copyright (C) Cambridge Silicon Radio Ltd. 2005-2006
Part of BlueLab 3.5.2-release

FILE NAME
    hid_mouse.h 
DESCRIPTION
    
*/

#ifndef _HID_MOUSE_H_
#define _HID_MOUSE_H_

/****************************************************************************
    Header files
*/
#include <hid.h>
#include <connection.h>
#include <message.h>
#include <stream.h>
#include <bdaddr.h>
#include <stdio.h>
#include <source.h>
#include <stdlib.h>
#include <pio.h>
#include <app/vm/vm_if.h>

#include "hid_mouse_led.h"
#include "hid_mouse_button.h"

#ifdef APP_DEBUG
#define MAIN_PRINT(x) printf x
#else
#define MAIN_PRINT(x)
#endif

#ifdef HW_DEV_1409
/* PIO to control power hold */
#define HID_PIO_POWER_HOLD      (5)
#define HID_MASK_POWER_HOLD     (1 << HID_PIO_POWER_HOLD)
#endif

/* Masks for input & output PIOs */
#define HID_MASK_INPUT_MASK     (0)
#define HID_MASK_OUTPUT_MASK    (LED_PIO_MASK)

/* Persistent store base for device attributes */
#define APP_MOUSE_ATTR_PS_BASE    (0)

/* Internal messages */
enum
{
    APP_INTERNAL_PIN_CODE_TIMEOUT_IND = 100,
    APP_INTERNAL_IDLE_TIMEOUT_IND,
    APP_INTERNAL_UNPLUG_TIMEOUT_IND,
    APP_INTERNAL_DISCOVERABLE_TIMEOUT_IND,
	APP_INTERNAL_SHUTDOWN_IND
};

/* Inactivity timeout */
#define APP_IDLE_TIMEOUT            (7500)

/* Virtual unplug timeout */
#define APP_UNPLUG_TIMEOUT          (5)

/* Discoverable timeout */
#define APP_DISCOVERABLE_TIMEOUT    (600)

/* Application states */
typedef enum
{
	appInitialising,
    appDiscoverable,
    appDiscoverableConnecting,
    appCabledConnecting,
    appCabledConnected,
    appCabledDisconnecting,
    appCabledDisconnected,
    appIdle
} app_state;

/* Application task data */
typedef struct 
{
	TaskData			task;
	HID_LIB            *hid_lib;
	HID                *hid;    
    
    unsigned int        trusted_device_index:4;    
    unsigned int        unplug_pending:1;
    unsigned int        shutdown_pending:1;
	unsigned int		power_off_enter:1;

	app_state			state;
    
    appLedTaskData      led;
    PioState            pioState;
    unsigned int        mouse_idle_rate:8;
    hid_protocol        mouse_protocol;
    
    bdaddr              host_bd_addr;
    bdaddr              auth_bd_addr;
    
    Sink                interrupt_sink;
} appTaskData;

#endif

⌨️ 快捷键说明

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