Difference: AMC13CppProductionSoftware (1 vs. 28)

Revision 2818 May 2021 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in git here:
Line: 3 to 3
 This page describes the production AMC13 C++ support software. The software is in git here:

Current tags: browse AMC13SoftwareHistory

Deleted:
<
<
 
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git
or $ git clone https://gitlab.cern.ch/cms-cactus/boards/amc13.git
$ git tag -l (List the available tags)

Changed:
<
<
$ git checkout tags/1.2.13 (To checkout a specific tag - check the list for the most up to date)
>
>
$ git checkout tags/1.2.18 (To checkout a specific tag - check the list for the most up to date)
 

Master: browse

Revision 2704 Dec 2020 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in git here:
Line: 18 to 20
 
Changed:
<
<
Install from RPMs using yum:
>
>
Install from RPMs using yum: (OUT OF DATE!)
  1) Download the repo file and copy to /etc/yum.repos.d, renaming to cactus-amc13.repo:
Deleted:
<
<
 
wget https://svnweb.cern.ch/trac/cactus/export/HEAD/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo
sudo cp cactus-amc13.slc6.x86_64.repo /etc/yum.repos.d/cactus-amc13.repo

Revision 2618 Nov 2020 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in git here:
Changed:
<
<
Current tags: browse AMC13SoftwareHistory
>
>
Current tags: browse AMC13SoftwareHistory
 
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git
or $ git clone https://gitlab.cern.ch/cms-cactus/boards/amc13.git
$ git tag -l (List the available tags)

Revision 2517 Nov 2020 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in git here:
Line: 3 to 3
 This page describes the production AMC13 C++ support software. The software is in git here:

Current tags: browse AMC13SoftwareHistory

Added:
>
>
 
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git

Added:
>
>
or $ git clone https://gitlab.cern.ch/cms-cactus/boards/amc13.git
 $ git tag -l (List the available tags) $ git checkout tags/1.2.13 (To checkout a specific tag - check the list for the most up to date)

Revision 2422 Feb 2019 - DanielArcaro

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
Changed:
<
<
This page describes the production AMC13 C++ support software. The software is in cactus here:
>
>
This page describes the production AMC13 C++ support software. The software is in git here:
 
Changed:
<
<
Current tags: browse AMC13SoftwareHistory

svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_2_13

>
>
Current tags: browse AMC13SoftwareHistory
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git
$ git tag -l (List the available tags)
$ git checkout tags/1.2.13  (To checkout a specific tag - check the list for the most up to date)

 
Changed:
<
<
NOTE: The tag given above may be out of date. Please use the "browse" link to find the most recent tag.

Trunk: browse

svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

>
>
Master: browse
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git

 

Documentation:

Line: 37 to 37
 2a) Install the software (from Source, assuming other CACTUS RPMs like IPBus are installed):

To check out and build the code:

Changed:
<
<
$ svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

>
>
$ git clone  ssh://git@gitlab.cern.ch:7999/cms-cactus/svn2git/software/boards/amc13.git

 $ cd amc13 $ source env.sh $ make

Revision 2319 Dec 2018 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in cactus here:
Changed:
<
<
Current tags: browse AMC13SoftwareHistory
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_2_5

>
>
Current tags: browse AMC13SoftwareHistory

svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_2_13

 

NOTE: The tag given above may be out of date. Please use the "browse" link to find the most recent tag.

Changed:
<
<
Trunk: browse
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

>
>
Trunk: browse

svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

 

Documentation:

Line: 19 to 19
 
Changed:
<
<
Install from RPMs using yum:
>
>
Install from RPMs using yum:
  1) Download the repo file and copy to /etc/yum.repos.d, renaming to cactus-amc13.repo:
Changed:
<
<
wget https://svnweb.cern.ch/trac/cactus/export/HEAD/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo

>
>
wget https://svnweb.cern.ch/trac/cactus/export/HEAD/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo

 sudo cp cactus-amc13.slc6.x86_64.repo /etc/yum.repos.d/cactus-amc13.repo

2) Install the software (from RPMs):

Changed:
<
<
sudo yum clean all

>
>
sudo yum clean all

 sudo yum groupinstall amc13
Line: 35 to 31
 sudo yum groupinstall amc13
Deleted:
<
<
 The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.

2a) Install the software (from Source, assuming other CACTUS RPMs like IPBus are installed):

To check out and build the code:

Changed:
<
<
$ svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

