AMC13 C++ Classes

Below is a table of the AMC13 C++ classes as of 05/30/2013 with a brief description and a link to a page with a more in-depth look at each class's members.

FUN TASK FOR DAVID: write a script that works like Doxygen to keep this documentation up to date, using the source code's comments. smile

Class Name Functionality
AMC13 A class which contains the basic read, write, and control functions for the AMC13
AMC13uHAL A class which connects to an AMC13 using a uHAL connection file, inheriting all of the AMC13 class's members
AMC13_env A class which handles the environment variables and networking specifications needed to create an AMC13 object, and therefore connect to a module
AMC13_flash A class which handles the flash programming and firmware configuration for the AMC13
AMC13_id A class which retrieves essential AMC13 identification information
AMC13_address A class which retrieves essential address table information for the AMC13
AMC13_verify A class which verifies the existence of an AMC13 and its two tongues at a given location

General read/write

   rv read(int chip, const std::string& reg)
   rv readAddress(int chip, uint32_t add)
   std::vector<rv> readBlockAddress(int chip, uint32_t add, size_t nWords)
   size_t readBlockAddress(int chip, uint32_t add, size_t nWords, uint32_t* buffer, size_t bufMax)
   std::vector<rv> readFifoAddress(int, uint32_t, size_t)
   std::map<std::string, uint32_t> readAllReadable(int chip)
   void write(int chip, const std::string& reg, rv value)
   void writeAddress(int chip, rv add, rv value)
   void writeBlockAddress(int chip, uint32_t add, std::vector<uint32_t> data, size_t nWords)
   void writeFifoAddress(int chip, uint32_t add, std::vector<uint32_t> data)
   void writeQueueAddress(int chip, uint32_t add, std::vector<uint32_t> data, size_t nWords)
   void writeTest(int chip)
   

Identification

    rv t1SerialNo()
    rv t2SerialNo()
    rv t1FirmVer()
    rv t2FirmVer()
    rv t1DNA()
    rv t2DNA()
    rv t1HardwareRev()
    rv t2HardwareRev()
    rv firmFlavor()
   

Initialization

   uint32_t parseInputEnableList(std::string list)
   void AMCInputEnable(std::string list)
   daqLinkEnable(bool b)
   void fakeDataEnable(bool b)
   void ttcRxEnable(bool b)
   void monBufBackPressEnable(bool b)
   

Control

   void reset(int chip)
   void sendLocalEvnOrnReset(uint32_t a, uint32_t b)
   void genInternalPeriodicL1As(bool b)
   void enableDaqLinkSenderReceiver()
   void saveReceivedDaqData(bool b)
   megaMonitorScale(bool b)
   setPreScaleFactor(uint32_t noZos)
   genInternalSingleL1A(uint32_t n)
   setTrigType(uint32_t type)
   setLocalL1APeriod(uint32_t n)
   setFEDid(uint32_t id)
   void startRun()
   void endRun()
   

DAQ

   uint32_t nextEventSize() 
   uint32_t readNextEvent(uint32_t *buffer, uint32_t max_buf)
   uint32_t readNextEventNoAdvance(uint32_t *buffer, uint32_t max_buf)
   

-- JimRohlf - 27 May 2012

Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r9 - 30 May 2013 - CharlieHill
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback