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

Quelle  amplc_pc236.c   Sprache: C

 
// SPDX-License-Identifier: GPL-2.0+
/*
 * comedi/drivers/amplc_pc236.c
 * Driver for Amplicon PC36AT DIO boards.
 *
 * Copyright (C) 2002 MEV Ltd. <https://www.mev.co.uk/>
 *
 * COMEDI - Linux Control and Measurement Device Interface
 * Copyright (C) 2000 David A. Schleef <ds@schleef.org>
 */

/*
 * Driver: amplc_pc236
 * Description: Amplicon PC36AT
 * Author: Ian Abbott <abbotti@mev.co.uk>
 * Devices: [Amplicon] PC36AT (pc36at)
 * Updated: Fri, 25 Jul 2014 15:32:40 +0000
 * Status: works
 *
 * Configuration options - PC36AT:
 *   [0] - I/O port base address
 *   [1] - IRQ (optional)
 *
 * The PC36AT board has a single 8255 appearing as subdevice 0.
 *
 * Subdevice 1 pretends to be a digital input device, but it always returns
 * 0 when read. However, if you run a command with scan_begin_src=TRIG_EXT,
 * a rising edge on port C bit 3 acts as an external trigger, which can be
 * used to wake up tasks.  This is like the comedi_parport device, but the
 * only way to physically disable the interrupt on the PC36AT is to remove
 * the IRQ jumper.  If no interrupt is connected, then subdevice 1 is
 * unused.
 */


#include <linux/module.h>
#include <linux/comedi/comedidev.h>

#include "amplc_pc236.h"

static int pc236_attach(struct comedi_device *dev, struct comedi_devconfig *it)
{
 struct pc236_private *devpriv;
 int ret;

 devpriv = comedi_alloc_devpriv(dev, sizeof(*devpriv));
 if (!devpriv)
  return -ENOMEM;

 ret = comedi_request_region(dev, it->options[0], 0x4);
 if (ret)
  return ret;

 return amplc_pc236_common_attach(dev, dev->iobase, it->options[1], 0);
}

static const struct pc236_board pc236_boards[] = {
 {
  .name = "pc36at",
 },
};

static struct comedi_driver amplc_pc236_driver = {
 .driver_name = "amplc_pc236",
 .module = THIS_MODULE,
 .attach = pc236_attach,
 .detach = comedi_legacy_detach,
 .board_name = &pc236_boards[0].name,
 .offset = sizeof(struct pc236_board),
 .num_names = ARRAY_SIZE(pc236_boards),
};

module_comedi_driver(amplc_pc236_driver);

MODULE_AUTHOR("Comedi https://www.comedi.org");
MODULE_DESCRIPTION("Comedi driver for Amplicon PC36AT DIO boards");
MODULE_LICENSE("GPL");

Messung V0.5
C=97 H=98 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.