Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Trigger Distribution
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Trigger Distribution
Commits
ccf58c66
Commit
ccf58c66
authored
Sep 28, 2019
by
Dimitris Lampridis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[doc] update documentation and examples
parent
bc224077
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
26 additions
and
22 deletions
+26
-22
devel.rst
doc/devel.rst
+4
-2
ref_spec_fmc_adc.rst
doc/ref_spec_fmc_adc.rst
+2
-2
ref_svec_tdc_fd.rst
doc/ref_svec_tdc_fd.rst
+11
-9
usage_clib.rst
doc/usage_clib.rst
+9
-9
No files found.
doc/devel.rst
View file @
ccf58c66
...
@@ -304,5 +304,7 @@ matching, event forwarding, etc.) will be handled by WRTD.
...
@@ -304,5 +304,7 @@ matching, event forwarding, etc.) will be handled by WRTD.
.. doxygenfunction:: wrtd_route_in
.. doxygenfunction:: wrtd_route_in
.. hint:: Contrary to the rest of the functions presented in :numref:`fw_dev`,
.. hint:: Contrary to the rest of the functions presented in :numref:`fw_dev`,
:cpp:func:`wrtd_route_in` is not a user-defined function. It is provided by WRTD. Users
:cpp:func:`wrtd_route_in` is not a user-defined function. It is already provided by the
should simply call this function whenever an incoming :ref:`event` is detected.
WRTD firmware development framework. Users should simply create and fill in the
:cpp:class:`wrtd_event` ``ev`` structure with the details of the received :ref:`event` and
then pass it on to WRTD by calling this function.
doc/ref_spec_fmc_adc.rst
View file @
ccf58c66
...
@@ -18,9 +18,9 @@ SPEC150T-based FMC-ADC
...
@@ -18,9 +18,9 @@ SPEC150T-based FMC-ADC
+----------------------------------------+------------+
+----------------------------------------+------------+
| Maximum :ref:`Alarms <alarm>` | 1 |
| Maximum :ref:`Alarms <alarm>` | 1 |
+----------------------------------------+------------+
+----------------------------------------+------------+
| Average input to Message latency |
10μs (TBC)
|
| Average input to Message latency |
12μs
|
+----------------------------------------+------------+
+----------------------------------------+------------+
| Average Message to output latency |
10μs (TBC)
|
| Average Message to output latency |
12μs
|
+----------------------------------------+------------+
+----------------------------------------+------------+
| Can receive Messages over WR | YES |
| Can receive Messages over WR | YES |
+----------------------------------------+------------+
+----------------------------------------+------------+
...
...
doc/ref_svec_tdc_fd.rst
View file @
ccf58c66
...
@@ -20,9 +20,9 @@ SVEC-based TDC+FD
...
@@ -20,9 +20,9 @@ SVEC-based TDC+FD
+----------------------------------------+------------+------------+
+----------------------------------------+------------+------------+
| Maximum :ref:`Alarms <alarm>` | 0 | 1 |
| Maximum :ref:`Alarms <alarm>` | 0 | 1 |
+----------------------------------------+------------+------------+
+----------------------------------------+------------+------------+
| Average input to Message latency |
20μs (TBC)
| N.A. |
| Average input to Message latency |
20μs
| N.A. |
+----------------------------------------+------------+------------+
+----------------------------------------+------------+------------+
| Average Message to output latency | N.A. |
40μs (TBC)
|
| Average Message to output latency | N.A. |
40μs
|
+----------------------------------------+------------+------------+
+----------------------------------------+------------+------------+
| Can receive Messages over WR | NO | YES |
| Can receive Messages over WR | NO | YES |
+----------------------------------------+------------+------------+
+----------------------------------------+------------+------------+
...
@@ -56,9 +56,10 @@ fields of pulse distribution, trigger synchronisation, etc.
...
@@ -56,9 +56,10 @@ fields of pulse distribution, trigger synchronisation, etc.
SVEC-based TDC+FD reference WRTD Node
SVEC-based TDC+FD reference WRTD Node
The architecture of the :ref:`node` can be seen in :numref:`fig-ref_svec_list`. The user
The architecture of the :ref:`node` can be seen in :numref:`fig-ref_svec_list`. The user
communicates with the :ref:`node` using one of the methods mentioned in :numref:`usage`. Internally,
communicates with the :ref:`node` via the WRTD library, using one of the methods mentioned in
the :ref:`node` is running two :ref:`Applications <application>`, each on a dedicated CPU. One is
:numref:`usage`. Internally, the :ref:`node` is running two :ref:`Applications <application>`, each
responsible for the FMC-TDC peripheral, while the other handles the FMC-FD.
on a dedicated CPU. One is responsible for the FMC-TDC peripheral, while the other handles the
FMC-FD.
The five :ref:`Local Input Channels <local_channel>` are mapped to the five inputs of the
The five :ref:`Local Input Channels <local_channel>` are mapped to the five inputs of the
FMC-TDC. Thus, :ref:`event_id` ``LC-I1`` corresponds to the first FMC-TDC channel, ``LC-I2`` to the
FMC-TDC. Thus, :ref:`event_id` ``LC-I1`` corresponds to the first FMC-TDC channel, ``LC-I2`` to the
...
@@ -69,7 +70,8 @@ FMC-FD. :ref:`event_id` ``LC-O1`` corresponds to the first FMC-FD output, and so
...
@@ -69,7 +70,8 @@ FMC-FD. :ref:`event_id` ``LC-O1`` corresponds to the first FMC-FD output, and so
``LC-O4``.
``LC-O4``.
.. hint:: It is possible for the User Application in :numref:`fig-ref_svec_list` to access directly
.. hint:: It is possible for the User Application in :numref:`fig-ref_svec_list` to access directly
the FMC-TDC and FMC-FD cores by means of their respective libraries (not shown in
the FMC-TDC and FMC-FD cores by means of their respective libraries (shown in
:numref:`fig-ref_svec_list`), in order to fine-tune them and/or change their default
:numref:`fig-ref_svec_list` with dotted lines), in order to fine-tune them and/or change
behaviour. However this should be done with extreme care, as it could lead to a race
their default behaviour. However this should be done with extreme care, as it could lead
condition between the User Application and the WRTD Applications running inside the FPGA.
to a race condition between the User Application and the WRTD Applications running inside
the FPGA.
doc/usage_clib.rst
View file @
ccf58c66
...
@@ -55,7 +55,7 @@ Functions
...
@@ -55,7 +55,7 @@ Functions
char *err_msg;
char *err_msg;
int buf_size;
int buf_size;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
if (status != WRTD_SUCCESS) {
if (status != WRTD_SUCCESS) {
/* use wrtd_error_message because wrtd_init failed
/* use wrtd_error_message because wrtd_init failed
and the wrtd pointer is not valid. */
and the wrtd pointer is not valid. */
...
@@ -190,7 +190,7 @@ parameter should be set to :c:macro:`WRTD_GLOBAL_REP_CAP_ID`.
...
@@ -190,7 +190,7 @@ parameter should be set to :c:macro:`WRTD_GLOBAL_REP_CAP_ID`.
wrtd_status status;
wrtd_status status;
bool log_empty;
bool log_empty;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
status = wrtd_get_attr_bool(wrtd, WRTD_GLOBAL_REP_CAP_ID,
status = wrtd_get_attr_bool(wrtd, WRTD_GLOBAL_REP_CAP_ID,
WRTD_ATTR_EVENT_LOG_EMPTY,
WRTD_ATTR_EVENT_LOG_EMPTY,
...
@@ -234,7 +234,7 @@ Functions
...
@@ -234,7 +234,7 @@ Functions
wrtd_tstamp ts;
wrtd_tstamp ts;
bool log_empty;
bool log_empty;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* check if the event log is empty (global attribute) */
/* check if the event log is empty (global attribute) */
status = wrtd_get_attr_bool(wrtd, WRTD_GLOBAL_REP_CAP_ID,
status = wrtd_get_attr_bool(wrtd, WRTD_GLOBAL_REP_CAP_ID,
...
@@ -295,7 +295,7 @@ The Event Logging API provides functions for accessing the :ref:`event_log`.
...
@@ -295,7 +295,7 @@ The Event Logging API provides functions for accessing the :ref:`event_log`.
char *log_msg;
char *log_msg;
int buf_size;
int buf_size;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* clear the event log */
/* clear the event log */
status = wrtd_clean_event_log_entries(wrtd);
status = wrtd_clean_event_log_entries(wrtd);
...
@@ -331,7 +331,7 @@ The Event Logging API provides functions for accessing the :ref:`event_log`.
...
@@ -331,7 +331,7 @@ The Event Logging API provides functions for accessing the :ref:`event_log`.
wrtd_dev *wrtd;
wrtd_dev *wrtd;
char log_msg[WRTD_LOG_ENTRY_SIZE];
char log_msg[WRTD_LOG_ENTRY_SIZE];
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* retrieve the next event log message */
/* retrieve the next event log message */
status = wrtd_get_next_event_log_entry(wrtd, WRTD_LOG_ENTRY_SIZE, log_msg);
status = wrtd_get_next_event_log_entry(wrtd, WRTD_LOG_ENTRY_SIZE, log_msg);
...
@@ -366,7 +366,7 @@ Configuration of an Alarm happens by setting the relevant :ref:`Attributes <attr
...
@@ -366,7 +366,7 @@ Configuration of an Alarm happens by setting the relevant :ref:`Attributes <attr
char rep_cap_id[16];
char rep_cap_id[16];
wrtd_dev *wrtd;
wrtd_dev *wrtd;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* disable and then remove any declared alarms */
/* disable and then remove any declared alarms */
status = wrtd_disable_all_alarms(wrtd);
status = wrtd_disable_all_alarms(wrtd);
...
@@ -425,7 +425,7 @@ Configuration of a Rule happens by setting the relevant :ref:`Attributes <attrib
...
@@ -425,7 +425,7 @@ Configuration of a Rule happens by setting the relevant :ref:`Attributes <attrib
char rep_cap_id[16];
char rep_cap_id[16];
wrtd_dev *wrtd;
wrtd_dev *wrtd;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* disable and then remove any declared rules */
/* disable and then remove any declared rules */
status = wrtd_disable_all_rules(wrtd);
status = wrtd_disable_all_rules(wrtd);
...
@@ -466,7 +466,7 @@ Configuration of a Rule happens by setting the relevant :ref:`Attributes <attrib
...
@@ -466,7 +466,7 @@ Configuration of a Rule happens by setting the relevant :ref:`Attributes <attrib
int main(void) {
int main(void) {
wrtd_dev *wrtd;
wrtd_dev *wrtd;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* Add a rule */
/* Add a rule */
status = wrtd_add_rule(wrtd, "rule1");
status = wrtd_add_rule(wrtd, "rule1");
...
@@ -514,7 +514,7 @@ relevant :ref:`Attributes <attribute>` via the :ref:`api_attr`.
...
@@ -514,7 +514,7 @@ relevant :ref:`Attributes <attribute>` via the :ref:`api_attr`.
char rep_cap_id[16];
char rep_cap_id[16];
wrtd_dev *wrtd;
wrtd_dev *wrtd;
status = wrtd_init(
"MT01"
, false, NULL, &wrtd);
status = wrtd_init(
1
, false, NULL, &wrtd);
/* Get number of defined applications */
/* Get number of defined applications */
status = wrtd_get_attr_int32(wrtd, WRTD_GLOBAL_REP_CAP_ID,
status = wrtd_get_attr_int32(wrtd, WRTD_GLOBAL_REP_CAP_ID,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment