// Queue Access Library
// 081723 DS

#ifndef QueueLib

#define QueueLib

// queue for incoming at200 data.. outgoing to cloud  18 byte record
#define at_QSIZ 500

typedef struct AT200Q
{
  uint32_t serial;
  uint8_t chan;
  uint8_t batt;
  uint8_t type;
  uint8_t stat;
  uint16_t ver;
  uint16_t rssi;
  uint16_t data;
  uint32_t etime;
};

AT200Q at_QTempData;

uint8_t QueueLibVB = 0; // if = 1, turn on Serial prints

// Function Prototypes
void atQ_push(void);
void atQ_pull_FIFO(void);
void atQ_pull_LIFO(void);
uint16_t atQ_size(void);
void atQ_flush(void);

#endif
