#include "Syslog.h" #include "define.h" #include #include #include #include "terminal.h" #include "WiFiCtrl.h" #include "timer.h" #include "SIM7080GInterface.h" //#define SYSLOG_BUFFER_SIZE 1024 #define SYSLOG_BUFFER_SIZE 500 char mSyslogBuffer[SYSLOG_BUFFER_SIZE]; int mSyslogBufPtr; bool mSyslogLTEPassthroughEnabled; int InitSyslog() { mSyslogBufPtr = 0; mSyslogLTEPassthroughEnabled = 0; memset(mSyslogBuffer,0,SYSLOG_BUFFER_SIZE); TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT); } void SyslogTick() { if(IsSyslogClientConnected() == 0) { mSyslogBufPtr = 0; return; } if(mSyslogBufPtr != 0 && IsTimerExpired(SYSLOG_TX_TIMER) == 1) { SendSyslogData(mSyslogBuffer,mSyslogBufPtr); mSyslogBufPtr = 0; // if(mSyslogBufPtr >= 150) // { // SendSyslogData(mSyslogBuffer,150); // mSyslogBufPtr -= 150; // // } // else // { // SendSyslogData(mSyslogBuffer,mSyslogBufPtr); // mSyslogBufPtr = 0; // } TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT); } } int SyslogNewByte(char byte) { if(IsSyslogClientConnected() == 0) { mSyslogBufPtr = 0; return 0; } mSyslogBuffer[mSyslogBufPtr] = byte; mSyslogBufPtr++; if(mSyslogBufPtr == SYSLOG_BUFFER_SIZE) { SendSyslogData(mSyslogBuffer,SYSLOG_BUFFER_SIZE); mSyslogBufPtr = 0; } TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT); return 1; } int SyslogNewString(char *string) { if(IsSyslogClientConnected() == 0) { mSyslogBufPtr = 0; return 0; } SendSyslogData(string,strlen(string)); return 1; } int SyslogIsBufferEmpty() { if(mSyslogBufPtr == 0) return RET_OK; return RET_ERROR; } void SyslogSetLTEPassthrough(bool Enable) { mSyslogLTEPassthroughEnabled = Enable; if(Enable == true) { SendSyslogData("\nEntering LTE passthrough mode\n",strlen("\nEntering LTE passthrough mode\n")); } else { SendSyslogData("\nExiting LTE passthrough mode\n",strlen("\nExiting LTE passthrough mode\n")); } } void RxSyslogBuf(unsigned char *DataBuf, int size) { if(mSyslogLTEPassthroughEnabled == true) { int i = 0; for(i = 0; i < size; i++) { // LTEFwdPassthroughData(*DataBuf++); } } }