This may not be exactly what you asking for, however there is %j -- day of year converter for %T ,timestamp, converter in streamdevice.
So protocol command
in "%T(%j%H%M%S)";
should provide you formated string with an absolute time staring from UNIX epoch.
If interested, see the source code:
stream-2-6/streamDevice/src/TimestampConverter.cc
Further, I have found TIME field redirection with %T very handy. It sets processing time of a PV from data read from streamdevice input. If device sends lines like:
Voltage=1.234 V at time 000:02:40:15\n
Single "in" protocol command can set ai record with both value and time at once.
Tomas
I have a timer device that provides data over a RS232 serial interface. I’m using StreamDevice to grab the data and publish as PVs. The data contains several times. All the times come in as an ASCII string containing days, hours, minutes
and seconds and I'm writing them to stringin PVs. However, the data does not contain any separators, so the data coming in looks something like 000024015 (i.e. 000 days, 02 hours, 40 minutes, 15 seconds). I know the ‘in’ command needs to match the incoming
data exactly or else it is discarded, but is there a way to add formatting to the PV that is NOT in the data? All I want to do is add a ‘:’ separator between each part, so the PV value will be like 000:02:40:15. Any suggestions?
Thanks!