68 #if defined(XSENS_DEBUG)
77 #if defined(LOG_RX_TX_PER_STATE) || defined(LOG_RX_TX_UNIQUE)
83 inline static void makeFilenameUnique(
char* filename,
char const* state)
85 #if defined(LOG_RX_TX_PER_STATE) || defined(LOG_RX_TX_UNIQUE)
87 strcpy(basename, filename);
88 basename[strlen(basename) - 4] = 0;
89 sprintf(filename,
"%s_%" PRINTF_INT64_MODIFIER
"u%s.log", basename, XsTimeStamp::nowMs(), state);
96 #ifdef LOG_RX_TX_PER_STATE
97 inline static void checkStateRx(
char* state,
int length,
XsByteArray const& data,
XsFile& rx_log)
104 while (idx < length - 4)
106 if (data[idx] == 0xFA && (data[idx + 1] == 0xFF || data[idx + 1] == 0) && data[idx + 3] == 0)
108 switch (data[idx + 2])
111 strcpy(state,
"_Config");
114 strcpy(state,
"_Measurement");
117 strcpy(state,
"_Operational");
120 strcpy(state,
"_Recording");
123 strcpy(state,
"_Flushing");
134 if (rx_log.isOpen() && state[0] != 0)
140 inline static void checkStateRx(
char* state,
int length,
void const* data,
XsFile& rx_log)
143 checkStateRx(state, length, tmp, rx_log);
146 #define CHECK_STATE_RX(length, data, logfile) \
147 char state[16] = "";\
148 checkStateRx(state, (int) (length), (data), (logfile))
150 inline static void checkStateTx(
char* state,
int length,
XsByteArray const& data,
XsFile& tx_log)
157 while (idx < length - 4)
159 if (data[idx] == 0xFA && (data[idx + 1] == 0xFF || data[idx + 1] == 0) && data[idx + 3] == 0)
161 switch (data[idx + 2])
164 strcpy(state,
"_Config");
167 strcpy(state,
"_Measurement");
170 strcpy(state,
"_Operational");
173 strcpy(state,
"_Recording");
176 strcpy(state,
"_Flushing");
187 if (tx_log.isOpen() && state[0] != 0)
193 inline static void checkStateTx(
char* state,
int length,
void const* data,
XsFile& tx_log)
196 checkStateTx(state, length, tmp, tx_log);
198 #define CHECK_STATE_TX(length, data, logfile) \
199 char state[16] = "";\
200 checkStateTx(state, (int) (length), (data), (logfile))
203 static const char state[1] =
"";
204 #define CHECK_STATE_RX(...) ((void)0)
205 #define CHECK_STATE_TX(...) ((void)0)