msl.equipment.resources.picotech.picoscope.helper module

The functions in this module are only helper functions that were initially used for wrapping the PicoScope SDK in Python. There are no user-facing functions here, only those used by a developer.

These functions are used to

Print the following to stdout

  • the #define constants

  • the function signatures for the PicoScope subclasses

  • functions with similar function signatures

Create the following files

  • picoscope_enums.py

  • picoscope_structs.py

  • picoscope_callbacks.py

  • picoscope_function_pointers.py

msl.equipment.resources.picotech.picoscope.helper.parse_pico_scope_api_header(path)[source]

Parse a PicoScope header file.

Parameters

path (str) – The path to a PicoScope header file.

Returns

dict – {‘enums’: {}, ‘defines’: {}, ‘functions’: {}, ‘structs’: {}, ‘functypes’: {}}

msl.equipment.resources.picotech.picoscope.helper.print_define_statements(header_dict)[source]

Print the #define constants in the PicoScope header files to stdout

The output is copied and pasted to the appropriate PicoScope subclass.

For example, the stdout text below

ps5000aApi

is copied to

class PicoScope5000A(PicoScope):

msl.equipment.resources.picotech.picoscope.helper.create_picoscope_enums_file(header_dict, picostatus_h_path)[source]

Creates the _picoscope_enums.py file

msl.equipment.resources.picotech.picoscope.helper.create_picoscope_structs_file(header_dict)[source]

Creates the _picoscope_structs.py file

msl.equipment.resources.picotech.picoscope.helper.check_enum_struct_names()[source]

Ensure that none of the items in ENUM_DATA_TYPE_NAMES are in STRUCT_DATA_TYPE_ALIASES

msl.equipment.resources.picotech.picoscope.helper.create_callbacks_file(header_dict)[source]

Create the _picoscope_callbacks.py file

msl.equipment.resources.picotech.picoscope.helper.ctypes_map(dtype, hkey)[source]
msl.equipment.resources.picotech.picoscope.helper.create_picoscope_functions_file(header_dict)[source]

Create the _picoscope_functions.py file. The lists in this file are used for creating ctypes._FuncPtr objects

msl.equipment.resources.picotech.picoscope.helper.print_class_def_signatures(header_dict)[source]
msl.equipment.resources.picotech.picoscope.helper.print_common_functions(header_dict, ps_name)[source]