Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


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.3 Sekunden  ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge