Condensed functions for GetDataPoints to only use one.

Keep HandleGetLastData for now (for older clients).
This commit is contained in:
Martin Preuss
2023-10-18 15:27:53 +02:00
parent a3f866f69c
commit f0cfbfccc4
8 changed files with 183 additions and 31 deletions

View File

@@ -113,6 +113,17 @@ int AQH_Tool_GetDataPoints(GWEN_DB_NODE *dbGlobalArgs, int argc, char **argv)
I18S("Get data up until this timestamp (latest timestamp if omitted)"),
I18S("Get data up until this timestamp (latest timestamp if omitted)")
},
{
GWEN_ARGS_FLAGS_HAS_ARGUMENT, /* flags */
GWEN_ArgsType_Int, /* type */
"numOfLastDatapoints", /* name */
0, /* minnum */
1, /* maxnum */
"n", /* short option */
NULL, /* long option */
I18S("Get last n datapoints"),
I18S("Get last n datapoints")
},
{
0, /* flags */
GWEN_ArgsType_Int, /* type */
@@ -206,6 +217,7 @@ int _doGetDataPoints(GWEN_DB_NODE *dbArgs)
const char *valueName;
uint64_t tsBegin;
uint64_t tsEnd;
uint64_t num;
GWEN_MSG *msgOut;
int printMean;
int rv;
@@ -213,6 +225,7 @@ int _doGetDataPoints(GWEN_DB_NODE *dbArgs)
printMean=GWEN_DB_GetIntValue(dbArgs, "printMean", 0, 0);
timeoutInSeconds=GWEN_DB_GetIntValue(dbArgs, "timeout", 0, 5);
valueName=GWEN_DB_GetCharValue(dbArgs, "valueName", 0, NULL);
num=GWEN_DB_GetIntValue(dbArgs, "numOfLastDatapoints", 0, 0);
tsBegin=_getTimeStampFromString(GWEN_DB_GetCharValue(dbArgs, "tsBegin", 0, NULL));
if (tsBegin==(uint64_t) (-1)) {
DBG_ERROR(NULL, "Bad begin timestamp");
@@ -231,8 +244,7 @@ int _doGetDataPoints(GWEN_DB_NODE *dbArgs)
}
/*fprintf(stdout, "Sending GetDataPoints request\n");*/
msgOut=AQH_GetDataDataIpcMsg_new(AQH_MSGTYPE_IPC_DATA_GETDATA_REQ, valueName, tsBegin, tsEnd);
msgOut=AQH_GetDataDataIpcMsg_new(AQH_MSGTYPE_IPC_DATA_GETDATA_REQ, valueName, tsBegin, tsEnd, num);
GWEN_MsgEndpoint_AddSendMessage(epTcp, msgOut);
rv=_awaitAndCalcAndPrintResponse(epTcp, timeoutInSeconds, printMean?1:0);

View File

@@ -211,7 +211,7 @@ void _sendCommand(GWEN_MSG_ENDPOINT *epTcp, const char *valueName)
{
GWEN_MSG *msgOut;
msgOut=AQH_GetDataDataIpcMsg_new(AQH_MSGTYPE_IPC_DATA_GETLASTDATA_REQ, valueName, 0, 0);
msgOut=AQH_GetDataDataIpcMsg_new(AQH_MSGTYPE_IPC_DATA_GETLASTDATA_REQ, valueName, 0, 0, 1);
GWEN_MsgEndpoint_AddSendMessage(epTcp, msgOut);
}

View File

@@ -325,17 +325,17 @@ void Utils_PrintSingleDataPoint(uint64_t timestamp, double data, const char *val
ts=GWEN_Timestamp_fromLocalTime((time_t) timestamp);
if (ts)
fprintf(stdout, "%04d/%02d/%02d-%02d:%02d:%02d\t%lf\t%s\n",
fprintf(stdout, "%04d/%02d/%02d-%02d:%02d:%02d\t%lf\t%s\t%lu\n",
GWEN_Timestamp_GetYear(ts),
GWEN_Timestamp_GetMonth(ts),
GWEN_Timestamp_GetDay(ts),
GWEN_Timestamp_GetHour(ts),
GWEN_Timestamp_GetMinute(ts),
GWEN_Timestamp_GetSecond(ts),
data, valueUnits?valueUnits:"");
data, valueUnits?valueUnits:"", (unsigned long) timestamp);
else
fprintf(stdout, "\t%lf\t%s\n",
data, valueUnits?valueUnits:"");
fprintf(stdout, "\t%lf\t%s\t%lu\n",
data, valueUnits?valueUnits:"", (unsigned long) timestamp);
}