Global functions
- c104.set_debug_mode(mode: c104.Debug) None
set the debug mode
- Parameters:
mode (c104.Debug) – debug mode bitset
Example
>>> c104.set_debug_mode(mode=c104.Debug.Client|c104.Debug.Connection)
- c104.get_debug_mode() c104.Debug
get current debug mode
- Returns:
debug mode bitset
- Return type:
Example
>>> mode = c104.get_debug_mode()
- c104.enable_debug(mode: c104.Debug) None
enable additional debugging modes
- Parameters:
mode (c104.Debug) – debug mode bitset
Example
>>> c104.set_debug_mode(mode=c104.Debug.Client|c104.Debug.Connection) >>> c104.enable_debug(mode=c104.Debug.Callback|c104.Debug.Gil) >>> c104.get_debug_mode() == c104.Debug.Client|c104.Debug.Connection|c104.Debug.Callback|c104.Debug.Gil
- c104.disable_debug(mode: c104.Debug) None
disable debugging modes
- Parameters:
mode (c104.Debug) – debug mode bitset
Example
>>> c104.set_debug_mode(mode=c104.Debug.Client|c104.Debug.Connection|c104.Debug.Callback|c104.Debug.Gil) >>> c104.disable_debug(mode=c104.Debug.Callback|c104.Debug.Gil) >>> c104.get_debug_mode() == c104.Debug.Client|c104.Debug.Connection
- c104.explain_bytes()
explain bytes in a string
- c104.explain_bytes_dict()
explain_bytes(apdu: bytes) -> str
Interpret 104er APDU bytes and extract information into a dictionary
- Parameters:
apdu (bytes) – APDU protocol bytes
- Returns:
information about APDU in dictionary
{"format":str, "type":str, "cot":str, "rx": Optional[int], "tx": Optional[int], "numberOfObjects": Optional[int], "sequence": Optional[bool], "negative": Optional[bool], "test": Optional[bool], "commonAddress": Optional[int], "originatorAddress": Optional[int], "firstInformationObjectAddress": Optional[int], "elements": Optional[str]}- Return type:
Example
>>> def sv_on_receive_raw(server: c104.Server, data: bytes) -> None: >>> pprint("SV] -->| {1} [{0}] | SERVER {2}:{3}".format(data.hex(), c104.explain_bytes_dict(apdu=data), server.ip, server.port))