K1Guitar/MyCode/mymidififo1.h

45 lines
913 B
C
Raw Normal View History

/*
* mymidififo.h
*
* Created on: Jun 12, 2025
* Author: 19120
*/
#ifndef BT_AUDIO_APP_SRC_MYCODE_MYMIDIFIFO1_H_
#define BT_AUDIO_APP_SRC_MYCODE_MYMIDIFIFO1_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#define MIDI_FIFO_MAX_LEN 256
typedef struct {
uint8_t msg[4];
uint8_t msglen;
uint16_t delayCounter;
} MidiFifoItem_t;
typedef struct {
MidiFifoItem_t frame[MIDI_FIFO_MAX_LEN];
int front;
int rear;
} MidiFifoSeq_t;
void mymidififo_init(MidiFifoSeq_t *rb);
int mymidififo_InQueue(MidiFifoSeq_t *rb,MidiFifoItem_t* pFrame);
MidiFifoItem_t* mymidififo_DeQueue(MidiFifoSeq_t *rb);
MidiFifoItem_t* mymidififo_TryDeQueue(MidiFifoSeq_t *rb);
int mymidififo_GetQueueLength(MidiFifoSeq_t *rb);
int mymidififo_IsQueueFull(MidiFifoSeq_t *rb);
int mymidififo_IsQueueEmpty(MidiFifoSeq_t *rb);
#ifdef __cplusplus
}
#endif
#endif /* BT_AUDIO_APP_SRC_MYCODE_MYMIDIFIFO_H_ */