diff options
Diffstat (limited to 'code/esp32/components/eos/include/msgq.h')
-rw-r--r-- | code/esp32/components/eos/include/msgq.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/code/esp32/components/eos/include/msgq.h b/code/esp32/components/eos/include/msgq.h new file mode 100644 index 0000000..ebf54ce --- /dev/null +++ b/code/esp32/components/eos/include/msgq.h @@ -0,0 +1,20 @@ +#include <stdint.h> + +#include "fe310.h" + +typedef struct EOSMsgItem { + unsigned char cmd; + unsigned char buffer[EOS_FE310_SIZE_BUF]; + uint16_t len; +} EOSMsgItem; + +typedef struct EOSMsgQ { + uint8_t idx_r; + uint8_t idx_w; + uint8_t size; + EOSMsgItem *array; +} EOSMsgQ; + +void eos_msgq_init(EOSMsgQ *msgq, EOSMsgItem *array, uint8_t size); +int eos_msgq_push(EOSMsgQ *msgq, unsigned char cmd, unsigned char *buffer, uint16_t len); +void eos_msgq_pop(EOSMsgQ *msgq, unsigned char *cmd, unsigned char **buffer, uint16_t *len); |