Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

122 рядки
2.2 KiB

  1. #include "Syslog.h"
  2. #include "define.h"
  3. #include <string.h>
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include "terminal.h"
  7. #include "WiFiCtrl.h"
  8. #include "timer.h"
  9. #include "SIM7080GInterface.h"
  10. //#define SYSLOG_BUFFER_SIZE 1024
  11. #define SYSLOG_BUFFER_SIZE 500
  12. char mSyslogBuffer[SYSLOG_BUFFER_SIZE];
  13. int mSyslogBufPtr;
  14. bool mSyslogLTEPassthroughEnabled;
  15. int InitSyslog()
  16. {
  17. mSyslogBufPtr = 0;
  18. mSyslogLTEPassthroughEnabled = 0;
  19. memset(mSyslogBuffer,0,SYSLOG_BUFFER_SIZE);
  20. TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
  21. }
  22. void SyslogTick()
  23. {
  24. if(IsSyslogClientConnected() == 0)
  25. {
  26. mSyslogBufPtr = 0;
  27. return;
  28. }
  29. if(mSyslogBufPtr != 0 && IsTimerExpired(SYSLOG_TX_TIMER) == 1)
  30. {
  31. SendSyslogData(mSyslogBuffer,mSyslogBufPtr);
  32. mSyslogBufPtr = 0;
  33. // if(mSyslogBufPtr >= 150)
  34. // {
  35. // SendSyslogData(mSyslogBuffer,150);
  36. // mSyslogBufPtr -= 150;
  37. //
  38. // }
  39. // else
  40. // {
  41. // SendSyslogData(mSyslogBuffer,mSyslogBufPtr);
  42. // mSyslogBufPtr = 0;
  43. // }
  44. TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
  45. }
  46. }
  47. int SyslogNewByte(char byte)
  48. {
  49. if(IsSyslogClientConnected() == 0)
  50. {
  51. mSyslogBufPtr = 0;
  52. return 0;
  53. }
  54. mSyslogBuffer[mSyslogBufPtr] = byte;
  55. mSyslogBufPtr++;
  56. if(mSyslogBufPtr == SYSLOG_BUFFER_SIZE)
  57. {
  58. SendSyslogData(mSyslogBuffer,SYSLOG_BUFFER_SIZE);
  59. mSyslogBufPtr = 0;
  60. }
  61. TimerStart(SYSLOG_TX_TIMER,SYSLOG_TX_TIMEOUT);
  62. return 1;
  63. }
  64. int SyslogNewString(char *string)
  65. {
  66. if(IsSyslogClientConnected() == 0)
  67. {
  68. mSyslogBufPtr = 0;
  69. return 0;
  70. }
  71. SendSyslogData(string,strlen(string));
  72. return 1;
  73. }
  74. int SyslogIsBufferEmpty()
  75. {
  76. if(mSyslogBufPtr == 0)
  77. return RET_OK;
  78. return RET_ERROR;
  79. }
  80. void SyslogSetLTEPassthrough(bool Enable)
  81. {
  82. mSyslogLTEPassthroughEnabled = Enable;
  83. if(Enable == true)
  84. {
  85. SendSyslogData("\nEntering LTE passthrough mode\n",strlen("\nEntering LTE passthrough mode\n"));
  86. }
  87. else
  88. {
  89. SendSyslogData("\nExiting LTE passthrough mode\n",strlen("\nExiting LTE passthrough mode\n"));
  90. }
  91. }
  92. void RxSyslogBuf(unsigned char *DataBuf, int size)
  93. {
  94. if(mSyslogLTEPassthroughEnabled == true)
  95. {
  96. int i = 0;
  97. for(i = 0; i < size; i++)
  98. {
  99. // LTEFwdPassthroughData(*DataBuf++);
  100. }
  101. }
  102. }