WEB开发网
开发学院手机开发Android 开发 Android 驱动之 jogball 详解 阅读

Android 驱动之 jogball 详解

 2010-03-17 16:15:00 来源:WEB开发网   
核心提示:两侧面会出现横向电位差,半导体中的霍尔效应比金属箔片中更为明 显,Android 驱动之 jogball 详解(2),而铁磁金属在居里温度以下将呈现极强的霍尔效应,所以jogball是旋转磁轴引起磁场的变幻,来产生高低电压的,从而根据机械特性就不难理解jogball的数字输入过程

两侧面会出现横向电位差。半导体中的霍尔效应比金属箔片中更为明 显,而铁磁金属在居里温度以下将呈现极强的霍尔效应。

所以jogball是旋转磁轴引起磁场的变幻,来产生高低电压的。从而根据机械特性就不难理解jogball的数字输入过程。

3.3 Jogball的原理图

其实jogball只是机械结构,原理图是hall ic的,有兴趣的人在这里下载

4 数据结构

struct hero_axis_info {

struct gpio_event_axis_info info; /*gpio_event_axis结构的信息*/

uint16_t in_state;/*记录输入的高低电平信号*/

uint16_t out_state;/*记录输出的高低电平信号*/

uint16_t temp_state;/*临时存储高低电平*/

uint16_t threshold;/*门限值,超过这个值上报给input子系统*/

};

struct gpio_event_axis_info {

/* initialize to gpio_event_axis_func */

struct gpio_event_info info; /*gpio_event信息*/

uint8_t count; /*gpio的数量*/

uint8_t type; /* EV_REL or EV_ABS */

uint16_t code; /*输入键值类型*/

uint16_t decoded_size; /*gpio 数组的大小*/

uint16_t (*map)(struct gpio_event_axis_info *info, uint16_t in); /*解析回调函数*/

uint32_t *gpio; /*gpio端口数组*/

uint32_t flags; /*调试标值*/

uint32_t enable_emc_protect_delay; /*保护间隔时间*/

uint16_t emc_gpio_state; /* 延时中用到gpio_state*/

atomic_t emc_disable_irqnum;/*延时中用到的屏蔽的中断号*/

};

struct gpio_event_info {

int (*func)(struct input_dev *input_dev,

struct gpio_event_info *info,

void **data, int func);

/*给gpio_event子系统中实现注册到内核中的回调函数*/

int (*event)(struct input_dev *input_dev,

struct gpio_event_info *info,

void **data, unsigned int type,

unsigned int code, int value); /* out events */

};

struct gpio_event_platform_data {

const char *name;/*名字*/

上一页  1 2 3 4 5  下一页

Tags:Android 驱动 jogball

编辑录入:coldstar [复制链接] [打 印]
赞助商链接