introducción

NOMBRE
DESCRIPCIÃN
ARCHIVOS HEADER
CONSIDERACIONES EN TIEMPO REAL
CÃDIGOS DE ESTADO RTAPI

NOMBRE

rtapi - Introducción a la API RTAPI

DESCRIPCIÃN

RTAPI es una biblioteca que proporciona una API uniforme para varios sistemas operativos en tiempo real. A partir de LinuxCNC 2.7, se soportan hilos POSIX y RTAI.

ARCHIVOS HEADER

rtapi.h
El archivo rtapi.h define el codigo RTAPI tanto en tiempo real como no real. Esto es un cambio desde Rev 2, donde la API no real (espacio de usuario) se definió en ulapi.h y utilizó diferentes nombres de funciones. Los sÃmbolos RTAPI y ULAPI se utilizan para determinar qué modo se está compilando; RTAPI para en tiempo real y ULAPI para no real.

rtapi_math.h
El archivo rtapi_math.h define funciones y constantes de punto flotante. Debe usarse en lugar de <math.h> en componentes rtapi en tiempo real.

rtapi_string.h
El archivo rtapi_string.h define funciones relacionadas con cadenas. Debe usarse en lugar de <string.h> en componentes rtapi en tiempo real.

rtapi_byteorder.h
Este archivo define las macros de preprocesador RTAPI_BIG_ENDIAN, RTAPI_LITTLE_ENDIAN y RTAPI_FLOAT_BIG_ENDIAN como verdadero o falso según las caracterÃsticas del sistema objetivo. Debe usarse en lugar de <endian.h> (espacio de usuario) o <linux/byteorder.h> (espacio de kernel).

rtapi_limits.h
Este archivo define el valor mÃnimo y máximo de algunos tipos enteros fundamentales , como INT_MIN e INT_MAX. Esto debe usarse en lugar de <limits.h> porque ese archivo de encabezado no está disponible para los módulos del kernel.

CONSIDERACIONES EN TIEMPO REAL

Código de espacio de usuario
Ciertas funciones no están disponibles en el código del espacio de usuario. Esto incluye funciones que realizan acceso directo a dispositivos, como rtapi_inb(3).

SS. Código Init/limpieza Ciertas funciones solo se pueden invocar desde el código de inicio/limpieza en tiempo real. Esto incluye funciones que realizan la asignación de memoria, como rtapi_shmem_new(3).

Código en tiempo real
Solo se pueden invocar algunas funciones desde el código en tiempo real. Esto incluye funciones que realizan acceso directo a dispositivos, como rtapi_inb(3). Excluye la mayorÃa de las API de kernel de Linux, como do_gettimeofday(3) y muchas API de rtapi como rtapi_shmem_new(3).

Simulador
Para que un módulo RTAPI se pueda construir en el entorno "sim" (sistema en tiempo real falso, sin privilegios especiales), no debe usar ninguna API del kernel de Linux y no debe usar las API RTAPI para el acceso directo a dispositivos, como rtapi_inb(3). Esto incluye automáticamente cualquier controlador de dispositivo de hardware, y también dispositivos que usan API de kernel de Linux para hacer cosas como crear dispositivos o entradas especiales en el sistema de archivos /proc.

CÃDIGOS DE ESTADO RTAPI

Excepto como se indica en páginas especÃficas del manual, RTAPI devuelve valores errno negativos para errores y valores no negativos para éxito.