PyICe.data_utils package

Submodules

PyICe.data_utils.EMI_char_levels module

PyICe.data_utils.EMI_char_levels.IEC61967_2_digit(digit, frequency)

This is the -20dB/decade set of numbered curves in the IEC Emission Characterization Levels “digit” is the digit number of the curve we want to trace out “frequency” is the frequency of interest. the value returned is the dBV value of the emission result

PyICe.data_utils.EMI_char_levels.IEC61967_2_lowercase(lowercase, frequency)

This is the -40dB/decade set of curves in the IEC Emission Characterization Levels “lowercase” is the lowercase index of the curve we want to trace out “frequency” is the frequency of interest. the value returned is the dBV value of the emission result

PyICe.data_utils.EMI_char_levels.IEC61967_2_uppercase(uppercase, frequency)

This is the 0dB top horizontal set of lines in the IEC Emission Characterization Levels “uppercase” is the uppercase index of the top line we want to trace out “frequency” is the frequency of interest. the value returned is the dBV value of the emission result

PyICe.data_utils.create_user_files module

PyICe.data_utils.create_user_files.create_my_scopefile()

PyICe.data_utils.oscilloscope_waveform_dump module

PyICe.data_utils.pds_utils module

class PyICe.data_utils.pds_utils.pds_reader(filename)

Bases: object

Reads and parses an Eagle Test System’s .pds “Datasheet” file into a reasonable datastructure. It may have errors, the Eagle schema is a complete C/F of made up nonesene making it difficult to interpret. Files structure is as follows:

Result is a dictionary of test groups keyed by the group name.
Each dictionary of test groups is a dictionary of tests keys by the test NUMBER.SUBTESTNUMBER.

Each test is a dictionary of parameters keyed by Eagle columns as described by the file section “Datasheet Variable Map”.

Method get_test(test_number, subtest_number) may be used to tease out a specific test record.

build_record()
find_test_groups()
generate_excel_report(file_name)
get_column_map()
get_test(test_number, subtest_number)

PyICe.data_utils.stdf_structure_tracer module

PyICe.data_utils.stdf_structure_tracer.process_dir(top_dir)
PyICe.data_utils.stdf_structure_tracer.process_file(filename)
class PyICe.data_utils.stdf_structure_tracer.record_order_parser

Bases: object

after_begin(dataSrc)
after_complete(dataSrc)
after_send(dataSrc, data)
map_data(record_type, data)

PyICe.data_utils.stdf_utils module

PyICe.data_utils.touchstone_utils module

PyICe.data_utils.units_parser module

PyICe.data_utils.units_parser.parser(units)

PyICe.data_utils.wave_analysis module

class PyICe.data_utils.wave_analysis.waveform(data, trigger_sigma=10, trigger_level=None, leader_size=0.099, debug=False, stationarity_check=True)

Bases: object

amplitude()
average_in()
average_out()
dump_data(filename='waveform_analyzer_debug_data.pkl')
fall_time(low_percentage=0.1, high_percentage=0.9)
find_first_falling_edge(vhigh, vlow=0, lvl=0.5, start_index=0)
find_first_rising_edge(vhigh, vlow=0, lvl=0.5, start_index=0)
find_grt_than_or_equal_to(vth, start_index, stop_index, increment)
find_less_than_or_equal_to(vth, start_index, stop_index, increment)
overshoot()
plot()
read_xdata(index)
read_ydata(index)
rise_time(low_percentage=0.1, high_percentage=0.9)
settling_time(low_limit, high_limit)
settling_time_from_max_deviation(limit, deviation)
settling_time_outside_limit(limit)
slew_rate()
sw_fall_time(lo_lvl, hi_lvl, vhigh, vlow=0)
sw_nol_fall(vth, vhigh, vlow=0)
sw_nol_rise(vth, vhigh, vlow=0)
sw_rise_time(lo_lvl, hi_lvl, vhigh, vlow=0)
trigger()
trigger_10_90()
trigger_index()
trigger_level()
trigger_polarity()
trigger_sigma()
trigger_value()
undershoot()

Module contents