The AMC13 register set (and associated uHAL address table) is complex. This page attempts (will attempt!) to document it.

The master address table is kept as two CSV files, one for the T1 board and one for the T2 board. Most registers of interest are on T1. The CSV files are here in SVN. The T1 top-level table is named AMC13XG_Kxxxx.csv with the firmware versions in the name. It "includes" using the XML "module" syntax the sub-file AMCCounters.xml.

The CSV file has the following columns:

Column Name Required?Sorted descending Description
Address Required Register address
LoBit Required Low bit for mask
HiBit Required High bit for mask
Permission Required "r", "w" or "rw"
Name Required Delimited hierarchical name e.g. "STATUS.AMC01.ENABLE" (see naming convention below)
Description Required Text description. Must be quoted with "..."
P_Repeat (new) Optional[3] Repeat uHAL parameter. Number of times this item is repeated
P_Offset (new) Optional[3] Offset uHAL parameter. Offset between repeats. Default to 1 if not specified
P_Show Optional[2] Show uHAL parameter. "nz" to suppress zero values, "z" to suppress non-zero values
P_Format Optional[2] Format uHAL parameter. "d" to force decimal base for display (default is specified by user)
P_Status Optional[1] Status uHAL parameter. Integer display priority 1=always display
P_Table Optional[1] Table uHAL parameter. Name of table for status display
P_Row Optional[1] Row uHAL parameter. Name of row in table for status display
P_Column Optional[1] Column uHAL parameter. Name of column in table for status display
Mode Optional access mode ("incremental" for block-transfer capable areas)
Size Optional required size for block-transfer capable areas

All columns beginning with "P_" are concatenated into the XML attribute "parameters" which is processed as a semicolon-delimited keyword=value list by uHAL. No special characters are permitted in these columns (only letters, numbers and "_").

For an item to appear in the status displays, the P_Status, P_Table, P_Row and P_Column must be specified. P_Table, P_Row and P_Column are sorted alphabetically. Leading digits and "_" characters should be stripped before display so that e.g. "0_" can be used to force a sort order.

The P_Status item sets the display priority. 0 is used to mark configuration registers which may be optionally displayed or not according to user preference. Positive integers 1-9 indicate various levels of detail for status values, with value 1 indicating the highest priority items which should always be displayed.

In the P_Row and P_Column fields, the sequence _n where n is a digit 1-9 results in substituting the corresponding field from the delimited id, e.g. if a field is _2 and the id is STATUS.AMC01.ERRORS then the resulting value would be AMC01.

If P_Repeat is present, it must be an integer count of the number of times this entry is to be repeated in the status display. An offset of 1 is assumed for subsequent entries unless a different address offset is specified with P_Offset. If P_Repeat is specified, either the P_Row or P_Column may have a trailing _d which will be replaced with the decimal value of the repeat counter.

There are many 64-bit counters, which have otherwise identical ids ending in _LO and _HI. These should be treated as a single 64-bit value for purposes of display, if their Table, Row and Column parameters are identical.

The csv file is converted to XML by a perl script in the above directory named csv_to_xml.pl.

-- EricHazen - 14 Aug 2014

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r5 - 04 Feb 2015 - EricHazen
 
  • 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