You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/generated_package.rst
+61-7Lines changed: 61 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,7 +109,7 @@ Legacy Block Callback and Block Access
109
109
110
110
.. versionchanged:: 0.9.0
111
111
112
-
Previous versions of peakrdl python used the python ``array.array`` for efficiently moving blocks
112
+
Previous versions of PeakRDL Python used the python ``array.array`` for efficiently moving blocks
113
113
of data. This was changed in version 0.9.0 in order to accommodate memories which were larger
114
114
than 64 bit wide which could not be supported as the array type only support entries of up to
115
115
64 bit.
@@ -120,19 +120,20 @@ Legacy Block Callback and Block Access
120
120
121
121
It could have left this as a future compatibility mode before making a breaking change but
122
122
that would just delay the pain it was felt to be better to get as many users onto the new
123
-
API as soon as possible whilst peakrdl-python is in beta.
123
+
API as soon as possible whilst PeakRDL Python is in beta.
124
124
125
125
If you really want to just keep on with the array based interface and make only minimal changes
126
126
to existing code, there are two simple steps:
127
+
127
128
1. The northbound interfaces that are provided by the generated package expect lists of integers
128
129
rather than array. The old interfaces can be retained by using the ``legacy_block_access``
129
130
build option.
130
131
2. The southbound interfaces into the callbacks again need to use lists for the
131
132
``read_block_callback`` and ``write_block_callback`` methods. If you want to continue to use
132
133
the old scheme use the following callback classes which are part of the callbacks:
133
134
* ``NormalCallbackSetLegacy`` for standard python function callbacks
134
-
* ``AsyncCallbackSetLegacy`` for async python function callbacks, these are called from the
135
-
library using ``await``
135
+
* ``AsyncCallbackSetLegacy`` for async python function callbacks, these are called from the library using ``await``
136
+
136
137
137
138
Using the Register Access Layer
138
139
===============================
@@ -200,7 +201,9 @@ The following example shows the usage of the enumeration
200
201
Array Access
201
202
------------
202
203
203
-
SystemRDL supports multi-dimensional arrays, the following example shows an definition with an 1D and 3D array with various methods to access individual elements of the array and use of the iterators to walk through elements in loops
204
+
SystemRDL supports multi-dimensional arrays, the following example shows an definition with an 1D
205
+
and 3D array with various methods to access individual elements of the array and use of the
The systemRDL structure is converted to a python class structure, there are two concerns:
387
390
388
391
* if any systemRDL node name is a python keyname
389
-
* if any systemRDL node name clashes with part of the peakrdl_standard types, for example all register nodes have an ``address`` property that would clash with a field of that register called ``address``
392
+
* if any systemRDL node name clashes with part of the peakrdl_standard types, for example all
393
+
register nodes have an ``address`` property that would clash with a field of that register
0 commit comments