|  26 Jan 2007, Carl Metelko, Forum, Front end electronics broadcast data over ethernet, can midas read this in | 
| Hi, the system I'm building will have data read into the frontend nodes
 via ethernet (optic). Is this possible?>
 | 
|  26 Feb 2007, Stefan Ritt, Info, Fragmented polled events | 
| Fragmented polled events have been implemented in SVN revision 3625. Fragmentation is a method of breaking down large (>MB) events into smaller
 pieces and send them through the shared memory buffers, reassembling them at the
 | 
|  05 Sep 2006, Konstantin Olchanski, Forum, Forums moved from dasdevpc.triumf.ca to ladd00.triumf.ca | 
| For the record, the MIDAS (& co) forums have been physically moved from dasdevpc.triumf.ca to our new server machine ladd00.triumf.ca. This change
 should be transparent to all users, but if anything stops working, please let me
 | 
|  29 Jan 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend | 
| Hello! As you know, the generic MIDAS frontend has a class driver, device driver, bus driver
 structure. Assuming a slow device frontend, its class driver should have a routine of type
 | 
|  02 Feb 2020, Konstantin Olchanski, Info, Force triggering of idle routine of a frontend | 
| Hi, Giorgio - I think you encountered a fundamental problem with what to do at the begin of run. There are two ways of thinking about it.
 
 | 
|  02 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend | 
| Dear Konstantin, thank you very much for the explanation. I already have an idea of how to solve my problem by bypassing the class driver altogether or by slightly modifying
 the mfe.cxx frontend.
 | 
|  03 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend | 
| It is important to note that slow control readout and sending of midas events are two separate things. Readout is done as fast as possible, even multi-threaded if selected. On fast devices this can be 100 Hz readout rate and even more. This data is stored in an internal buffer. When one of the values changes by
 more than the update threshold, then the ODB gets updated. The midas events are composed from this internal buffer when a new event has to be sent. This
 | 
|  04 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend | 
| Dear Stefan, thank you very much for the clarification. I knew about the DF_XXX flags and I am making good use of them in all my frontends. Anyway, what I really needed
 was to change the readout rate depending on the run status (in particular DF_RUNNING or DF_TRANSITION).
 | 
|  07 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend | 
| Dear Giorgio, 
 ok, now I'm slowly getting your point.
 | 
|  07 Feb 2020, Pintaudi Giorgio, Info, Force triggering of idle routine of a frontend | 
| Dear Stefan, Thank you for the advice. I will try to modify the driver as you say. As for the dynamical change of readout rate, basically you are telling me that is
 not achievable without dirty hacks like mine and it is better to find a way to avoid it.
 | 
|  09 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend | 
| You dirty hacks will probably work, but what you REALLY want is to read out your HV always as fast as possible, not only during run transitions or ramping. We had a case where a detector produced electrostatic discharges which only lasted for a second or so, and we were happy to detect this in spikes in the
 HV current. With measurements of only one per minute we would not have realized that so quicky.
 | 
|  10 Feb 2020, Konstantin Olchanski, Info, Force triggering of idle routine of a frontend | 
| > We had a case where a detector produced electrostatic discharges which only lasted for a second or so > and we were happy to detect this in spikes in the HV current. With measurements of only one per minute
 > we would not have realized that so quicky.
 | 
|  12 Feb 2020, Stefan Ritt, Info, Force triggering of idle routine of a frontend | 
| I had a look again at the issue. If you sett the event limit to zero in the EQUIPMENT list, then the idle() routine of your class driver is called as often as possible. Typically with 100 Hz. It's then up to you what to do in the class driver. The hv_idle() routine of the HV class driver shipped in the distribution
 for example read a channel more often if it has been changed recently. Look at the lines
 | 
|  10 May 2013, Konstantin Olchanski, Bug Fix, Fixed: crash if alarm "write elog message" is enabled | 
| If the MIDAS Alarm property "write elog message" is enabled, an uninitialized variable "tag" is passed to el_submit() and depending on your luck, cause a crash. "tag" is supposed to be and is now a NUL-
 terminated string. The only other use of el_submit() is in mhttpd.cxx and mserver.c, where it is called
 | 
|  15 Jan 2014, Konstantin Olchanski, Bug Fix, Fixed spurious symlinks to midas.log | 
| In some experiments (i.e. DEAP), we see spurious symlinks to midas.log scattered just about everywhere. I now traced this to an uninitialized variable in cm_msg_log() and it should be fixed now. K.O.
 | 
|  30 Oct 2003, Stefan Ritt, , Fixed several potential problems for ODB corruption | 
| I just realized that db_set_value, db_set_data, db_set_num_values and db_merge_data do not check for num_values == 0. With such a parameter the
 ODB can become corrupted, since zero length ODB entries are not allowed. I
 | 
|  18 May 2006, Stefan Ritt, Bug Fix, Fixed problems with reload of custom pages | 
| We had a problem with custom pages and reloading of them. If they contain an ODB field which is editable, one can change the ODB value through the custom page. The URL then contains a "?cmd=Set&value=x&index=x" section, which stays in the browser's address bar after the ODB value has been updated. If the
 value changes later by some other means in the ODB, and one presses "reload" in the browser, the above URL gets executed again and the value gets changed
 | 
|  07 May 2009, Konstantin Olchanski, Bug Fix, Fixed mlogger run start and stop | 
| Fixed problems with mlogger starting and stopping runs. 
 Basic difficulty was with the mlogger using ASYNC transitions, which did not implement proper
 | 
|  02 Nov 2017, Konstantin Olchanski, Bug Fix, Fixed mlogger memory corruption, updated mxml | 
| I the agdaq system I see memory corruption in the mlogger. There were at least two bugs: one memory allocation error in mxml and one incorrect memset() in mlogger.cxx. The mxml bug is fixed
 in the mxml repository, mlogger.cxx bug is fixed in the midas-2017-10 branch.
 | 
|  27 Nov 2008, Konstantin Olchanski, Info, Fixed mlogger crash, was Per-variable history implementation in the mlogger | 
| > revision 4142+4143 are minor fixes, refactoring (switch the code to use helper > functions) and implementation of history for structured banks
 
 |