2014-06-10, hazen:

Add 64-bit versions of read and write methods. Apparently under some new C++ rules you aren't allowed to convert uint32_t* to uint64_t* without using a union or something.

(for now, maybe just add -fno-strict-aliasing to Makefile!)

2014-06-10, hazen:

Check for block read capability and automatically choose between block read and single-word reads. e.g.:

 
  if( m_T1 -> getNode(reg).getMode() == uhal::defs::INCREMENTAL))
    // do block read
  else
    // do single reads
That is fine if a register name is used. For the address-based block reads, it is more

2041-06-10, hazen:

Break up block reads greater than 0x400 32-bit words into multiple reads. File a bug report to UHAL developers that reads greater than about 0x500 words causes the following exception:

terminate called after throwing an instance of 'uhal::exception::IPbusCoreResponseCodeSet'
  what():  Returned Header, 0x20180706 ( transaction id = 0x00000018, transaction type = 0x00, word count = 7 ) \
  had response field = 0x06 indicating an error (1025 bytes into IPbus reply payload)
Original sent header was 0x2018080F, 9 bytes into IPbus send payload

A similar ticket has been submitted https://svnweb.cern.ch/trac/cactus/ticket/635

-- EricHazen - 10 Jun 2014

Edit | Attach | Watch | Print version | History: r34 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 10 Jun 2014 - DavidZou
 
  • 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