docs/uctypes: Fix API description errors.

"Structure class" is its descriptor, encoded as a dictionary. Then,
uctypes.struct() instantiates an actual object, and thus requires memory
address.
pull/1267/merge
Paul Sokolovsky 2015-06-02 10:30:01 +03:00
rodzic 0df20da4dd
commit f8bce131c0
1 zmienionych plików z 10 dodań i 9 usunięć

Wyświetl plik

@ -96,10 +96,11 @@ Following are encoding examples for various field types:
Module contents Module contents
--------------- ---------------
.. class:: struct(descriptor, layout_type) .. class:: struct(descriptor, addr, layout_type-NATIVE)
Create a "foreign data structure" class based on its descriptor (encoded Instantiate a "foreign data structure" object based on structure descriptor
as a dictionary) and layout type (see below). (encoded as a dictionary), layout type (see below), and actual structure
address.
.. data:: LITTLE_ENDIAN .. data:: LITTLE_ENDIAN
@ -140,16 +141,16 @@ Module contents
so it can be both written too, and you will access current value so it can be both written too, and you will access current value
at the given memory address. at the given memory address.
Structure classes and instantiating structure objects Structure descriptors and instantiating structure objects
----------------------------------------------------- -----------------------------------------------------
Given structure descriptor and layout type, you can instantiate a Given a structure descriptor dictionary and its layout type, you can
"structure class" using uctypes.struct() factory function. From it, instantiate a specific structure instance at a given memory address
you can instantiate a specific structure instance at a given using uctypes.struct() constructor. Memory address usually comes from
memory address. Memory address usually comes from following sources: following sources:
* Predefined address, when accessing hardware registers on a baremetal * Predefined address, when accessing hardware registers on a baremetal
port. Lookup these addresses in datasheet for a particular MCU/SoC. system. Lookup these addresses in datasheet for a particular MCU/SoC.
* As return value from a call to some FFI (Foreign Function Interface) * As return value from a call to some FFI (Foreign Function Interface)
function. function.
* From uctypes.addressof(), when you want to pass arguments to FFI * From uctypes.addressof(), when you want to pass arguments to FFI