![]() |
Librería para clientes de AlMarSimulator 1
Librería para E/S de simuladores genéricos (C/C++/Matlab/Python)
|
Archivo de cabecera para utilizar la librería de E/S con el simulador de Sistemas Físicos. More...
Go to the source code of this file.
Macros | |
#define | SIMULATOR_Vcc_V 5.0f |
Tensión de alimentación de las E/S del simulador (5V) | |
#define | SIMULATOR_NO_ERROR 0 |
No ha habido error en la última función ejecutada. | |
#define | CONNECT_IS_OK SIMULATOR_NO_ERROR |
Codigos de error de la función Simulator_ConnectWss() | |
#define | CONNECT_ERROR_SERVER_NOT_RUNNING -1 |
El servidor MongooseWebServer.exe no se está ejecutando. | |
#define | CONNECT_ERROR_SERVER_NOT_RESPONDING -2 |
El servidor MongooseWebServer.exe no responde. | |
#define | N_MAX_TIMERS 4 |
Máximo número de timers admitidos (usar 0 a 3) | |
#define | N_MAX_AD_CONVERTERS 4 |
Máximo número de ADC admitidos (usar 0 a 3) | |
Functions | |
int | Simulator_ConnectWss (const char *appName, const char *userName, const char *passwd, const char *ip_address, int port) |
void | Simulator_Delay (int value_ms) |
int | Simulator_ReadAD (int ad_channel) |
int | Simulator_ReadDI () |
int | Simulator_ReadCounter (int enc_channel) |
int | Simulator_ResetCounter (int enc_channel) |
int | Simulator_ReadDO () |
void | Simulator_WriteDO (int value) |
void | Simulator_ConfigPWM (int pwm_channel, int count_max, int count_value_default, int count_unit_us) |
void | Simulator_SetPWMvalue (int pwm_channel, int count_value) |
int | Simulator_LCD_init () |
int | Simulator_LCD_gotoxy (int col, int row) |
int | Simulator_LCD_printf (const char *fmt,...) |
int | Simulator_SetTimerInterrupt (int timer_number, int tm_ms, void(*Fn)()) |
char | Simulator_Console_GetChar (int blocking) |
int | Simulator_Console_GetString (int blocking, char *textBuffer, int textBufferSize) |
int | Simulator_Console_Printf (const char *fmt,...) |
int | Simulator_Console_Scanf (const char *fmt,...) |
Archivo de cabecera para utilizar la librería de E/S con el simulador de Sistemas Físicos.
Para compilación con QtCreator, añadir lo siguiente al .pro (cambiando el contenido de SIMUL_LIBRARY_PATH por el directorio donde se haya descomprimido la librería).
Archivo .pro:
Ejemplo de uso
test.c:
Definition in file UserLibSimulator.h.
#define CONNECT_ERROR_SERVER_NOT_RESPONDING -2 |
El servidor MongooseWebServer.exe no responde.
Definition at line 64 of file UserLibSimulator.h.
#define CONNECT_ERROR_SERVER_NOT_RUNNING -1 |
El servidor MongooseWebServer.exe no se está ejecutando.
Definition at line 63 of file UserLibSimulator.h.
#define CONNECT_IS_OK SIMULATOR_NO_ERROR |
Codigos de error de la función Simulator_ConnectWss()
Conexión válida
Definition at line 62 of file UserLibSimulator.h.
#define N_MAX_AD_CONVERTERS 4 |
Máximo número de ADC admitidos (usar 0 a 3)
Definition at line 67 of file UserLibSimulator.h.
#define N_MAX_TIMERS 4 |
Máximo número de timers admitidos (usar 0 a 3)
Definition at line 66 of file UserLibSimulator.h.
#define SIMULATOR_NO_ERROR 0 |
No ha habido error en la última función ejecutada.
Definition at line 58 of file UserLibSimulator.h.
#define SIMULATOR_Vcc_V 5.0f |
Tensión de alimentación de las E/S del simulador (5V)
Definition at line 56 of file UserLibSimulator.h.
void Simulator_ConfigPWM | ( | int | pwm_channel, |
int | count_max, | ||
int | count_value_default, | ||
int | count_unit_us ) |
Preparar una salida PWM
pwm_channel | número de canal PWM, empezando por 0. Canales disponibles según aplicación |
count_max | Tpwm en número de pasos de contador |
count_value_default | Ton inicial en número de pasos de contador |
count_unit_us | tiempo por paso de contador en us |
int Simulator_ConnectWss | ( | const char * | appName, |
const char * | userName, | ||
const char * | passwd, | ||
const char * | ip_address, | ||
int | port ) |
Conectar con el simulador: ejecutar una sola vez en main con los datos siguientes (se pueden copiar desde la página web pulsando el botón "Mostrar info clientes"
appName | = nombre de la aplicación ("Piston", "Feedback", etc.) |
userName | = usuario autorizado para la apicación ("alumno") |
passwd | = clave para el usuario encriptada |
ip_address | = dirección ip del servidor ("127.0.0.1" para servidor local) |
port | = puerto del servidor (8080 para servidor local) Ejemplo: int err=Simulator_ConnectWss("Piston","alumno","laclaveencriptada","127.0.0.1",8080); if (err==CONNECT_IS_OK) { ... } |
char Simulator_Console_GetChar | ( | int | blocking | ) |
Obtiene un caracter de la consola de texto asociada al simulador
blocking | si verdadero (distinto de cero), espera hasta que haya un carácter disponible |
int Simulator_Console_GetString | ( | int | blocking, |
char * | textBuffer, | ||
int | textBufferSize ) |
Obtiene una línea de texto de la consola asociada al simulador
blocking | si verdadero (distinto de cero), espera hasta que haya una línea completa disponible |
textBuffer | puntero a tabla de caracteres con espacio suficiente para la cadena |
textBufferSize | longitud de la tabla 'textBuffer' |
int Simulator_Console_Printf | ( | const char * | fmt, |
... ) |
Escribe una línea de texto en la consola asociada al simulador
fmt | cadena de formato, similar a printf() |
... | número variable de argumentos, según cadena de formato, similar a printf() |
int Simulator_Console_Scanf | ( | const char * | fmt, |
... ) |
Espera una línea de texto en la consola asociada al simulador, y guarda datos en variables indicadas
fmt | cadena de formato, similar a scanf() |
... | número variable de argumentos, según cadena de formato, similar a scanf() |
void Simulator_Delay | ( | int | value_ms | ) |
Generar un retardo en la aplicación
value_ms | = tiempo de retardo en milisegundos |
int Simulator_LCD_gotoxy | ( | int | col, |
int | row ) |
Establecer la posición del cursor en el display LCD de 2x24
col | número de columna, de 1 a 24 |
row | número de fila, de 1 a 2 |
int Simulator_LCD_init | ( | ) |
Inicalizar el display LCD de 2x24
int Simulator_LCD_printf | ( | const char * | fmt, |
... ) |
Escribir en la posición actual del cursor en el display LCD de 2x24
fmt | cadena de formato, similar a printf() caracteres especiales: '\f' = borra display '' = retrocede cursor '\t' = avanza cursor ' ' = retorno de carro |
... | número variable de argumentos, según cadena de formato, similar a printf() |
int Simulator_ReadAD | ( | int | ad_channel | ) |
Leer un valor analógico del simulador, nº bits (n) y límites de tensión (Umin-Umax) según aplicación
ad_channel | número de canal AD, empezando por 0. Canales disponibles según aplicación |
int Simulator_ReadCounter | ( | int | enc_channel | ) |
Leer un valor numérico del contador, nº bits (n) según aplicación
enc_channel | número de canal de encóder, empezando por 0. Canales disponibles según aplicación |
int Simulator_ReadDI | ( | ) |
Leer el puerto de entradas digitales del simulador (bits 0 a 31, usos según aplicación)
int Simulator_ReadDO | ( | ) |
Leer el puerto de salidas digitales del simulador (bits 0 a 31, usos según aplicación)
int Simulator_ResetCounter | ( | int | enc_channel | ) |
Resetea a 0 el contador, nº bits (n) según aplicación
enc_channel | número de canal de encóder, empezando por 0. Canales disponibles según aplicación |
void Simulator_SetPWMvalue | ( | int | pwm_channel, |
int | count_value ) |
Establecer el valor de una salida PWM
pwm_channel | número de canal PWM, empezando por 0. Canales disponibles según aplicación |
count_value | Ton inicial en número de pasos de contador |
int Simulator_SetTimerInterrupt | ( | int | timer_number, |
int | tm_ms, | ||
void(*)() | Fn ) |
Establecer una rutina de servicio de interrupción temporizada
timer_number | número de timer, valores de 0 a 3 |
tm_ms | periodo de temporización en milisegundos |
Fn | puntero a la función que se desea ejecutar de forma asíncrona cada vez que venza el temporizador, o NULL para detener el temporizador |
Ejemplo:
void Simulator_WriteDO | ( | int | value | ) |
Escribir el puerto de salidas digitales del simulador (bits 0 a 31, usos según aplicación)
value | valor a escribir en el puerto DO (único), cada pin de salida tomará la tensión según el valor de su bit (0→0V, 1→5V) |