MicroPython stuff
This commit is contained in:
88
.vscode/Pico-W-Stub/uctypes.pyi
vendored
Normal file
88
.vscode/Pico-W-Stub/uctypes.pyi
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
"""
|
||||
Access binary data in a structured way.
|
||||
|
||||
MicroPython module: https://docs.micropython.org/en/v1.21.0/library/uctypes.html
|
||||
|
||||
This module implements "foreign data interface" for MicroPython. The idea
|
||||
behind it is similar to CPython's ``ctypes`` modules, but the actual API is
|
||||
different, streamlined and optimized for small size. The basic idea of the
|
||||
module is to define data structure layout with about the same power as the
|
||||
C language allows, and then access it using familiar dot-syntax to reference
|
||||
sub-fields.
|
||||
"""
|
||||
from _typeshed import Incomplete, Incomplete as Incomplete
|
||||
|
||||
VOID: int
|
||||
NATIVE: int
|
||||
PTR: int
|
||||
SHORT: int
|
||||
LONGLONG: int
|
||||
INT8: int
|
||||
LITTLE_ENDIAN: int
|
||||
LONG: int
|
||||
UINT: int
|
||||
ULONG: int
|
||||
ULONGLONG: int
|
||||
USHORT: int
|
||||
UINT8: int
|
||||
UINT16: int
|
||||
UINT32: int
|
||||
UINT64: int
|
||||
INT64: int
|
||||
BFUINT16: int
|
||||
BFUINT32: int
|
||||
BFUINT8: int
|
||||
BFINT8: int
|
||||
ARRAY: int
|
||||
BFINT16: int
|
||||
BFINT32: int
|
||||
BF_LEN: int
|
||||
INT: int
|
||||
INT16: int
|
||||
INT32: int
|
||||
FLOAT64: int
|
||||
BF_POS: int
|
||||
BIG_ENDIAN: int
|
||||
FLOAT32: int
|
||||
|
||||
def sizeof(struct, layout_type=NATIVE, /) -> int:
|
||||
"""
|
||||
Return size of data structure in bytes. The *struct* argument can be
|
||||
either a structure class or a specific instantiated structure object
|
||||
(or its aggregate field).
|
||||
"""
|
||||
...
|
||||
|
||||
def bytes_at(addr, size) -> bytes:
|
||||
"""
|
||||
Capture memory at the given address and size as bytes object. As bytes
|
||||
object is immutable, memory is actually duplicated and copied into
|
||||
bytes object, so if memory contents change later, created object
|
||||
retains original value.
|
||||
"""
|
||||
...
|
||||
|
||||
def bytearray_at(addr, size) -> bytearray:
|
||||
"""
|
||||
Capture memory at the given address and size as bytearray object.
|
||||
Unlike bytes_at() function above, memory is captured by reference,
|
||||
so it can be both written too, and you will access current value
|
||||
at the given memory address.
|
||||
"""
|
||||
...
|
||||
|
||||
def addressof(obj) -> int:
|
||||
"""
|
||||
Return address of an object. Argument should be bytes, bytearray or
|
||||
other object supporting buffer protocol (and address of this buffer
|
||||
is what actually returned).
|
||||
"""
|
||||
...
|
||||
|
||||
class struct:
|
||||
"""
|
||||
Instantiate a "foreign data structure" object based on structure address in
|
||||
memory, descriptor (encoded as a dictionary), and layout type (see below).
|
||||
"""
|
||||
|
||||
def __init__(self, addr, descriptor, layout_type=NATIVE, /) -> None: ...
|
||||
Reference in New Issue
Block a user