>
>
$ svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

 $ cd amc13 $ source env.sh $ make

To run the code, from a new shell

Changed:
<
<
$ cd ..../amc13

>
>
$ cd ..../amc13

 $ source env.sh $ export AMC13_ADDRESS_TABLE_PATH=/home/hazen/work/check/amc13/amc13/etc/amc13
Line: 130 to 118
 
Method Description
Flash* AMC13::getFlash() Returns a pointer to flash programming object for an AMC13
Changed:
<
<
void writeFlashPage(uint32_t, std::vector) Write 256-byte page
>
>
void writeFlashPage(uint32_t, std::vector<uint32_t>) Write 256-byte page
 
void eraseFlashSector(uint32_t) Erase sector (256K bytes)
void programFlash(const std::string&, uint32_t) Program flash from MCS file to specified address
void verifyFlash(const std::string&, uint32_t) Verify flash from MCS file at specified address

Revision 2210 Jul 2018 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in cactus here:
Line: 7 to 7
 svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_2_5
Added:
>
>
NOTE: The tag given above may be out of date. Please use the "browse" link to find the most recent tag.
 Trunk: browse
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

Revision 2111 Sep 2017 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in cactus here:

Current tags: browse AMC13SoftwareHistory


Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_4
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_2_5
 

Trunk: browse

Revision 2030 Aug 2016 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes the production AMC13 C++ support software. The software is in cactus here:
Line: 22 to 22
 1) Download the repo file and copy to /etc/yum.repos.d, renaming to cactus-amc13.repo:


Changed:
<
<
wget https://svnweb.cern.ch/trac/cactus/export/30508/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo
>
>
wget https://svnweb.cern.ch/trac/cactus/export/HEAD/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo
 sudo cp cactus-amc13.slc6.x86_64.repo /etc/yum.repos.d/cactus-amc13.repo

Revision 1925 Apr 2016 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
Changed:
<
<
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
>
>
This page describes the production AMC13 C++ support software. The software is in cactus here:
  Current tags: browse AMC13SoftwareHistory

Line: 13 to 12
 svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13
Changed:
<
<
yum

>
>
Documentation:

Install from RPMs using yum:

 1) Download the repo file and copy to /etc/yum.repos.d, renaming to cactus-amc13.repo:
Added:
>
>

 wget https://svnweb.cern.ch/trac/cactus/export/30508/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo sudo cp cactus-amc13.slc6.x86_64.repo /etc/yum.repos.d/cactus-amc13.repo
Added:
>
>
 
Changed:
<
<
2) Install the software:
>
>
2) Install the software (from RPMs):
 
Added:
>
>

 sudo yum clean all sudo yum groupinstall amc13
Deleted:
<
<
  The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.
Added:
>
>
2a) Install the software (from Source, assuming other CACTUS RPMs like IPBus are installed):

To check out and build the code:

$ svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13
$ cd amc13
$ source env.sh
$ make

To run the code, from a new shell

$ cd ..../amc13
$ source env.sh
$ export AMC13_ADDRESS_TABLE_PATH=/home/hazen/work/check/amc13/amc13/etc/amc13
 Please keep up-to-date: Amc13CppProductionSoftwareToDoList

Class AMC13

Revision 1809 Sep 2015 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse AMC13SoftwareHistory
>
>
Current tags: browse AMC13SoftwareHistory
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_2
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_4
 

Trunk: browse

Revision 1708 May 2015 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse AMC13SoftwareHistory
>
>
Current tag: browse AMC13SoftwareHistory
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_0
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_2
 

Trunk: browse

Revision 1615 Apr 2015 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse AMC13SoftwareHistory
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_7
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_1_0
 

Trunk: browse

Revision 1529 Oct 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_6
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_7
 

Trunk: browse

Revision 1418 Oct 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_5
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_6
 

Trunk: browse

Line: 25 to 25
 sudo yum clean all sudo yum groupinstall amc13
Changed:
<
<
API Documentation (night Doxygen build)
>
>
  The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.

Revision 1302 Oct 2014 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_3
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_5
 

Trunk: browse

Revision 1212 Sep 2014 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Line: 13 to 13
 svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13
Added:
>
>
yum
1) Download the repo file and copy to /etc/yum.repos.d, renaming to cactus-amc13.repo:

wget https://svnweb.cern.ch/trac/cactus/export/30508/trunk/scripts/release/cactus-amc13.slc6.x86_64.repo
sudo cp cactus-amc13.slc6.x86_64.repo /etc/yum.repos.d/cactus-amc13.repo

