void enumeratePorts(PBYTE Buffer);
– Lista los puertos disponibles.  Llena “Buffer” con un string con la información de cada puerto.

word open(LPSTR port);
– Abre una conexión al puerto “port”.  Devuelve 1 si se estableció o 0 si hubo error.

void close();
– Cierra la conexión actual.

void outputs(PCSTR data);
– Activa las salidas enumeradas en “data”.

void outputsOn();
– Enciende las salidas activas

void outputsOff();
– Apaga las salidas activas

void outputsReverse();
– Invierte la polaridad de las salidas activas

void outputsBrake();
– Activa el frenado de las salidas activas

void outputsDir(uint8_t dir);
– Establece la polaridad de las salidas activas.  “dir” puede ser 1 ó 0

void outputsSpeed(uint8_t speed);
– Establece la potencia de las salidas activas.  “speed” es un entero entre 0 y 255.

void steppers(PCSTR data);
– Activa las salidas de motores paso a paso enumeradas en “data”.

void steppersSteps(int32_t steps);
– Enciende las salidas de motores paso a paso activas por la cantidad de pasos especificada en “steps”.

void steppersStop();
– Detiene los motores paso a paso activos.

void steppersDir(uint8_t dir);
– Establece la dirección de los motores paso a paso activos.

uint8_t steppersStatus(PBYTE Buffer);
– Completa Buffer con el estado actual de todos los motores paso a paso configurados.  Los valores posibles son: 0 = detenido, 1 = encendido.
– Devuelve la cantidad de datos (un byte por cada motor)

void servos(PCSTR data);
– Activa las salidas de servomotores enumeradas en “data”

void servosPosition(uint8_t pos);
– Establece la posición de los servomotores activos, especificada en “pos”.  “pos” es un entero entre 0 y 180.

void analogOn(uint8_t channel);
– Activa el reporte de; sensor analógico especificado en “channel”.  “channel” es un entero entre 1 y 8.

void analogOff(uint8_t channel);
– Apaga el reporte de; sensor analógico especificado en “channel”.  “channel” es un entero entre 1 y 8.

uint16_t analogValue();
– Devuelve el último valor sensado en el sensor analógico activo.

void i2c(uint8_t address, uint32_t delay);
– Activa una conexión I2C a la dirección especificada.  “address” es un entero entre 0 y 127

void i2cReport(uint16_t _register, uint32_t bytes);
– Activa el reporte continuo del registro especificado, en la dirección activa.  “bytes” es la cantidad de bytes del registro.  “register” es un entero entre 0 y 65535. “bytes” es un entero.

uint16_t i2cRead(uint16_t _register, uint32_t bytes, PBYTE Buffer);
– Realiza una lectura del registro especificado, en la dirección activa, y completa “Buffer” con el resultado.  “register” es un entero entre 0 y 65535. “bytes” es un entero. “Buffer” es un puntero.

uint16_t i2cValue(uint16_t _register, PBYTE Buffer);
– Devuelve el ultimo valor reportado del registro especificado y completa “Buffer” con el resultado.  “register” es un entero entre 0 y 65535. “Buffer” es un puntero.

void i2cWrite(PCSTR data);
– Escribe el contenido de “data” en la dirección activa.  “data” es un string.