2025-02-15 11:05:28 -05:00

122 lines
2.2 KiB
C

#include "Syslog.h"
#include "define.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#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++);
}
}
}