docs: uctypes: Describe how to instantiate struct objects.
This commit is contained in:
parent
1bc534247c
commit
9d2c0c231c
@ -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
|
||||
-----------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user