Commit 9d2c0c23 authored by Paul Sokolovsky's avatar Paul Sokolovsky
Browse files

docs: uctypes: Describe how to instantiate struct objects.

parent 1bc53424
......@@ -98,8 +98,8 @@ Module contents
.. class:: struct(descriptor, layout_type)
Create a "foreign data structure" object based on its descriptor (encoded
as a dictionary) and layout type.
Create a "foreign data structure" class based on its descriptor (encoded
as a dictionary) and layout type (see below).
.. data:: LITTLE_ENDIAN
......@@ -140,6 +140,22 @@ Module contents
so it can be both written too, and you will access current value
at the given memory address.
Structure classes and instantiating structure objects
-----------------------------------------------------
Given structure descriptor and layout type, you can instantiate a
"structure class" using uctypes.struct() factory function. From it,
you can instantiate a specific structure instance at a given
memory address. Memory address usually comes from following sources:
* Predefined address, when accessing hardware registers on a baremetal
port. Lookup these addresses in datasheet for a particular MCU/SoC.
* As return value from a call to some FFI (Foreign Function Interface)
function.
* From uctypes.addressof(), when you want to pass arguments to FFI
function, or alternatively, to access some data for I/O (for example,
data read from file or network socket).
Structure objects
-----------------
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment