notes.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. Reference:
  2. ! = Mandatory
  3. * = Optional
  4. - = Flexible
  5. % = Function/Method
  6. Instrument incl. DUTs
  7. =====================
  8. ! <id>
  9. ! syntax
  10. * name
  11. * description
  12. * picture
  13. * manual
  14. - parameters
  15. - variables
  16. - groups
  17. - exclusions
  18. - organization (bitfield)
  19. % getParameter
  20. % setParameter
  21. % saveState
  22. % loadState
  23. % loadDefault
  24. % <dynamic functions for all settings>
  25. Parameter
  26. =========
  27. ! <id>
  28. ! setValue
  29. ! getValue
  30. * <type> (setting, compound, variable)
  31. * valueList
  32. * defaults
  33. * states
  34. * constraints
  35. * variables
  36. * plugin:
  37. - aliases
  38. - getCommand/setCommand
  39. * code
  40. - getArguments/getArguments
  41. - scope
  42. - name
  43. - description
  44. - bits
  45. Group
  46. =====
  47. ! id
  48. * parameters
  49. * groups
  50. - name
  51. - description
  52. Setup
  53. =====
  54. ! <id>
  55. * instruments
  56. * parts
  57. * software
  58. * connections
  59. * jumpers
  60. * docs (datasheets/schematics etc)
  61. - name
  62. - description
  63. - time
  64. - photo
  65. - dut
  66. Measurement
  67. ===========
  68. ! <id>
  69. * instruments
  70. * operator
  71. - name
  72. - description
  73. - instruments {nr, &ref, autopoll, autowrite}
  74. - setup
  75. - results
  76. - sequence
  77. - script
  78. - session
  79. * start
  80. * stop
  81. * pause
  82. * plotResults
  83. * generateScript
  84. Parameter
  85. =========
  86. - name
  87. - description
  88. - value/sweep
  89. - function
  90. Session
  91. =======
  92. - log
  93. - history
  94. * log
  95. * addHistory
  96. Result
  97. ======
  98. - time
  99. - parameter
  100. - value
  101. GUI
  102. ===
  103. {Instruments}
  104. * addInstrument
  105. * removeInstrument
  106. {DUT}
  107. * addDUT
  108. * removeDUT
  109. Open points:
  110. ============
  111. - Directory structure (what is local, what is in SVN, how are measurements separated)?
  112. - How is a session defined exactly?
  113. - How are measurement results saved and loaded?
  114. - Meta data in order to search and load measurements and results?
  115. - SQL database for results?
  116. - How to implement concurrent measurements?
  117. - What are useful triggers (time, parameter, ...)?
  118. Database Structure for Measurements:
  119. ====================================
  120. - *ID
  121. - Description (e.g. IF amplifier gain variation over supply and temperature.)
  122. - *Start Date/Time
  123. - Operator
  124. - Department (e.g. Chipset)
  125. - Project (e.g. Dom Analog)
  126. - Measured DUT (e.g. Characterization Board 639)
  127. - Measured Target (IF Amplifier)
  128. - *Measured Parameters (e.g. temperature, vddio, vddc, i_vddio)
  129. - *Measurement ZIP
  130. * = Automatically added.
  131. Setup Phase:
  132. ============
  133. - Start with reset instruments (loading a configuration is possible later).
  134. - Allow adjustments via GUI and via instrument panel (scan for changed parameters).
  135. => Log all changes.
  136. - Allow to save states at all times.
  137. - Provide a record button, which starts the measurement setup.
  138. - In record mode: Provide means to select loop variables and recorded values.
  139. - Allow to select x/y-Axis and group results.
  140. Before Measurement:
  141. ===================
  142. - Name the measurement.
  143. - Verify, that all necessary data is present (DUT, image, description)
  144. - Verify, that all scripts and instrument definitions are checked in and all is up to date.
  145. - Start a separate measurement log.
  146. - Save and check in the measurement setup file, which can be loaded again.
  147. Measurement:
  148. ============
  149. - Write data to a file.
  150. - Visualize data in real-time.
  151. After Measurement:
  152. ==================
  153. - Provide possibility to change necessary data as DUT, image, description etc.
  154. - Provide tools to reshape the data (set x/y-Axis, choose shown columns etc, filter data). -> Like Pivot-Table in Excel.
  155. - Allow exporting selected data to CSV.
  156. - Show data for copy & paste into Python, Matlab and Excel (maybe a format string?)
  157. - Allow to combine measurements (e.g. set different voltage/temperature by hand).
  158. => Allow to set user-defined variables after the measurement.
  159. - Ask to check in the results (zip the files).
  160. Hooks
  161. =====
  162. * plugins_loaded
  163. * user_authenticated
  164. * setup_theme
  165. * init
  166. * cc_loaded
  167. Plugins (must load)
  168. =======
  169. * Measurement
  170. * Intruments
  171. * Data types
  172. Database stucture
  173. =================
  174. * char (Characterization)
  175. - ID, name
  176. * char_meta (Characterization meta data)
  177. - ID, char, key, value
  178. * meas (Measurement)
  179. * meas_meta
  180. * value
  181. * value_meta
  182. * conf (Configuration)
  183. - ID, meas, dev, key, value
  184. * conf_meta