2) Install the software:

sudo yum clean all
sudo yum groupinstall amc13
 API Documentation (night Doxygen build)

The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line

Revision 1112 Sep 2014 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_2
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_3
 

Trunk: browse

Revision 1011 Sep 2014 - DavidZou

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_1
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_2
 

Trunk: browse

Revision 904 Sep 2014 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Changed:
<
<
Current tag: browse
>
>
Current tag: browse
 

Changed:
<
<
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_0
>
>
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_1
 

Trunk: browse

Revision 828 Aug 2014 - DanielGastler

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Added:
>
>
Current tag: browse
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/tags/amc13/amc13_v1_0_0

Trunk: browse

 
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13
Deleted:
<
<
Browse svn: Here
  API Documentation (night Doxygen build)

Revision 717 Aug 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Line: 8 to 8
  Browse svn: Here
Added:
>
>
API Documentation (night Doxygen build)
 The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.

Revision 605 Jul 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The software is now in cactus here:
Line: 6 to 6
 
svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13
Added:
>
>
Browse svn: Here
  The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.

Revision 502 Jul 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014.
Changed:
<
<
The temporary home is in our private svn. It will be hosted on CACTUS once released.
>
>
The software is now in cactus here:

svn co svn+ssh://svnuser@svn.cern.ch/reps/cactus/trunk/cactusupgrades/boards/amc13/software/amc13

The AMC13 low-level libraries are in the amc13 folder, while AMC13Tool and other command-line utilities are in the tools folder.

  Please keep up-to-date: Amc13CppProductionSoftwareToDoList
Line: 71 to 77
 
Method Description
uint64_t * AMC13::readEvent( size_t& nwords, int& rc) Read one (possibly segmented) event. Set nwords to size, return ptr to malloc()'d buffer
Added:
>
>

Flash Memory Support

Method Description
Flash* AMC13::getFlash() Returns a pointer to flash programming object for an AMC13
void writeFlashPage(uint32_t, std::vector) Write 256-byte page
void eraseFlashSector(uint32_t) Erase sector (256K bytes)
void programFlash(const std::string&, uint32_t) Program flash from MCS file to specified address
void verifyFlash(const std::string&, uint32_t) Verify flash from MCS file at specified address
void loadFlash() Force reconfiguration of T1 and T2 FPGAs from flash sectors
void loadFlashT1() Force reconfiguration of T1 FPGA only
  -- EricHazen - 04 Jun 2014

Revision 417 Jun 2014 - DavidZou

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The temporary home is in our private svn.
Line: 62 to 62
 
void AMC13::setLocalL1APeriod(uint32_t n) Set the local L1A period to n for internally generated L1As on the AMC13
void AMC13::sendLocalEvnOrnReset(uint32_t a, uint32_t b) Send a local EvN reset if a and OrN reset if b
void AMC13::setFEDid(uint32_t id) Set the AMC13 FED ID to id
Added:
>
>
void AMC13::sfpOutputEnable(uint32_t mask) Enable SFPs using 3-bit mask, mask enables SFPs 2,1,0
 
void AMC13::startRun() Put the AMC13 into run mode
void AMC13::endRun() Take the AMC13 out of run mode

Revision 310 Jun 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The temporary home is in our private svn. It will be hosted on CACTUS once released.
Added:
>
>
Please keep up-to-date: Amc13CppProductionSoftwareToDoList
 

Class AMC13

This class inherits low-level access from AMC13Simple

Revision 205 Jun 2014 - EricHazen

Line: 1 to 1
 
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The temporary home is in our private svn.
Line: 45 to 45
 
void AMC13::reset(int chip) Issues a general reset to tongue chip
void AMC13::AMCInputEnable( uint32_t mask) Enable AMC backplane inputs using bit mask (bit 0=AMC1 etc)
void AMC13::enableAllTTC() Enable all AMC13 TTC backplane outputs
Changed:
<
<
void AMC13::daqLinkEnable(bool b) Enable/disable the DAQ Link with boolean b
>
>
void AMC13::daqLinkEnable(int n, bool b) Enable/disable DAQ fiber link n (0..2) with boolean b
 
void AMC13::fakeDataEnable(bool b) Enable/disable fake data generation in the AMC13 event builder with boolean b
Added:
>
>
void AMC13::setFakeSize( int n) set fake event size (0..0x3ffff)
 
