71 lines
1.1 KiB
C
71 lines
1.1 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"
|
|
|
|
#define SYSLOG_BUFFER_SIZE 1024
|
|
char mSyslogBuffer[SYSLOG_BUFFER_SIZE];
|
|
int mSyslogBufPtr;
|
|
|
|
int InitSyslog()
|
|
{
|
|
mSyslogBufPtr = 0;
|
|
memset(mSyslogBuffer,0,SYSLOG_BUFFER_SIZE);
|
|
|
|
}
|
|
|
|
|
|
void SyslogTick()
|
|
{
|
|
if(IsSyslogClientConnected() == 0)
|
|
{
|
|
mSyslogBufPtr = 0;
|
|
return;
|
|
}
|
|
|
|
if(mSyslogBufPtr != 0 && IsTimerExpired(SYSLOG_TX_TIMER) == 1)
|
|
{
|
|
SendSyslogData(mSyslogBuffer,mSyslogBufPtr);
|
|
mSyslogBufPtr = 0;
|
|
}
|
|
|
|
}
|
|
|
|
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;
|
|
}
|
|
|