From: <ro...@us...> - 2009-06-17 14:05:30
|
Revision: 2151 http://nscldaq.svn.sourceforge.net/nscldaq/?rev=2151&view=rev Author: ron-fox Date: 2009-06-17 14:02:47 +0000 (Wed, 17 Jun 2009) Log Message: ----------- Partial? getting all this to work on gcc 4.2 Modified Paths: -------------- trunk/llnlReadout/devices/C785.cpp trunk/llnlReadout/devices/C830.cpp trunk/llnlReadout/devices/CCAENChain.cpp trunk/llnlReadout/devices/CConfigurableObject.cpp trunk/llnlReadout/devices/CMarker.cpp trunk/llnlReadout/devices/CStack.cpp trunk/llnlReadout/rdothread/CAcquisitionThread.cpp trunk/llnlReadout/rdothread/CAcquisitionThread.h trunk/llnlReadout/tclserver/serverinstance.cpp Modified: trunk/llnlReadout/devices/C785.cpp =================================================================== --- trunk/llnlReadout/devices/C785.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/C785.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -442,7 +442,7 @@ // Compute the register value (see 4.33 of the V775 manual). // float nsRange = static_cast<float>(range); - float rRange = 36040.0/(rRange + 1.3333); + float rRange = 36040.0/(nsRange + 1.3333); controller.vmeWrite16(base+FSRange, initamod, static_cast<uint16_t>(rRange + 0.5)); } Modified: trunk/llnlReadout/devices/C830.cpp =================================================================== --- trunk/llnlReadout/devices/C830.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/C830.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -19,6 +19,7 @@ #include <CVMUSB.h> #include <CVMUSBReadoutList.h> #include <CConfiguration.h> +#include <stdlib.h> #include <assert.h> #include <set> @@ -290,7 +291,7 @@ size_t readSize = headers ? 1 : 0; // Header or no header long. - for (int i =0; i < 32; i++) { + for (uint32_t i =0; i < 32; i++) { if (enables & (1 << i)) readSize++; } @@ -301,7 +302,7 @@ if (getTriggerSource() == vme) { list.addWrite16(baseAddress + TRIGGER, configAmod, 0); - list.addDelay(24); // 200ns units. + list.addDelay(50); // 200ns units. } // Add the block transfer from the MEB Modified: trunk/llnlReadout/devices/CCAENChain.cpp =================================================================== --- trunk/llnlReadout/devices/CCAENChain.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/CCAENChain.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -24,6 +24,7 @@ #include <Globals.h> #include <tcl.h> #include <assert.h> +#include <stdlib.h> using namespace std; Modified: trunk/llnlReadout/devices/CConfigurableObject.cpp =================================================================== --- trunk/llnlReadout/devices/CConfigurableObject.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/CConfigurableObject.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -22,6 +22,7 @@ #include <tcl.h> #include <math.h> #include <tcl.h> +#include <string.h> using namespace std; Modified: trunk/llnlReadout/devices/CMarker.cpp =================================================================== --- trunk/llnlReadout/devices/CMarker.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/CMarker.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -23,8 +23,8 @@ #include "CReadoutModule.h" #include <CVMUSBReadoutList.h> +#include <stdlib.h> - using namespace std; Modified: trunk/llnlReadout/devices/CStack.cpp =================================================================== --- trunk/llnlReadout/devices/CStack.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/devices/CStack.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -24,6 +24,8 @@ #include <assert.h> #include <tcl.h> #include <Globals.h> +#include <stdlib.h> + #include <set> #include <iostream> Modified: trunk/llnlReadout/rdothread/CAcquisitionThread.cpp =================================================================== --- trunk/llnlReadout/rdothread/CAcquisitionThread.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/rdothread/CAcquisitionThread.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -459,6 +459,7 @@ pBuffer->s_bufferType = TYPE_EVENTS; cerr << "Got a buffer, with type header: " << hex << pBuffer->s_rawData[0] << endl; if (pBuffer->s_rawData[0] & VMUSBLastBuffer) { + bootToTheHead(); cerr << "Done\n"; done = true; } @@ -470,16 +471,7 @@ cerr << "Read timed out\n"; if(timeouts >= DRAINTIMEOUTS) { cerr << "Warning: drainUsb() persistent timeout assuming already drained\n"; - uint32_t junk; - cerr << "Desparate measures being employed to attempt final drain\n"; - m_pVme->writeActionRegister(CVMUSB::ActionRegister::sysReset); - m_pVme->writeActionRegister(0); - usleep(100); - m_pVme->vmeRead32(0, CVMUSBReadoutList::a32UserData, &junk); - status = m_pVme->usbRead(pBuffer->s_rawData, pBuffer->s_storageSize, - &bytesRead, DRAINTIMEOUTS*1000); - cerr << "Final desparate attempt to flush usb fifo got status: " - << status << endl; + bootToTheHead(); done = true; } } @@ -517,3 +509,23 @@ processBuffer(pBuffer); } +/*! + Do a 'drastic purge' of the VM-USB. +*/ +void +CAcquisitionThread::bootToTheHead() +{ + uint32_t junk; + cerr << "Desparate measures being employed to attempt final drain\n"; + m_pVme->writeActionRegister(CVMUSB::ActionRegister::sysReset); + m_pVme->writeActionRegister(0); + usleep(100); + m_pVme->vmeRead32(0, CVMUSBReadoutList::a32UserData, &junk); + uint8_t buffer[13*1024*2]; + size_t bytesRead; + int status = m_pVme->usbRead(buffer, + sizeof(buffer), + &bytesRead, DRAINTIMEOUTS*1000); + cerr << "Final desparate attempt to flush usb fifo got status: " + << status << endl; +} Modified: trunk/llnlReadout/rdothread/CAcquisitionThread.h =================================================================== --- trunk/llnlReadout/rdothread/CAcquisitionThread.h 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/rdothread/CAcquisitionThread.h 2009-06-17 14:02:47 UTC (rev 2151) @@ -98,6 +98,7 @@ void drainUsb(); void beginRun(); void endRun(); + void bootToTheHead(); }; Modified: trunk/llnlReadout/tclserver/serverinstance.cpp =================================================================== --- trunk/llnlReadout/tclserver/serverinstance.cpp 2009-06-05 20:47:44 UTC (rev 2150) +++ trunk/llnlReadout/tclserver/serverinstance.cpp 2009-06-17 14:02:47 UTC (rev 2151) @@ -41,7 +41,7 @@ using namespace std; #endif -char *eol = "\n"; +const char *eol = "\n"; ////////////////////////////////////////////////////////////////////////// // This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |