SYNTAX
#include "rtapi_parport.h"
int rtapi_parport_get(const char* _module_name_, rtapi_parport_t* _port_,
short _base_, unsigned short _base_hi_,
int _modes_);
void rtapi_parport_release(rtapi_parport_t* _port_);
ARGUMENTE
- module_name
-
Konventionell ist der Name des RTAPI-Moduls oder der HAL-Komponente, die den Parport verwendet.
- port
-
Ein Zeiger auf eine rtapi_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
rtapi_parport_get allocates a parallel port for exclusive use of the named hal component. If successful, access the port with I/O calls such as rtapi_inb at address based at the base or base_hi addresses. The port must be released with rtapi_parport_release before the component exits with rtapi_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;
.... // und weitere nicht spezifizierte Felder
} rtapi_parport_t;
RETURN VALUE
rtapi_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 rtapi_parport_release.
rtapi_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.