returns elapsed time as a double
This commit is contained in:
@@ -90,12 +90,19 @@ static void detectorProducerTask(void *drvPvt) {
|
||||
*/
|
||||
|
||||
asynStatus asynStreamGeneratorDriver::createInt32Param(
|
||||
// TODO should show error if there is one
|
||||
asynStatus status, char *name, int *variable, epicsInt32 initialValue) {
|
||||
// TODO should show error if there is one
|
||||
return (asynStatus)(status | createParam(name, asynParamInt32, variable) |
|
||||
setIntegerParam(*variable, initialValue));
|
||||
}
|
||||
|
||||
asynStatus asynStreamGeneratorDriver::createFloat64Param(
|
||||
asynStatus status, char *name, int *variable, double initialValue) {
|
||||
// TODO should show error if there is one
|
||||
return (asynStatus)(status | createParam(name, asynParamFloat64, variable) |
|
||||
setDoubleParam(*variable, initialValue));
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Stream Generator Methods
|
||||
*/
|
||||
@@ -106,9 +113,9 @@ asynStreamGeneratorDriver::asynStreamGeneratorDriver(
|
||||
const char *detectorTopic, const int kafkaQueueSize,
|
||||
const int kafkaMaxPacketSize)
|
||||
: asynPortDriver(portName, 1, /* maxAddr */
|
||||
asynInt32Mask | asynInt64Mask |
|
||||
asynInt32Mask | asynFloat64Mask |
|
||||
asynDrvUserMask, /* Interface mask */
|
||||
asynInt32Mask | asynInt64Mask, /* Interrupt mask */
|
||||
asynInt32Mask, // | asynFloat64Mask, /* Interrupt mask */
|
||||
0, /* asynFlags. This driver does not block and it is
|
||||
not multi-device, but has a
|
||||
destructor ASYN_DESTRUCTIBLE our version of the Asyn
|
||||
@@ -139,7 +146,7 @@ asynStreamGeneratorDriver::asynStreamGeneratorDriver(
|
||||
status = createInt32Param(status, P_StopString, &P_Stop);
|
||||
status = createInt32Param(status, P_CountPresetString, &P_CountPreset);
|
||||
status = createInt32Param(status, P_TimePresetString, &P_TimePreset);
|
||||
status = createInt32Param(status, P_ElapsedTimeString, &P_ElapsedTime);
|
||||
status = createFloat64Param(status, P_ElapsedTimeString, &P_ElapsedTime);
|
||||
status =
|
||||
createInt32Param(status, P_ClearElapsedTimeString, &P_ClearElapsedTime);
|
||||
status =
|
||||
@@ -688,7 +695,7 @@ void asynStreamGeneratorDriver::processEvents() {
|
||||
for (size_t i = 0; i < num_channels; ++i) {
|
||||
setIntegerParam(P_Counts[i], counts[i]);
|
||||
}
|
||||
setIntegerParam(P_ElapsedTime, (epicsInt32)elapsedSeconds);
|
||||
setDoubleParam(P_ElapsedTime, elapsedSeconds);
|
||||
|
||||
if ((countPreset && counts[presetChannel] >= countPreset) ||
|
||||
(timePreset && elapsedSeconds > (double)timePreset)) {
|
||||
|
||||
Reference in New Issue
Block a user