Coder Social home page Coder Social logo

VMEStream Echo Test about cms-calo-layer1 HOT 9 CLOSED

uwcms avatar uwcms commented on July 21, 2024
VMEStream Echo Test

from cms-calo-layer1.

Comments (9)

ekfriis avatar ekfriis commented on July 21, 2024

@nwoods @tsarangi you should be able to test this at Chamberlin once
Mathias gives you a VME enabled BE bitfile

On Wed, Oct 30, 2013 at 11:09 AM, Austin Belknap
[email protected]:

The VMEStream executable vme2fd needs to be tested with the hardware. A
description of the usage of vm2fd is in the Wiki:
https://github.com/uwcms/cms-calo-layer1/wiki/The-oRSC#vmestream.

The vmestream_echo_test runs on the oRSC back-end:
https://github.com/dabelknap/cms-calo-layer1/tree/master/orsc_be_vmestream_echo_test.
It takes data from VME (sent from vme2fd) and resends it back to vme2fd.
From the VMEPC, a sample session should look like this:

$ ./vme2fd orsc_send orsc_recv

In a separate terminal,

$ echo "put that in your pipe and smoke it" > orsc_send

The string should be read by vme2fd, sent to the oRSC via VME, then sent
back to vme2fd. The string should then appear in the output named pipe.

$ cat osrc_recv
put that in your pipe and smoke it


Reply to this email directly or view it on GitHubhttps://github.com//issues/42
.

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

I have started working on the echo test w/ the latest VME RAM definitions. Single read/write and block read/write operations work fine. However, as vme2fd loops, the value of the size registers somehow become corrupted. Haven't determined the cause yet.

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

@mathiasblake
@pklabbers
Do you know if repeated (identical) VME read/write operations can cause corruption to the data stored in the RAM or the registers? In vme2fd, the values of the registers and the RAM seem to be fine for a few loops. Somehow, one of the registers gets set to 0xffff during a CAEN read/write operation (I'm not sure which). This causes a segmentation fault since the value of this register is used to determine how much data to read from a buffer. What is also strange is that the number of loops before this error appears is different each time I run vme2fd.

from cms-calo-layer1.

pklabbers avatar pklabbers commented on July 21, 2024

I haven't seen such a problem on the RCT's registers or accessing the LUTs (memory chips for the RCT). Could the
VME be accessing something else in the crate? The RCT cards VME LEDs blink if they are accessed, the 0xFFFF looks like what one gets if one trys to read out a LUT without settting a card in read mode first.

from cms-calo-layer1.

pklabbers avatar pklabbers commented on July 21, 2024

I had a thought - is the RCT crate booted? Could it be that you are accessing unprogrammed RCT cards. I cannot vouch for their good behavior if their VME addresses haven't been set up properly in a "caenRCTBoot".

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

Yes, I tried booting the crate and problem persists. Also, the addresses I am accessing are on the oRSC.

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

I think the problem is more nefarious than I originally thought. I wrote a skeleton version of vme2fd and slowly added in components bit-by-bit. Everything works fine until I initialize a VMEStream struct: then, the corrupted register problem appears. It might not be a VME problem, but rather a compiler/UNIX issue.

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

I just created an example that reproduces the problem. If you would like to have a look, it is located here: https://gist.github.com/dabelknap/7467516. It turns out that VMEStream wasn't the cause after all.

from cms-calo-layer1.

dabelknap avatar dabelknap commented on July 21, 2024

I have also tried power-cycling the crate, and this didn't help either.

from cms-calo-layer1.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.