123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- Reference:
- ! = Mandatory
- * = Optional
- - = Flexible
- % = Function/Method
- Instrument incl. DUTs
- =====================
- ! <id>
- ! syntax
- * name
- * description
- * picture
- * manual
- - parameters
- - variables
- - groups
- - exclusions
- - organization (bitfield)
- % getParameter
- % setParameter
- % saveState
- % loadState
- % loadDefault
- % <dynamic functions for all settings>
- Parameter
- =========
- ! <id>
- ! setValue
- ! getValue
- * <type> (setting, compound, variable)
- * valueList
- * defaults
- * states
- * constraints
- * variables
- * plugin:
- - aliases
- - getCommand/setCommand
- * code
- - getArguments/getArguments
- - scope
- - name
- - description
- - bits
- Group
- =====
- ! id
- * parameters
- * groups
- - name
- - description
- Setup
- =====
- ! <id>
- * instruments
- * parts
- * software
- * connections
- * jumpers
- * docs (datasheets/schematics etc)
- - name
- - description
- - time
- - photo
- - dut
- Measurement
- ===========
- ! <id>
- * instruments
- * operator
- - name
- - description
- - instruments {nr, &ref, autopoll, autowrite}
- - setup
- - results
- - sequence
- - script
- - session
- * start
- * stop
- * pause
- * plotResults
- * generateScript
- Parameter
- =========
- - name
- - description
- - value/sweep
- - function
- Session
- =======
- - log
- - history
- * log
- * addHistory
- Result
- ======
- - time
- - parameter
- - value
- GUI
- ===
- {Instruments}
- * addInstrument
- * removeInstrument
- {DUT}
- * addDUT
- * removeDUT
- Open points:
- ============
- - Directory structure (what is local, what is in SVN, how are measurements separated)?
- - How is a session defined exactly?
- - How are measurement results saved and loaded?
- - Meta data in order to search and load measurements and results?
- - SQL database for results?
- - How to implement concurrent measurements?
- - What are useful triggers (time, parameter, ...)?
- Database Structure for Measurements:
- ====================================
- - *ID
- - Description (e.g. IF amplifier gain variation over supply and temperature.)
- - *Start Date/Time
- - Operator
- - Department (e.g. Chipset)
- - Project (e.g. Dom Analog)
- - Measured DUT (e.g. Characterization Board 639)
- - Measured Target (IF Amplifier)
- - *Measured Parameters (e.g. temperature, vddio, vddc, i_vddio)
- - *Measurement ZIP
- * = Automatically added.
- Setup Phase:
- ============
- - Start with reset instruments (loading a configuration is possible later).
- - Allow adjustments via GUI and via instrument panel (scan for changed parameters).
- => Log all changes.
- - Allow to save states at all times.
- - Provide a record button, which starts the measurement setup.
- - In record mode: Provide means to select loop variables and recorded values.
- - Allow to select x/y-Axis and group results.
- Before Measurement:
- ===================
- - Name the measurement.
- - Verify, that all necessary data is present (DUT, image, description)
- - Verify, that all scripts and instrument definitions are checked in and all is up to date.
- - Start a separate measurement log.
- - Save and check in the measurement setup file, which can be loaded again.
- Measurement:
- ============
- - Write data to a file.
- - Visualize data in real-time.
- After Measurement:
- ==================
- - Provide possibility to change necessary data as DUT, image, description etc.
- - Provide tools to reshape the data (set x/y-Axis, choose shown columns etc, filter data). -> Like Pivot-Table in Excel.
- - Allow exporting selected data to CSV.
- - Show data for copy & paste into Python, Matlab and Excel (maybe a format string?)
- - Allow to combine measurements (e.g. set different voltage/temperature by hand).
- => Allow to set user-defined variables after the measurement.
- - Ask to check in the results (zip the files).
- Hooks
- =====
- * plugins_loaded
- * user_authenticated
- * setup_theme
- * init
- * cc_loaded
- Plugins (must load)
- =======
- * Measurement
- * Intruments
- * Data types
- Database stucture
- =================
- * char (Characterization)
- - ID, name
- * char_meta (Characterization meta data)
- - ID, char, key, value
- * meas (Measurement)
- * meas_meta
- * value
- * value_meta
- * conf (Configuration)
- - ID, meas, dev, key, value
- * conf_meta
|