Upload files to "/"
This commit is contained in:
parent
da8e241e53
commit
73e466e181
|
|
@ -0,0 +1,35 @@
|
|||
// 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
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
// Queue Access Library
|
||||
// 081723 DS
|
||||
|
||||
#include "QueueLib.h"
|
||||
|
||||
AT200Q at_Q[at_QSIZ];
|
||||
uint16_t at_Qhead = 0;
|
||||
uint16_t at_Qtail = 0;
|
||||
|
||||
//*******************************************************
|
||||
//
|
||||
//*******************************************************
|
||||
|
||||
void atQ_push(void) // load tempdata struct first.. pointer sits on next one to add
|
||||
{
|
||||
/*
|
||||
at_Q[at_Qhead].serial = at_QTempData.serial;
|
||||
at_Q[at_Qhead].chan = at_QTempData.chan;
|
||||
at_Q[at_Qhead].type = at_QTempData.type;
|
||||
at_Q[at_Qhead].stat = at_QTempData.stat;
|
||||
at_Q[at_Qhead].ver = at_QTempData.ver;
|
||||
at_Q[at_Qhead].rssi = at_QTempData.rssi;
|
||||
at_Q[at_Qhead].data = at_QTempData.data;
|
||||
at_Q[at_Qhead].etime = getEpochRtc();
|
||||
*/
|
||||
|
||||
at_Q[at_Qhead] = at_QTempData;
|
||||
|
||||
if (++at_Qhead >= at_QSIZ)
|
||||
at_Qhead = 0; // if at end then wrap
|
||||
|
||||
if (at_Qhead == at_Qtail)
|
||||
at_Qtail++; // if hit other pointer then we full
|
||||
if (at_Qtail == at_QSIZ)
|
||||
at_Qtail = 0; // if at end then wrap
|
||||
|
||||
if (QueueLibVB)
|
||||
Serial.printf("Qsize %d\n", atQ_size());
|
||||
}
|
||||
|
||||
//*******************************************************
|
||||
//
|
||||
//*******************************************************
|
||||
|
||||
void atQ_pull_FIFO(void) // dumps into tempdata struct pointer sits on next on to pull
|
||||
{
|
||||
/*
|
||||
at_QTempData.serial = at_Q[at_Qtail].serial;
|
||||
at_QTempData.type = at_Q[at_Qtail].type;
|
||||
at_QTempData.stat = at_Q[at_Qtail].stat;
|
||||
at_QTempData.chan = at_Q[at_Qtail].chan;
|
||||
at_QTempData.ver = at_Q[at_Qtail].ver;
|
||||
at_QTempData.rssi = at_Q[at_Qtail].rssi;
|
||||
at_QTempData.data = at_Q[at_Qtail].data;
|
||||
at_QTempData.etime = at_Q[at_Qtail].etime;
|
||||
*/
|
||||
|
||||
at_QTempData = at_Q[at_Qtail];
|
||||
|
||||
if (++at_Qtail == at_QSIZ)
|
||||
at_Qtail = 0; // if at end then wrap
|
||||
}
|
||||
|
||||
//*******************************************************
|
||||
//
|
||||
//*******************************************************
|
||||
|
||||
void atQ_pull_LIFO(void) // dumps into tempdata struct pointer sits on next on to pull
|
||||
{
|
||||
if (at_Qhead == at_Qtail)
|
||||
return;
|
||||
|
||||
// must have wraped on last push
|
||||
if (at_Qhead == 0)
|
||||
at_Qhead = (at_QSIZ - 1);
|
||||
else
|
||||
at_Qhead--;
|
||||
|
||||
at_QTempData = at_Q[at_Qhead]; // copy it
|
||||
|
||||
/*
|
||||
at_QTempData.serial = at_Q[at_Qhead].serial;
|
||||
at_QTempData.type = at_Q[at_Qhead].type;
|
||||
at_QTempData.stat = at_Q[at_Qhead].stat;
|
||||
at_QTempData.chan = at_Q[at_Qhead].chan;
|
||||
at_QTempData.ver = at_Q[at_Qhead].ver;
|
||||
at_QTempData.rssi = at_Q[at_Qhead].rssi;
|
||||
at_QTempData.data = at_Q[at_Qhead].data;
|
||||
at_QTempData.etime = at_Q[at_Qhead].etime;
|
||||
*/
|
||||
|
||||
if (QueueLibVB)
|
||||
Serial.printf("PULL LIFO : H: %d T: %d\n", at_Qhead, at_Qtail);
|
||||
}
|
||||
|
||||
//*******************************************************
|
||||
//
|
||||
//*******************************************************
|
||||
|
||||
uint16_t atQ_size(void)
|
||||
{
|
||||
if (at_Qhead >= at_Qtail)
|
||||
return (at_Qhead - at_Qtail);
|
||||
else
|
||||
return ((at_QSIZ - at_Qtail) + at_Qhead);
|
||||
}
|
||||
|
||||
//*******************************************************
|
||||
//
|
||||
//*******************************************************
|
||||
|
||||
void atQ_flush(void)
|
||||
{
|
||||
memset(at_Q, 0, sizeof(at_Q));
|
||||
at_Qhead = at_Qtail = 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#ifndef Queue_ADI
|
||||
|
||||
#define Queue_ADI
|
||||
|
||||
//queue for incoming at200 data.. outgoing to cloud 18 byte record
|
||||
#define at_QSIZ 500
|
||||
struct AT200Q
|
||||
{
|
||||
long serial;
|
||||
byte chan;
|
||||
byte batt;
|
||||
byte type;
|
||||
byte stat;
|
||||
int ver;
|
||||
int rssi;
|
||||
int data;
|
||||
uint32_t etime;
|
||||
} at_Q[at_QSIZ], at_Qtempdata;
|
||||
|
||||
int at_Qhead = 0;
|
||||
int at_Qtail = 0;
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
#include "QueueLib.h"
|
||||
// Project specific Queue access functions
|
||||
|
||||
void pushCheckin(void)
|
||||
{
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 0;
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.type = 35;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = (int)(voltageNow * 100);
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Pushing Voltage to Queue");
|
||||
atQ_push();
|
||||
}
|
||||
|
||||
void pushDoorStatus(void)
|
||||
{
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 1;
|
||||
at_QTempData.type = 51;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = doorState;
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push Door Status to Queue");
|
||||
atQ_push();
|
||||
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 2;
|
||||
at_QTempData.type = 47;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = motorGetPosition(0);
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push Master Door Position to Queue");
|
||||
atQ_push();
|
||||
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 3;
|
||||
at_QTempData.type = 47;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = motorGetPosition(1);
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push Slave Door Position to Queue");
|
||||
atQ_push();
|
||||
|
||||
// pushCheckin();
|
||||
}
|
||||
|
||||
void pushNTP(uint32_t ep) // for testing to see how often NTP gets through
|
||||
{
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 99;
|
||||
at_QTempData.type = 53;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = ep;
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push NTP to Queue");
|
||||
atQ_push();
|
||||
}
|
||||
|
||||
void pushMaxCurrents(void)
|
||||
{
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 4;
|
||||
at_QTempData.type = 47;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = getMaxCurrent(0);
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push Max Current 0");
|
||||
atQ_push();
|
||||
|
||||
at_QTempData.ver = parm[14];
|
||||
at_QTempData.serial = parm[64];
|
||||
at_QTempData.chan = 5;
|
||||
at_QTempData.type = 47;
|
||||
at_QTempData.rssi = getWifiRSSI();
|
||||
at_QTempData.data = getMaxCurrent(1);
|
||||
at_QTempData.etime = getEpochRtc();
|
||||
|
||||
Serial.println("Push Max Current 1");
|
||||
atQ_push();
|
||||
}
|
||||
Loading…
Reference in New Issue