新增运行日志功能
This commit is contained in:
parent
1618b51b7b
commit
2aee14221d
@ -1,4 +1,5 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@ -26,12 +27,21 @@ using namespace std;
|
|||||||
|
|
||||||
|
|
||||||
int fd; //串口
|
int fd; //串口
|
||||||
|
ofstream fileout; //文件
|
||||||
|
|
||||||
|
|
||||||
|
static void SendDebugPause(int siginal) ;
|
||||||
|
static void SendDebugContinue(int siginal);
|
||||||
|
static void SendDebugReset(int siginal);
|
||||||
|
string GetStrTime(void);
|
||||||
|
string GetStrFullTime(void);
|
||||||
|
|
||||||
|
|
||||||
//向 Arduino 发送暂停命令
|
//向 Arduino 发送暂停命令
|
||||||
static void SendDebugPause(int siginal)
|
static void SendDebugPause(int siginal)
|
||||||
{
|
{
|
||||||
digitalWrite(DEBUG_GPIO, LOW);
|
digitalWrite(DEBUG_GPIO, LOW);
|
||||||
|
fileout << "Pause in: " << GetStrFullTime() << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -40,20 +50,26 @@ static void SendDebugContinue(int siginal)
|
|||||||
{
|
{
|
||||||
digitalWrite(DEBUG_GPIO, HIGH);
|
digitalWrite(DEBUG_GPIO, HIGH);
|
||||||
cout << '\n';
|
cout << '\n';
|
||||||
|
fileout << "Start in: " << GetStrFullTime() << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//向 Arduino 发送重启命令
|
//向 Arduino 发送重置命令,并结束程序
|
||||||
static void SendDebugRestart(int siginal)
|
static void SendDebugReset(int siginal)
|
||||||
{
|
{
|
||||||
serialClose(fd);
|
serialClose(fd);
|
||||||
fd = serialOpen("/dev/ttyACM0", DEBUG_BAUT_RATE);
|
fd = serialOpen("/dev/ttyACM0", DEBUG_BAUT_RATE);
|
||||||
digitalWrite(DEBUG_GPIO, LOW);
|
digitalWrite(DEBUG_GPIO, LOW);
|
||||||
|
cout << '\n';
|
||||||
|
fileout << "Reset in: " << GetStrFullTime() << endl;
|
||||||
|
fileout.close();
|
||||||
|
|
||||||
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//获取当前时间字符串
|
//获取当前时间字符串
|
||||||
string GetStrTime()
|
string GetStrTime(void)
|
||||||
{
|
{
|
||||||
time_t timep;
|
time_t timep;
|
||||||
time(&timep);
|
time(&timep);
|
||||||
@ -63,12 +79,27 @@ string GetStrTime()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(void)
|
//获取当前完整时间字符串
|
||||||
|
string GetStrFullTime(void)
|
||||||
{
|
{
|
||||||
|
time_t timep;
|
||||||
|
time(&timep);
|
||||||
|
char tmp[64];
|
||||||
|
strftime(tmp, sizeof(tmp), "%Y-%m-%d-%H-%M-%S", localtime(&timep));
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
//注册 linux 终端信号
|
//注册 linux 终端信号
|
||||||
signal(SIGINT, SendDebugPause); //Ctrl + C
|
signal(SIGINT, SendDebugPause); //Ctrl + C
|
||||||
signal(SIGTSTP, SendDebugContinue); //Ctrl + Z
|
signal(SIGTSTP, SendDebugContinue); //Ctrl + Z
|
||||||
signal(SIGQUIT, SendDebugRestart); //Ctrl + \
|
signal(SIGQUIT, SendDebugReset); //Ctrl + \
|
||||||
|
|
||||||
|
//新建 log 文件
|
||||||
|
string filename = GetStrFullTime() + ".log";
|
||||||
|
fileout.open(filename.c_str(), ios::out);
|
||||||
|
|
||||||
//初始化树莓派 GPIO
|
//初始化树莓派 GPIO
|
||||||
wiringPiSetup();
|
wiringPiSetup();
|
||||||
@ -115,6 +146,7 @@ int main(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cout << line_head + line_type + line_info + COLOR_RESET;
|
cout << line_head + line_type + line_info + COLOR_RESET;
|
||||||
|
fileout << line_head + line_info;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user