dabelknap / VMEStream

0 stars 1 forks source link

More tests (and fixes for the new tests) #3

Closed ekfriis closed 11 years ago

ekfriis commented 11 years ago

Hi Austin,

Attached are some bug fixes (99558ca) and some additional tests to make sure no data is lost when there is not enough room at the destination, etc. I fixed a couple issues in the code, mostly related to detection if the destination is ready to receive, to make the new tests pass as well.

Have a look and tell me what you think.

Evan

dabelknap commented 11 years ago

Is there any particular reason you use 2 spaces for indentation? I can switch to 2 so diff doesn't keep picking up those changes.

ekfriis commented 11 years ago

Because it is the One True Indentation Level :)

If you want a more authoritative source, here is the google style guide which I try to loosely follow.

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Spaces_vs._Tabs

On Thu, Aug 22, 2013 at 5:14 PM, Austin Belknap notifications@github.comwrote:

Is there any particular reason you use 2 spaces for indentation? I can switch to 2 so diff doesn't keep picking up those changes.

— Reply to this email directly or view it on GitHubhttps://github.com/dabelknap/VMEStream/pull/3#issuecomment-23097801 .

ekfriis commented 11 years ago

in general that is my bad since I am editing your code so I should make my changes match your style. so, sorry. but still I encourage you to switch to 2 spaces :), also braces { on the same line.

On Thu, Aug 22, 2013 at 9:30 PM, Evan K. Friis ekfriis@gmail.com wrote:

Because it is the One True Indentation Level :)

If you want a more authoritative source, here is the google style guide which I try to loosely follow.

http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Spaces_vs._Tabs

On Thu, Aug 22, 2013 at 5:14 PM, Austin Belknap notifications@github.comwrote:

Is there any particular reason you use 2 spaces for indentation? I can switch to 2 so diff doesn't keep picking up those changes.

— Reply to this email directly or view it on GitHubhttps://github.com/dabelknap/VMEStream/pull/3#issuecomment-23097801 .

dabelknap commented 11 years ago

I was drawing my style from different sources. The linux kernel uses 8-space tabs and uses the same bracketing that I use: https://github.com/torvalds/linux/blob/master/drivers/hsi/hsi.c for example. I used 4-space tabs since it seemed to be a good compromise between readability and compactness.

dabelknap commented 11 years ago

The new code/tests pass on my end. What should I begin working on next?

ekfriis commented 11 years ago

Hi Austin,

I think you should now expand vme2fd. You need to pass it the relevant parameters (VME bus address) and then it should loop forever, forwarding the data received on the FIFO along the VME bus (and vice versa) using the protocol you have defined. You will need to add a new function which copies the size registers and RAM registers (when appropriate) from the oRSC card (via a VME memory address, using caen.h and friends) to the memories in a VMEStream.

Don't hesitate to ask if something about this isn't clear!

E

On Fri, Aug 23, 2013 at 7:36 PM, Austin Belknap notifications@github.comwrote:

The new code/tests pass on my end. What should I begin working on next?

— Reply to this email directly or view it on GitHubhttps://github.com/dabelknap/VMEStream/pull/3#issuecomment-23178918 .

dabelknap commented 11 years ago

the caen.h stuff needs the CAENVME libraries: http://www.caen.it/csite/CaenProd.jsp?parent=38&idmod=689. The TS uses the libraries that ship with XDAQ. Should I just get the libraries from www.caen.it, or should I try getting the XDAQ ones? In the former case I would need to register with CAEN, but it should be free.

ekfriis commented 11 years ago

Hi Austin,

I would use the xdaq ones. I generally use a SLC5 virtual machine for this kind of thing, it makes life a lot easier.

Evan

On Mon, Aug 26, 2013 at 11:47 AM, Austin Belknap notifications@github.comwrote:

the caen.h stuff needs the CAENVME libraries: http://www.caen.it/csite/CaenProd.jsp?parent=38&idmod=689. The TS uses the libraries that ship with XDAQ. Should I just get the libraries from www.caen.it, or should I try getting the XDAQ ones? In the former case I would need to register with CAEN, but it should be free.

— Reply to this email directly or view it on GitHubhttps://github.com/dabelknap/VMEStream/pull/3#issuecomment-23253010 .

dabelknap commented 11 years ago

Should I use the SLC6 virtual machine we used for the TS trial-build?

ekfriis commented 11 years ago

If you like, I would stick with SLC5 as there should be fewer issues. One of us will have to solve the SLC6 issues someday, if you want that person to be you and that day to be today, you are welcome to do so :)

On Mon, Aug 26, 2013 at 11:52 AM, Austin Belknap notifications@github.comwrote:

Should I use the SLC6 virtual machine we used for the TS trial-build?

— Reply to this email directly or view it on GitHubhttps://github.com/dabelknap/VMEStream/pull/3#issuecomment-23253193 .