#include "alt_types.h"
#include "scs_fp_queue.h"
#include "scs_fe_queue.h"
#include "scs_ve_queue.h"
#include "scs_io_queue.h"
Go to the source code of this file.
Enumerations | |
enum | scs_event_type { scs_clk_frec_chg, scs_vs_pin_chg, scs_io_read } |
Estructuras y funciones para el manejo de cola de eventos cada tipo de evento tiene un tipo de cola asociado y un conjunto de funciones especifica. More... | |
Functions | |
void | scs_events_init (scs_fp_queue_t *trs_ptr) |
inicializa las colas de eventos | |
void | scs_save_event (enum scs_event_type tipo, void *params) |
Registra el evento, requiere el tipo y un puntero a una estructura con los datos del evento la estructura se interpreta en funcion del tipo de evento. | |
void | scs_events_send_all_fe_queue (void) |
Envia todos los eventos de frecuencia de la cola La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada. | |
void | scs_events_send_all_ve_queue (void) |
Envia todos los eventos de cambio de pines de la cola La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada. | |
void | scs_events_send_all_io_queue (void) |
Envia todos los eventos de lectura IO La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada. |
enum scs_event_type |
Estructuras y funciones para el manejo de cola de eventos cada tipo de evento tiene un tipo de cola asociado y un conjunto de funciones especifica.
cola de eventos de tareas cola de eventos de frecuencia cola de eventos de cambio de pines cola de eventos de io Modulo de gestion de eventos.
proporciona una interfaz para el registro de eventos generados en las isrs las funciones estan protegidas con habilitacion y deshabilitacion de interrupciones para el manejo seguro de memoria.
las isrs pasan los datos del evento, el modulo se encarga de obtener el timestamp y registrar
el modulo administra la memoria usada para registrar eventos
ademas hay interfaz para iniciar el envio de eventos al pc enumerado con los tipos de eventos clk_frec_chg: evento generado al detectar un cambio en la frecuencia de CLK vs_pin_chg: evento generado al detectar un cambio en RST o Vcc scs_io_read: generado en cada nuevo byte recibido por la io_uart
void scs_events_init | ( | scs_fp_queue_t * | trs_ptr | ) |
inicializa las colas de eventos
void scs_events_send_all_fe_queue | ( | void | ) |
Envia todos los eventos de frecuencia de la cola La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada.
veo si hay eventos
si no hay nada, salgo.
si hay, saco uno para convertir a string
acomodo el evento en el string
void scs_events_send_all_io_queue | ( | void | ) |
Envia todos los eventos de lectura IO La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada.
veo si hay eventos
si no hay nada, salgo.
si hay, saco uno para convertir a string
acomodo el evento en el string
void scs_events_send_all_ve_queue | ( | void | ) |
Envia todos los eventos de cambio de pines de la cola La funcion usa send_data de scs_pc_uart, la cual puede quedar bloqueada en caso de estar enviando datos al momento de ser llamada.
veo si hay eventos
si no hay nada, salgo.
si hay, saco uno para convertir a string
acomodo el evento en el string
void scs_save_event | ( | enum scs_event_type | tipo, | |
void * | params | |||
) |
Registra el evento, requiere el tipo y un puntero a una estructura con los datos del evento la estructura se interpreta en funcion del tipo de evento.
Los valores de la estructura se copian al lugar de memoria gestionado por este modulo.
tipo | tipo de evento | |
params | puntero a la estructura de datos del evento, es interpretado en funcion del tipo de evento |
obtengo el timestamp
proceso los parametros en funcion del tipo de evento
ver si hay espacio en la cola, si no hay salir y/o iniciar vaciado de datos. (ahora no hace nada)
agregar a la cola
ver si hay espacio en la cola, si no hay salir y/o iniciar vaciado de datos. (ahora no hace nada)
agregar a la cola
ver si hay espacio en la cola, si no hay salir y/o iniciar vaciado de datos. (ahora no hace nada)
agregar a la cola