forked from h-sendai/DAQ-Middleware
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
363 lines (299 loc) · 14.5 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
1.4.4 2019-07-01 Hiroshi Sendai
Summary
- No new feature
- Compilation error fix on newer gcc (gcc 6.x or newer) only
(occured on src/lib/json_spirit_v2.06/json_spirit/json_spirit_reader.cpp)
1.4.3 2019-04-16 Hiroshi Sendai
Summary
- License: GNU LGPL
- Fix a Sock library bug in timeout setting method.
- Add C++ library for SiTCP RBCP.
- Add configurable ParameterClient timeout value.
- Add DAQ-Middlweware.spec in source tarball.
Details
BUGFIX: Fix a Sock library bug. If we specify less than 1 seconds
for the timeout value, timeout value was set as 0 seconds.
Timeout default value is 2 seconds. We did not hit the bug
if we did not specify timeout.
FEATURE: Timeout value of ParameterClient was fixed (20 seconds).
Add configurable method via PARAMETER_CLIENT_TIMEOUT
/etc/httpd/conf.d/daq.conf. Default value is 20 seconds.
FEATURE: Add C++ library for SiTCP RBCP. Usage is described in the
Developer's Manual Appendix J.
BUILD: Add packages/rpm/DAQ-Middleware.spec. We now build rpm packages
using
rpmbuild -tb DAQ-Middleware-1.4.3.tar.gz
without any preparations.
1.4.2 2017-01-16 Hiroshi Sendai
Summary
- Fix a bug -d option of run.py
- Fix imcomplete support in daqmw-rpm script for SL 7
- Support Raspbian in source code
- Add SampleReader2
Datails
BUGFIX: Fix a bug -d option for remote boot. It did not work
correctly.
BUGFIX: Fix daqmw-rpm script to setup in Scienfitic Linux 7.
FEATURE: Support Rasibian OS in source code. We do not provide
binary packages.
FEATURE: Add SampleReader2. We consider in SampleReader it is a
fatal error when socket read timeout occure. SampleReader2
does not treat socket read timeout as an fatal error.
1.4.1 2015-07-22 Hiroshi Sendai
Summary
- Fix a bug run.py -T (append datetime to log filename) did not work
when remote boot was used.
- Add an option to run.py to append IP address to log filename (run.py -i)
Details:
BUGFIX: Fix a bug run.py -T (append datetime to log filename) did not
work when remote boot was used. Local boot has been worked
properly.
FEATURE: Add an option to run.py to append IP address to log filename
(run.py -i).
1.4.0 2015-06-01 Hiroshi Sendai
Summary
- Add support for Scientific Linux 7.
- We no longer use pgrep(1) command to lookup DAQ-Component processes,
but lookup /proc/<pid>cmdline. No user visible changes.
- Fix a bug found in TinySource (example of DAQ-Component).
- Fix a bug if the DaqOperator run in Web mode and DAQ-Components reload
by run.py, DaqOperator process consumed CPU power (100%).
Details:
FEATURE: Support Scientific Linux 7 RPM binary package.
INTERNAL: package of pgrep(1) command in Scientific Linux 7 is procps-ng
(porcps in SL 5 and 6) and options has been changed. We used
pgrep(1) command to lookup DAQ-Component processes. We now
scan /proc/<pid>/cmdline to lookup DAQ-Component processes
in run.py
BUGFIX: Fix a bug found on TinySource on timeout treatment.
This bug does not affect SampleReader, SampleMonitor, SampleLogger and
Dispatcher components.
BUGFIX: Fix a bug if the DaqOperator run in Web mode and DAQ-Components
reload by run.py, DaqOperator process consumed CPU power (100%).
1.3.1 2014-12-24 Hiroshi Sendai
Summary
- Verify buffer length in SampleMonitor not to buffer overrun.
- Add shell scripts which changes SampleReader, SampleLogger and
SampleMonitor to appropriate one (examples/change-SampleComp-name)
- Fix typos in SampleLogger
Details:
FEATURE: In SampleMonitor, add data length verification code
not to occure buffer overflow. (Change the buffer length to
1MB. If you need larger buffer, change the DATA_BUF_SIZE value).
FEATURE: Add shell scripts which change Sample components' name in
examples/changes-SampleComp-name/ directory. Change the
new_comp_camel_case line to your components name. We recommend
to use CamelCaseConvension as components name.
FEATURE: Fix typos in SampleLogger::daq_configure():
SampleLoggqer::configure -> SampleLogger::configure
Change the include guard in SampleLogger.h as in SampleMonitor:
SAMPLE_LOGGER -> SAMPLELOGGER_H
1.3.0 2013-11-29 Hiroshi Sendai
Summary
- Add GUI program to create config.xml.
- Add code to get configuration parameters in SampleMonitor.
- Fix a documentation bug in Sock.h
- We can now set ring buffer length, ring buffer timeout
of the InPort in config.xml.
- Add a patch to fix timeout routine in OpenRTM-aist binary package
(RPM).
- Support Ubuntu and Debian xalan command.
Details:
FEATURE: Add GUI program to create config.xml (/usr/bin/confPanel.py).
We can create config.xml for 1 component system (Skeleton),
2 components system (Source - Sink), and 4 components system
(Source - Dispatch - (Sink0, Sink1)).
FEATURE: Add configuration parameter sample code in SampleMonitor.
FEATURE: We can now set ring buffer length, ring buffer timeout
of the InPort in config.xml. Default values are
256 for ring buffer length, 0.005 seconds (5 milli seconds)
for timeout.
Following is a sample to set 4096 ring buffer length, timeout 10
milli seconds:
<inPorts>
<inPort from="SampleReader0:samplereader_out"
buffer_length="4096"
buffer_read_timeout="0.010"
buffer_write_timeout="0.010">
samplemonitor_in
</inPort>
</inPorts>
FEATURE: Support xalan command distributed in Ubuntu and Debian.
DOC BUG FIX:
Fix a documentation bug for return value of readAll.
(readAll() and sendAll() return SUCCESS if success
(not read/write bytes)).
DEPENDENCY FIX:
Fix timeout of InPort ring buffer.
1.2.2 2013-07-31 Hiroshi Sendai
Summary
- Add -N option for daqmw-emulator not to create gaussian data (to test 1Gbps).
- Fix SampleLogger build error due to boost version.
- Update condition database code.
- Fix forever error log message.
Details:
FEATURE: Add -N option for daqmw-emulator. If this option does not specified,
send gaussian data. Gaussian data generation function is a bottleneck
if we need 1Gbps data transfer.
FEATURE: Update condition database code.
- Support long long type.
- Compilation will be failed if unspported type is specified.
- Display warning if a variable is not initialized.
FEATURE: Log error message will be output only once now.
To incorporate this feature, you have to re-compile your
DAQ component.
BUG FIX: Due to boost filesystem version up, we could not build SampleLogger
component.
1.2.1 2012-09-28 Hiroshi Sendai
Summary
- Add SampleFilter component. Configuration file is conf/filter.xml.
- Fix a bug on daq.js.
Details:
FEATURE: Add SampleFilter component (experimental).
Send data to SampleMonitor if the module number is less or
equal to 4.
BUG FIX: daq.js send requests to DAQ-Opearator to get status,
event byte size etc. The request was sent even if
the reply has not received.
The Web UI did not work after long run.
1.2.0 2012-06-29 Hiroshi Sendai
Summary
- API has not changed from 1.1.1.
- Support Scientific Linux 6.x.
- Use mod_wsgi instead of mod_python. URL to daq.py has been changed to
http://localhost/daqmw/scripts/daq.py on Scientific Linux 6.x.
If you access daq.py directly, you have to update the URL.
The URL to daq.py on Scientific Linux 5.x has not been changed.
WebUI operatorPanel's URL has not been changed
(http://localhost/daqmw/operatorPanel/operatorPanel0.html).
- Xerces 3.x support.
- Add daqcom utility to communicate with httpd server in command line.
- Add simple emulator (formally distributed as emulator-GEN_GAUSS).
The executable binary is /usr/bin/daqmw-emulator. Source code of
this emulator is /usr/share/daqmw/daqmw-emulator.
- Add conditionPanel as sample GUI for updating condition variables
(contributed from Nakatani san). The executable binary is
/usr/bin/conditionPanel.py. This program requires wxPython.
- Various bug fixes.
- Fix a bug a floating number in condition.xml was recognized as an inteter.
- Fix one more write_data() in SampleLogger/FileUtils.
- Fix a compile error on Sock library when using gcc 4.7.
- Fix a run.py warning message when running on python 2.7.x.
- Fix a buffer overflow bug in DaqOperatorComp event_byte_size.
- Fix return value of writeAll() when EPIPE error occured.
- Fix a bug that firefox sends SYN packet every time we click the buttons.
- Fix a bug that progname was not defined in run.py.
Details
BUG FIX: condition.xml may have floating numbers. The values end with
".0" were recognized as integer.
BUG FIX: SampleLogger/FileUtils write_data() wrote one more data chunk
if filesize equal to the specified max file size by write_data().
FEATURE: Add simple emlulator (formally distributed as emulator-GEN_GAUSS).
Source files are at /usr/share/daqmw/daqmw-emluator.
FEATURE: Add -M option to run.py to specify giopMaxMsgSize. You may
add "k" for kilo, "m" for mega.
FEATURE: Add mod_wsgi support. On Scientific Linux 5.x, use mod_python.
On Scientific Linux 6.x, use mod_wsgi.
FEATURE: Xerces 3.x now supported. Scientific Linux 6.x has xerces-3.0
package.
BUG FIX: We have to include <unistd.h> to use read(), alarm(), close()
system call when using gcc 4.7. Sock library did not include
<unistd.h>.
BUG FIX: If we use python 2.7.x to run run.py, we received warning message
"FutureWarning: This search is broken in 1.3 and earlier,
and will be fixed in a future version."
BUG FIX: Type of event_byte_size in DaqOperatorComp is unsigned long long
(max 20 digit). The buffer to convert the value to string was too
small to hold 20 digit integer.
BUG FIX: Sock.cpp writeAll() did not return ERROR_FATAL
when EPIPE error occured.
BUG FIX: Firefox had sent SYN packets every time we click the buttons.
This behavior caused huge memory consumption and we could not get
any feedback when we click buttons.
BUG FIX: We did not define progname that is used in error message.
FEATURE: Add daqcom utility. You can commiucate with httpd server by using
this command. Use daqcom --help to get usage.
1.1.1 2011-12-01 Hiroshi Sendai
Summary
- API has not changed from 1.1.0.
- Update Developer's Manual.
- Fix memory leaks on DaqOperatorComp.
- Sock library UDP part bug fix.
- Add -O option to run.py (specify log file when run in Web mode).
- sleep time in daq_base_dummy() (this method is called when the component
is in LOADED, CONFIGURED, and UNCONFIGURED) is reduced to 10 m sec.
To incorporate this fix, users have to recompile their components.
Details
BUG FIX: UPD part of Socket library was not set properly. This bug does not
affect on Socket TCP library.
BUG FIX: There were several memory leaks on DaqOperatorComp.
BUG FIX: sleep time in daq_base_dummy() (was 1 second) caused ParameterClient.h
timeout.
1.1.0 2011-06-17 Hiroshi Sendai
Summary
- Add x86_64 architecture support.
- API changes: set_footer() and check_footer() are now has one argument
for footer buffer. All users have to rewrite their source code if you
use set_footer() and check_footer(). To use new API, remove second
argument of set_footer() and check_footer and re-compile the components.
- Backward compatibility to DAQ-Middleware for MLF (2010.10 etc) on
reset_onError(). All users have to recompile their components to use
backward compatibility feature.
- Add Web User interface.
Details
API: set_footer() and check_footer() has only one argument for footer
buffer.
BUG FIX: Backward compatibility on reset_onError().
FEATURE: Support x86_64 architecture on Scientific Linux 5.x, CentOS 5 and
RedHat Enterprise Linux. Changes are:
- Fix idl for x86_64. Compile verified on x86_64 with omniORB 4.1.4,
i686 with omniORB 4.0.7 and i686 with omniORB 4.1.4
- Install library files to /usr/lib64 if uname -m returns x86_64 AND
/usr/lib64 exists. Otherwise library files will be installed in
/usr/lib.
- New variable DAQMW_LIB_DIR in comp.mk. If uname -m returns x86_64
AND /usr/lib64 exists, DAQMW_LIB_DIR=/usr/lib64.
Otherwise DAQMW_LIB_DIR=/usr/lib.
Makefile of the Sample components in examples directory uses
this variable now.
FEATURE: Don't remove source files. Previous comp.mk would remove
source files if source file name is *.cc.
FEATURE: Stricter check on ROOT development environment on ROOTSYS variable
of the SampleMonitor's Makefile.
FEATURE: Add Web user interface.
CLEANUP: Remove unused data_header_footer.h.
1.0.2 2011-02-08 Hiroshi Sendai
Summary
- Add sample implementation of the logger component in examples directory
(/usr/share/daqmw/examples/Logger). Sample configuration file is at
/usr/share/daqmw/conf/4comps.xml .
- All users have to recompile their components to have display valid strings
when fatal error occured.
Details
BUG FIX: Correction of the order of strings at toString() in FatalType.h
FEATURE: Add SampleLogger in examples directory.
CLEANUP: Remove unneccessary include files from example source.
1.0.1 2011-01-21 Hiroshi Sendai
Summary
- All users have to recompile their components to have get_run_number() work
properly.
- Libraries (Sock, Json) have not been changed.
- We have dispatcher in the example directory.
- We have documentation in the documentation directory (/usr/share/daqmw/docs).
Details
BUG FIX: get_run_number() did not return the run number but always returned 0.
BUF FIX: DaqOperator coredumped if the component is SkeletonComp only.
FEATURE: Add dispatcher component in the example directory
(/usr/share/daqmw/examples).
FEATURE: Add documentation (DAQ-Middleware Technical Manual and Developer's
Manual).
CLEANUP: Remove ConfFileParser::setList(std::vector & list, char*, char*)
from ConfFileParser.cpp because no one does not use this method.
CLEANUP: Remove src/DaqOperator/ServerSocket.{h,cpp}. No one does not use
this.
CLEANUP: add #include <stdio.h> in src/lib/SiTCP/CPP/Sock/Sock.h and
src/DaqOperator/CreateDom.h to be able to compile with gcc44.
CLEANUP: Move set_status() from private to protected in
src/DaqComponent/DaqComponentBase.h (pointed out by Hosoya san).
1.0.0 2010-08-01 Hiroshi Sendai
DAQ-Middleware 1.0.0 Initial Release.