misc
- Miscellaneous helpers¶
Functions¶
Miscelleanous helpers
-
class
pyftdi.misc.
EasyDict
(dictionary=None, **kwargs)¶ Dictionary whose members can be accessed as instance members
-
classmethod
copy
() → a shallow copy of D¶
-
classmethod
-
pyftdi.misc.
add_custom_devices
(ftdicls=None, vpstr=None)¶ Helper function to add custom VID/PID to FTDI device identifer map.
The string to parse should match the following format:
[vendor_name=]<vendor_id>:[product_name=]<product_id>
vendor_name and product_name are optional strings, they may be omitted as they only serve as human-readable aliases for vendor and product names.
vendor_id and product_id are mandatory strings that should resolve as 16-bit integer (USB VID and PID values). They may be expressed as decimal or hexadecimal syntax.
- ex:
0x403:0x9999
, vid:pid short syntax, with no alias namesmycompany=0x666:myproduct=0xcafe
, vid:pid complete syntax withaliases
- Parameters
vpstr (
Optional
[Sequence
[str
],None
]) – typically, a option switch string describing the device to addftdicls – the Ftdi class that should support the new device.
- Return type
None
-
pyftdi.misc.
hexdump
(data, full=False, abbreviate=False)¶ Convert a binary buffer into a hexadecimal representation.
Return a multi-line strings with hexadecimal values and ASCII representation of the buffer data.
- Parameters
data (
Union
[bytes
,bytearray
,Iterable
[int
]]) – binary buffer to dumpfull (
bool
) – use hexdump -Cv formatabbreviate (
bool
) – replace identical lines with ‘*’
- Return type
str
- Returns
the generated string
-
pyftdi.misc.
hexline
(data, sep=' ')¶ Convert a binary buffer into a hexadecimal representation.
Return a string with hexadecimal values and ASCII representation of the buffer data.
- Parameters
data (
Union
[bytes
,bytearray
,Iterable
[int
]]) – binary buffer to dumpsep (
str
) – the separator string/char
- Return type
str
- Returns
the formatted string
-
pyftdi.misc.
is_iterable
(obj)¶ Tells whether an instance is iterable or not.
- Parameters
obj (object) – the instance to test
- Returns
True if the object is iterable
- Return type
bool
-
pyftdi.misc.
pretty_size
(size, sep=' ', lim_k=1024, lim_m=10485760, plural=True, floor=True)¶ Convert a size into a more readable unit-indexed size (KiB, MiB)
- Parameters
size – integral value to convert
sep (
str
) – the separator character between the integral value and the unit specifierlim_k (
int
) – any value above this limit is a candidate for KiB conversion.lim_m (
int
) – any value above this limit is a candidate for MiB conversion.plural (
bool
) – whether to append a final ‘s’ to byte(s)floor (
bool
) – how to behave when exact conversion cannot be achieved: take the closest, smaller value or fallback to the next unit that allows the exact representation of the input value
- Return type
str
- Returns
the prettyfied size
-
pyftdi.misc.
show_call_stack
()¶ Print the current call stack, only useful for debugging purpose.
-
pyftdi.misc.
to_bool
(value, permissive=True, allow_int=False)¶ Parse a string and convert it into a boolean value if possible.
Input value may be: - a string with an integer value, if allow_int is enabled - a boolean value - a string with a common boolean definition
- Parameters
value (
Union
[int
,bool
,str
]) – the value to parse and convertpermissive (
bool
) – default to the False value if parsing failsallow_int (
bool
) – allow an integral type as the input value
- Raises
ValueError – if the input value cannot be converted into an bool
- Return type
bool
-
pyftdi.misc.
to_bps
(value)¶ Parse a string and convert it into a baudrate value.
The function accepts common multipliers as K, M and G
- Parameters
value (str or int or float) – the value to parse and convert
- Return type
float
- Raises
ValueError – if the input value cannot be converted into a float
-
pyftdi.misc.
to_int
(value)¶ Parse a value and convert it into an integer value if possible.
Input value may be: - a string with an integer coded as a decimal value - a string with an integer coded as a hexadecimal value - a integral value - a integral value with a unit specifier (kilo or mega)
- Parameters
value (
Union
[int
,str
]) – input value to convert to an integer- Returns
the value as an integer
- Return type
int
- Raises
ValueError – if the input value cannot be converted into an int
-
pyftdi.misc.
xor
(_a_, _b_)¶ XOR logical operation.
- Parameters
_a_ – first argument
_b_ – second argument
- Return type
bool
- Returns
xor-ed value