v1_04_05¶
Summary Description¶
Version v1_04_05 was released on 6/15/2015. This release fixes a critical bug in libDTCInterface that was causing ARTDAQ applications to crash. It also incorporates a few small bugfixes elsewhere in the code. The driver has been updated to support v3.<RON INSERT KERNEL VERSION HERE> kernels, which included updating several structures within the driver to avoid depreciated code.
DTCInterface Changes¶
- DTC_Timestamp::toPacketFormat(): Properly cast the timestamp array members to 'int' before printing to avoid the compiler interpreting them as 'char' types and printing entirely the wrong thing
- DTC_DataPacket::DTC_DataPacket(): Change default size of direct-allocated memory buffer from 16 bytes to 64 (the minimum DMA transfer length)
- DTC_DataPacket::DTC_DataPacket(const DTC_DataPacket& in): Implemented copy constructor as default copy constructor behaved incorrectly. New copy constructor performs a "shallow" copy when DTC_DataPacket points to a buffer obtained from the DTC, and a "deep" copy when it is pointing to locally-allocated memory. (This is the critical bugfix referenced above.)
- DTC_DataPacket::Resize(): Added a delete[] of the old buffer after copying data into the new one; potential memory leak fix
- bool DTC_DataPacket::IsMemoryPacket() accessor added (True if DTC_DataPacket points to DTC buffer, false otherwise)
CFOInterface Changes¶
- No changes to the CFOInterface for this version
DTC Web Interface Changes¶
- No changes to the DTC Web Interface for this version
CFO Web Interface Changes¶
- No changes to the CFO Web Interface for this version
Driver Changes¶
- Updated Makefiles to use CC=/usr/bin/gcc to resolve potential kernel symbol lookup errors
- Kernel version checking, use compat_ioctl for kernel v2.6.40 and higher
- Removed depreciated __devexit_p and __devexit macros