00001 #ifndef SCS_VE_QUEUE_H_ 00002 #define SCS_VE_QUEUE_H_ 00003 00004 #include "alt_types.h" 00005 00007 #define SCS_VE_Q_SIZE 32 00008 00016 00017 00018 typedef struct { 00019 alt_u8 pin_cambiado; 00020 alt_u8 valores; 00021 } scs_vs_pin_event_params; 00022 00023 00027 typedef struct { 00028 alt_u32 time; 00029 scs_vs_pin_event_params params; 00030 } scs_vs_event_t; 00031 00032 00033 00048 typedef struct { 00049 scs_vs_event_t elements[SCS_VE_Q_SIZE]; 00050 int num_e; 00051 int rd_idx; 00052 } scs_ve_queue_t; 00053 00054 00058 void scs_init_ve_queue(scs_ve_queue_t* queue); 00059 00064 void scs_add_ve_element(scs_ve_queue_t* queue,scs_vs_event_t e); 00065 00070 scs_vs_event_t scs_remove_ve_element(scs_ve_queue_t* queue); 00071 00076 int scs_is_ve_empty(scs_ve_queue_t* queue); 00077 00082 int scs_is_ve_full(scs_ve_queue_t* queue); 00083 00084 00085 #endif /*SCS_VE_QUEUE_H_*/