Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/input/touchscreen/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  tsc2007.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */

/*
 * Copyright (c) 2008 MtekVision Co., Ltd.
 * Kwangwoo Lee <kwlee@mtekvision.com>
 *
 * Using code from:
 *  - ads7846.c
 * Copyright (c) 2005 David Brownell
 * Copyright (c) 2006 Nokia Corporation
 *  - corgi_ts.c
 * Copyright (C) 2004-2005 Richard Purdie
 *  - omap_ts.[hc], ads7846.h, ts_osk.c
 * Copyright (C) 2002 MontaVista Software
 * Copyright (C) 2004 Texas Instruments
 * Copyright (C) 2005 Dirk Behme
 */


#ifndef _TSC2007_H
#define _TSC2007_H

#include <linux/input/touchscreen.h>
struct gpio_desc;

#define TSC2007_MEASURE_TEMP0  (0x0 << 4)
#define TSC2007_MEASURE_AUX  (0x2 << 4)
#define TSC2007_MEASURE_TEMP1  (0x4 << 4)
#define TSC2007_ACTIVATE_XN  (0x8 << 4)
#define TSC2007_ACTIVATE_YN  (0x9 << 4)
#define TSC2007_ACTIVATE_YP_XN  (0xa << 4)
#define TSC2007_SETUP   (0xb << 4)
#define TSC2007_MEASURE_X  (0xc << 4)
#define TSC2007_MEASURE_Y  (0xd << 4)
#define TSC2007_MEASURE_Z1  (0xe << 4)
#define TSC2007_MEASURE_Z2  (0xf << 4)

#define TSC2007_POWER_OFF_IRQ_EN (0x0 << 2)
#define TSC2007_ADC_ON_IRQ_DIS0  (0x1 << 2)
#define TSC2007_ADC_OFF_IRQ_EN  (0x2 << 2)
#define TSC2007_ADC_ON_IRQ_DIS1  (0x3 << 2)

#define TSC2007_12BIT   (0x0 << 1)
#define TSC2007_8BIT   (0x1 << 1)

#define MAX_12BIT   ((1 << 12) - 1)

#define ADC_ON_12BIT (TSC2007_12BIT | TSC2007_ADC_ON_IRQ_DIS0)

#define READ_Y  (ADC_ON_12BIT | TSC2007_MEASURE_Y)
#define READ_Z1  (ADC_ON_12BIT | TSC2007_MEASURE_Z1)
#define READ_Z2  (ADC_ON_12BIT | TSC2007_MEASURE_Z2)
#define READ_X  (ADC_ON_12BIT | TSC2007_MEASURE_X)
#define PWRDOWN  (TSC2007_12BIT | TSC2007_POWER_OFF_IRQ_EN)

struct ts_event {
 u16 x;
 u16 y;
 u16 z1, z2;
};

struct tsc2007 {
 struct input_dev *input;
 char   phys[32];

 struct i2c_client *client;

 struct touchscreen_properties prop;
 u16   model;
 u16   x_plate_ohms;
 u16   max_rt;
 unsigned long  poll_period; /* in jiffies */
 int   fuzzx;
 int   fuzzy;
 int   fuzzz;

 struct gpio_desc *gpiod;
 int   irq;

 wait_queue_head_t wait;
 bool   stopped;

 int   (*get_pendown_state)(struct device *);
 void   (*clear_penirq)(void);

 struct mutex  mlock;
};

int tsc2007_xfer(struct tsc2007 *tsc, u8 cmd);
u32 tsc2007_calculate_resistance(struct tsc2007 *tsc, struct ts_event *tc);
bool tsc2007_is_pen_down(struct tsc2007 *ts);

#if IS_ENABLED(CONFIG_TOUCHSCREEN_TSC2007_IIO)
/* defined in tsc2007_iio.c */
int tsc2007_iio_configure(struct tsc2007 *ts);
#else
static inline int tsc2007_iio_configure(struct tsc2007 *ts)
{
 return 0;
}
#endif /* CONFIG_TOUCHSCREEN_TSC2007_IIO */

#endif /* _TSC2007_H */

Messung V0.5
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.