void AMC13::localTtcSignalEnable(bool b) Enables/disable the locally generated TTC signal in the AMC13 with boolean b
void AMC13::genInternalL1AsEnable(bool b) Enable/disable locally generated L1As in the AMC13 with boolean b
void AMC13::ttcRxEnable(bool b) Enable/disable the TTC Rx module on the AMC13 with boolean b

Revision 104 Jun 2014 - EricHazen

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="AMC13CppSoftware"
This page describes new AMC13 C++ support software under development as of June 2014. The temporary home is in our private svn. It will be hosted on CACTUS once released.

Class AMC13

This class inherits low-level access from AMC13Simple

Method Description
AMC13::AMC13( string& connection_file) Constructor with uHAL connection file [Note 1]
AMC13::AMC13( string& URI1, string& AT1, string& URI2, string& AT2) Constructor with URIs and Address Table File paths
AMC13::~AMC13() Clean up and delete connections

Notes:

1. The uHAL connection file must contain exactly two entries with id="T1" and "id="T2"

Accessors to uHAL interfaces

Method Description
uhal::HwInterface* AMC13::T1() Returns pointer to T1 interface
uhal::HwInterface* AMC13::T2() Returns pointer to T2 interface

Read/Write functions

Method Description
uint32_t AMC13::read( int chip, string& reg) Single read from named register
uint32_t AMC13::read( int chip, uint32_t addr) Single read from address
size_t AMC13::read( int chip, string& reg, size_t nwords, uint32_t* buffer) Block read from named register [Note 1]
size_t AMC13::read( int chip, uint32_t addr, size_t nwords, uint32_t buffer) Block read from address
void AMC13::write( int chip, string& reg, uint32_t val) Single write to named register
void AMC13::write( int chip, uint32_t addr, uint32_t val) Single write to address
size_t AMC13::write( int chip, string& reg, size_t nwords, uint32_t* buffer) Block write to named register [Note 1]
size_t AMC13::write( int chip, uint32_t addr, size_t nwords, uint32_t* buffer) Block write to address

Notes:

1. The address table item must have mode="incremental" and size=nnnn attributes defined for the block read/write operations to work

Control Functions

Method Description
void AMC13::reset(int chip) Issues a general reset to tongue chip
void AMC13::AMCInputEnable( uint32_t mask) Enable AMC backplane inputs using bit mask (bit 0=AMC1 etc)
void AMC13::enableAllTTC() Enable all AMC13 TTC backplane outputs
void AMC13::daqLinkEnable(bool b) Enable/disable the DAQ Link with boolean b
void AMC13::fakeDataEnable(bool b) Enable/disable fake data generation in the AMC13 event builder with boolean b
void AMC13::localTtcSignalEnable(bool b) Enables/disable the locally generated TTC signal in the AMC13 with boolean b
void AMC13::genInternalL1AsEnable(bool b) Enable/disable locally generated L1As in the AMC13 with boolean b
void AMC13::ttcRxEnable(bool b) Enable/disable the TTC Rx module on the AMC13 with boolean b
void AMC13::monBufBackPressEnable(bool b) Enable/disable SDRAM backpressure on the AMC13 with boolean b
void AMC13::genInternalPeriodicL1As(bool b) Start/stop the sending of locally generated periodic triggers on the AMC13 with boolean b
void AMC13::megaMonitorScale(bool b) Enable/disable event-number masked prescaling boolean b
void AMC13::setPreScaleFactor(uint32_t noZos) Sets the number of lower bits set to zero in the prescale factor with argument noZos
void AMC13::genInternalSingleL1A(uint32_t n) Generate a burst of n internally generated L1As on the AMC13
void AMC13::setTrigType(uint32_t type) Set the type of periodic trigger to be generated on the AMC13 with argument type
void AMC13::setLocalL1APeriod(uint32_t n) Set the local L1A period to n for internally generated L1As on the AMC13
void AMC13::sendLocalEvnOrnReset(uint32_t a, uint32_t b) Send a local EvN reset if a and OrN reset if b
void AMC13::setFEDid(uint32_t id) Set the AMC13 FED ID to id
void AMC13::startRun() Put the AMC13 into run mode
void AMC13::endRun() Take the AMC13 out of run mode

DAQ Functions

Method Description
uint64_t * AMC13::readEvent( size_t& nwords, int& rc) Read one (possibly segmented) event. Set nwords to size, return ptr to malloc()'d buffer

-- EricHazen - 04 Jun 2014

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback