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).
......@@ -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)
* 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