LinuxCNC Documentation

SYNTAX

#include "hal_parport.h"
int hal_parport_get(int _comp_id_, hal_parport_t* _port_, unsigned short _base_, unsigned short _base_hi_, unsigned int _modes_)
void hal_parport_release(hal_parport_t* _port_)

ARGUMENTE

comp_id

Eine HAL-Komponenten-Kennung, die durch einen früheren Aufruf von hal_init zurückgegeben wurde.

port

Ein Zeiger auf eine hal_parport_t-Struktur.

base

Die Basisadresse des Ports (wenn port >= 16) oder die Linux-Portnummer des Ports (wenn port < 16)

base_hi

Die "hohe" Adresse des Anschlusses (Standort der ECP-Register), 0, um eine ermittelte hohe Adresse zu verwenden, oder -1, um die hohe Adresse zu deaktivieren

modes

Informieren Sie den Treiber über die gewünschten Port-Modi, aus <linux/parport.h>. Wenn ein von Linux erkannter Port nicht die gewünschten Modi bereitstellt, wird mit rtapi_print_msg eine Warnung ausgegeben. Dies führt nicht dazu, dass die Portanforderung fehlschlägt, da leider viele Systeme, die funktionierende EPP-Ports haben, von Linux nicht als solche erkannt werden.

BESCHREIBUNG

hal_parport_get allocates a parallel port for exclusive use of the named HAL component. The port must be released with hal_parport_release before the component exits with hal_exit.

HIGH-ADDRESS-SONDIERUNG (engl. PROBING)

Wenn es sich bei der Schnittstelle um eine parallele Schnittstelle handelt, die Linux bekannt ist, und Linux eine hohe E/A-Adresse erkannt hat, wird dieser Wert verwendet. Andernfalls, wenn base+0x400 für kein Gerät registriert ist, wird dieser Wert verwendet. Andernfalls wird keine Adresse verwendet. Wenn keine hohe Adresse erkannt wird, ist port→base_hi gleich 0.

PARPORT STRUCTURE

typedef struct
{
    unsigned short base;
    unsigned short base_hi;
    .... // and further unspecified fields
} hal_parport_t;

RETURN VALUE

hal_parport_get returns a HAL status code. On success, port is filled out with information about the allocated port. On failure, the contents of port are undefined except that it is safe (but not required) to pass this port to hal_parport_release.

hal_parport_release does not return a value. It always succeeds.

ANMERKUNGEN

Im neuen Code ist die Verwendung von rtapi_parport gegenüber hal_parport vorzuziehen.