11/06/2009 ---------- - LabVIEW: - modified audio features - external triggering on the scope - all triggering is now done by the board instead of in software - fixed bode plotter phase wrap error - fixed AWG file not found error - scope: - fixed calculation of RMS and Mean in Measurements window - func gens: - fixed phase value out of range error 10/29/2009 ---------- - scope: - removed use of registry for storing settings - fixed rollover bug for zeroing buttons on certain machines 10/25/2009 ---------- - scope: - finished implementing cursor labels for all modes of main plot and zoom plot - added trigger level label - added legend for cursors and trigger level - fixed issue w/ zoom cursors not always showing correct horizontal position - constrained cursors to plot for X-Y and Y-X modes (Y-T mode already did this) - made X-Y/Y-X cursor colors consistent w/ plot color - added horizontal offset reset button - corrected status bar text for existing reset buttons - added ch1*ch2, ch1/ch2, ch2/ch1 to math channel - improved appearance on smaller screens: - made Cursors window a bit narrower - rearranged and condensed elements in Trigger window - cleaned up formatting of numeric displays - Spectrum Analyzer: - made markers and vertical cursors re-position correctly when x-axis units change - cleaned up formatting of numeric displays 10/22/2009 ---------- - fixed sizing of tool windows in some panels when opening from settings files - scope: made cursors easier to see, experimented w/ labelling 10/21/2009 ---------- - spectrum analyzer: - now auto-setting sampling time and rate based on center frequency - added sampling time display to panel - removed the now redundant Sample Size menu - removed redundant Spectrum Mode menu (use Vertical Units instead) - removed Data Mode menu for boards where it has no effect - added Auto-Hide to settings files - AWGs: added Auto-Hide to settings files - scope: made text in Cursors panel easier to read - added better buffer size checking for AnalogStream for all boards 10/01/2009 ---------- - scope: added Ch1+Ch2 option to math channel - audio: made panel open as floating by default - spectrum analyzer: - set defaults for AnalogStream properties which aren't controllable in this feature - added sanity checks for Center and Span frequencies - fixed issue w/ opening old settings files w/ missing items 09/28/2009 ---------- - fixed crash when opening and closing spectrum analyzer, then opening scope - replaced Audio Output menu with Audio feature panel - COM: - openDevice() now checks firmware version and returns error if upgrade required - added several properties to IAudioOut interface - when switching TriggerSource from ext. to int., TriggerChannel is reset to 1 if out of bounds 09/17/2009 ---------- - scope: - fixed crash when opening scope followed by opening Analog I/O - external triggering: - made scope and dig i/o panels tell each other when input/output direction of trigger line is changed - added ext trigger channel support to settings files - changed Volts/Div menus to multiples of 1,2,5 - func gens: - fixed crashes due to closing panel while sweep is running - fixed crashes due to setting invalid values while sweep is running - added sanity checks for sweep max > sweep min - made auto-set sampling rate higher to give smoother signals - AWGs: - fixed value out of range errors for certain stored values - fixed crash when changing Auto-Hide state of Waveform Builder while it's grayed-out - added manual frequency range controls - expanded Waveform Components panel a bit to fix Noise tab getting cut off - made spacing consistent in Square tab - spectrum analyzer: - swapped in actual NumericUpDown components for TextBox numeric entry fields - added Sample Size to settings files - fixed units in Sample Size menu - "Audio Output" menu: - set up some default settings - menu now shows initial values for volume settings - "Headphones Connected" indicator now updates when menu opens rather than needing click on other item - hid non-functioning items (check for updates, submit crash reports online) - made fonts consistent for all Help menu items - changed URLs in installer from ioboard.rpi.edu to mobilestudio.rpi.edu - updated LabVIEW executables to 8.6 (requires 8.6 runtime engine) 09/01/2009 ---------- - scope external triggering: - reduced USB conflicts between dig i/o panel and external triggering - implemented Off and Auto triggering modes - fixed crash when using higher-numbered lines for trigger source - starting/stopping scope now resets triggering state correctly - fixed enabling/disabling of external source menu 07/07/2009 ---------- - updated main production release to include COM fix, but not (currently unstable) external triggering 07/06/2009 ---------- - bumped COM expiration date 06/30/2009 ---------- - scope: added external triggering - func gens: fixed crash on red1 boards 06/11/2009 ---------- - fixed another startup crash for red2 boards w/ even older firmware versions (later the same day...) - COM: - made FirmwareVersion display format consistent with MSD - re-compiled COM code to bring it up-to-date 06/09/2009 ---------- - fixed startup crash for red2 boards w/ old firmware versions - Spectrum Analyzer - fixed error when marker 2 on, channel 2 off - fixed marker being drawn when corresponding channel is off 06/08/2009 ---------- - added missing LabVIEW dll to installer 06/07/2009 ---------- - Analog I/O: - fixed output slider/text-box initialization - red2 now allows negative values for outputs - func gens: - fixed out-of-range errors when opening "Advanced" controls w/ certain values (later the same day...) - updated LabVIEW files installed with MSD 06/05/2009 ---------- - fixed bug where device list refreshes were marking still-connected devices as disconnected 06/04/2009 ---------- - func gens: - sample rate now auto-set based on frequency - AWGs: - plots: - fixed memory errors - improved redraw performance - fixed x-axis rescaling - Audio import: - added check for valid .wav files - added buffer size limit check on import - fixed amplitude scaling for 8-bit .wav files - added buffer size limit check to AnalogOutChannel.WriteData() 05/06/2009 ---------- - made Analog I/O feature work with red2 - Spectrum Analyzer: fixed crash - scope: added 500ms to Time/Div menu for red2 03/26/2009 ---------- - scope: - fixed "div by 0" errors in CSV save - red2: fixed triggering on wrong channel for case when ch1=AWG2 and ch2=AWG1 - blue: fixed slight ch2 phase offset when decimation is used - AWGs: - fixed point count issues in dialog box for CSV save 03/04/2009 ---------- - scope: - fixed crashes when switching time ranges - fixed channel swapping for long time ranges - fixed audio volume crashes 03/03/2009 ---------- - added decimation of points returned for long time ranges in AnalogStream of red2 boards 02/27/2009 ---------- - added IAudioOut interface to COM 02/10/2009 ---------- - various bug fixes in settings files - scope: improved units checking of Time/Div and Volts/Div menus 01/15/2009 ---------- - fixed issue with boards not being recognized by Mobile Studio Desktop 01/14/2009 ---------- - fixed exception that happened after closing then opening the Oscilloscope feature 01/03/2009 ---------- - bumped COM expiration date - wireless updated for physics testing 12/10/2008 ---------- - settings files - added Spectrum Analyzer and Digital I/O features - added save/load of defaults when opening/closing app or feature w/out specifying settings file - better backwards compatibility and misc. other bug fixes - added LabVIEW .exes and launcher to installer (still requires separate install of LabVIEW runtime) 12/02/2008 ---------- - COM: - added set_TimeRangeFunc() and get_TimeRangeFunc() to IAnalogStream interface - same as setting and getting .TimeRange as property, just different syntax - added for Python compatibility - uninstaller now cleans up COM type library 12/01/2008 ---------- - fixed save/load settings file crashes 11/26/2008 ---------- - firmware fix for analog input crashes 11/25/2008 ---------- - added wireless support: - "Wireless USB" feature allows pairing with wireless devices (physics accelerometer board is only supported device) - settings files: - new additions: AWG tabs, func gen advanced settings - moved to JSON file format - files in old format still load, but new additions will not be supported - AWGs, audio and CSV import: - fixed resampling issue - GUI now updates correctly when opening 2-channel file, then 1-channel file - "Add Channel" buttons no longer disabled by opening file import dialog - AWGs and func gens: - freq and ampl limits in GUI now reflect board type - updated COM registration to work with PythonWin's Makepy utility 11/10/2008 ---------- - recompiled to fix COM registration 11/03/2008 ---------- - red2 auto-calibration - sanity checks to detect when wires are not connected correctly - func gens: - disabled auto-switch of frequency units for smoother sweeping 10/28/2008 ---------- - red2: all auto-calibrate buttons now working 10/27/2008 ---------- - red2: "auto-calibrate A1" now works correctly 10/24/2008 ---------- - fixed scope bug in red2 firmware 10/23/2008 ---------- - red2 scope functionality: - various triggering code improvements - added several higher Time/Div settings to menu - made sure ADC is not under-clocked at high Time/Div settings in scope - red2 func gens: - setting sample rate now works properly with values not in pre-defined list (only relevant to COM interface) - removed implicit resetting of sample rate when changing frequencies - func gens panel: - changed pkpk max to 7V - changed offset max/min to +/-3.5V - changed offset arrow key increment amount to 0.1V - red2 analog calibration: - added partially functional "auto-calibrate" buttons - "Upgrade Firmware" dialog now automatically selects correct firmware file for each board type 10/07/2008 ---------- - scope: - fixed triggering when ch1 is AC, ch2 is DC (blue and red2 boards) - added Y-X mode - made save button work for X-Y and Y-X modes - updated print and screenshot buttons to work with Y-X mode - fixed math channel labelling for screenshot and printed images in Y-T mode - made sampling rate work better with typed values for Time/Div, esp. longer time ranges - made Time/Div scroll arrows use lower case "s" for units - cosmetic changes to trigger panel - added RED2 calibration panel to Device menu - LabVIEW: - various fixes and additions in sample files - posted versions which should be compatible with LabVIEW 8.0 through 8.5 09/12/2008 ---------- - scope: - added higher voltage ranges (5V, 10V, 20V) - fixed startup loading of last values for Volts/Div settings - tweaked gain and offset values - AWGs: - fixed last point truncation errors in CSV import - tweaked gain and offset values 09/09/2008 ---------- - func gens: - fixed freq slider crashes when used with scope running - fixed signals flat-lining when slider clicked and not moved - changed "offset" label to "DC offset" - scope: - set Math Channel initial position at V=0 - improved Measurements panel Frequency/Period detection for simple waveforms - picking screenshot file type now works properly - AWGs: - fixed bug with drawing area receiving clicks from dialog boxes - picking screenshot file type now works properly - spectrum analyzer: - got channel 2 marker working - both markers now respond to threshold settings - added Overrange LED like scope's - COM interface: - added Looping for AnalogOut channels 09/03/2008 ---------- - save/open settings files: - func gens panel: added sample rates - AWGs panel: added Waveform Builder components, sample rates, looping - AWGs: changing amplitudes in Audio tab now works correctly 08/28/2008 ---------- - fixed crash on red2 boards when sending AWG data to hardware with scope running (requires firmware update) 08/27/2008 ---------- - scope: - fixed various issues when scope settings are typed rather than selected from menus - made screenshot and print functions produce the same image as each other - AWGs: - replaced "save to CSV" button with button like scope's (and added data reduction option like scope's) - added screenshot and print buttons like scope's - Spectrum Analyzer: - changed Option defaults - Spectrum Mode: Power -> Amplitude - Vertical Units: dBm -> Vpk - fixed y-axis units label bug - fixed y-axis value labels not updating correctly bug - fixed start-up issue for blue boards w/ old firmware 08/23/2008 ---------- - setting ch1=AWG2 & ch2=AWG1 in scope and spectrum analyzer on red2 now works (requires firmware update) - spectrum analyzer: - added ability to plot both channels at once - added sub-division ticks to x-axis - changed default stop frequency to 100 kHz - changed default for Options -> Data Mode -> Sample Size to 16k - Options -> Peak Threshhold: - changed text for "Mean" checkmark to Greek mu - changed text for other checkmarks from "s" to Greek sigma, and prefixed with "mu + " - scope: - fixed interaction between overlay display and channel enable switches 08/22/2008 ---------- - COM interface: - replaced AnalogStream BufferSize with PointsPerChannel (to abstract away implementation details) - spectrum analyzer: - fixed channel switching bug for red1 boards 08/16/2008 ---------- - spectrum analyzer: - fixed error with channel 2 input selections not getting sent to board - fixed inputs menu to take into account boards where channels can't be set independently - when switching channels, now uses previous input setting rather than resetting to first item - menu selections now take effect on click rather than on rollover - removed MHz from units menus 08/15/2008 ---------- - fixed PWM period scaling error - COM interface: - added SamplingDiv to AnalogStream interface - made SampleRate settable for AnalogOut channels - fixed string conversion of FirmwareVersion in CoreFunctions 08/11/2008 ---------- - AWGs: - added interpolation to manual waveform drawing - shut off auto-scaling for manual waveform drawing - added "save to CSV" functionality - adapted CSV import to handle different sampling rates on the two channels - added units labels to sampling rates in Audio and CSV import panels 08/07/2008 ---------- - fixed func gen errors for red1 and blue boards caused by recent red2-only functionality updates - scope: - made hide/show behavior consistent for all tool windows - fixed greyed-out "Enable Channel" text for math channel switch - math channel now works even with ch2 disabled, on boards which support it - red1: hid ch1 enable/disable switch (not supported for this board type) - red1: fixed crashes caused by switching off ch2 while scope is running 07/31/2008 ---------- - hid non-functional features pending their completion - uploaded this version as both development release and main release 07/30/2008 ---------- - fixed startup compatibility issue with old versions of red2 firmware 07/29/2008 ---------- - AWGs: - gave noise a non-zero initial value for min duration - if in one-shot mode, signal now ends at 0 - Func Gens: - added "truncated" indicator label - Scope: - now sampling at lower rate for long Time/Div settings - updated COM expiration date 07/10/2008 ---------- - AWGs: - added noise tab back in - noise can now be used without adding it to other signals - added (rough approximation of) pink noise option - blue board: - scope: fixed crashing when scope start/stop button clicked multiple times with long Time/Div - func gens: changing waveform shape on one channel no longer causes offset on other channel - red2 board: - func gens: closing and reopening panel no longer resets waveform shape to sine on ch1 - zeroing of outputs on startup no longer overrides settings file values 07/08/2008 ---------- - Arb Waveform panel: - added Looping controls back in - implemented looping/one-shot in firmware and in Device dlls - initialized to "Loop Continuously" - graph continuations now drawn even w/out clicking a loop selection - added Legend back in - set initial values in Waveform Components tabs: - 1kHz, 2V Pk-Pk for sin, tri, squ, saw - 1V Level for DC - Func Gen panel: - defaults on panel opening: 1kHz, 2V pk-pk sine wave - limited # of freq. slider events to address issue of app freezing - PWMs: - solid line part of waveform illustration now shows a complete period - set bounds and added initialization code to fix exceptions caused by zero values - analog outputs set to 0V when Mobile Studio starts up or shuts down - red1: DACs only (func gens can't be set to 0) - blue: nothing yet (func gens can't be set to 0, PWMs and DACs not implemented yet) - red2: AWGs and PWMs - old crashes re-tested, seem to be fixed now: - "Reset Device" on red2 boards now works correctly - plugging in red1 or blue boards while Mobile Studio running no longer causes crash - scope measurements panel: all channels now measure period peak-to-peak - fixed analog out sliders (only relevant to red1) - installer associates .iob files with Mobile Studio for double-click opening - moved build with all the above to main release, then added (incomplete) Impedance Analyzer and Multimeter features back into development release only 06/26/2008 ---------- - Arbitrary Waveform feature: - fixed bug with change in sampling rate causing freq change in sin, tri, squ, saw - implemented audio and CSV resampling - disabled "Add L/R Channel" buttons in audio and CSV tabs until after file is loaded - now sending sampling rate to signal builder channels rather than directly to hardware - "Send to Hardware" button is now enabled only when there are changes to be sent - added label to display messages about any truncation (exceeding buffer or not matching block size) 06/11/2008 ---------- - Arbitrary Waveform panel: - implemented Amplitude setting for Audio - set bounds for sin, tri, squ, saw: - freq: 0-150kHz - pkpk: 0-6V - offset: ±3V - phase: ±180 in degrees, ±PI in radians - changed "Amplitude" labels to "Pk-Pk" for sin, tri, squ, saw - fixed greyed-out "Offset" labels - removed MHz setting from freq units for sin, squ, tri, saw - removed uV, dBV and dBmV menu choices for all voltages - removed noise panel for now - removed audio resampling for now - removed looping/one-shot for now - removed buffer memory panel - removed legend panel - set bounds for func gens panel to match bounds in AWGs panel - fixed invalid sampling rates for analog outs 06/06/2008 ---------- - fixed issue with scope killing AWGs - this also improves interactivity at high Time/Div settings - changed scope time options from multiples of {1.0, 2.5, 5.0} to multiples of {1.0, 2.0, 5.0} - changed max freq of func gens to 150kHz - cleaned up redundant updating calls which were introduced as part of sampling rate switch code 05/20/2008 ---------- - Analog I/O (only available on red1 board): - DAC outputs now update only after pressing Enter 05/05/2008 ---------- - scope: - implemented Open/Save Settings for all scope controls - "Enable Channel" switches: - added on/off switch for scope channel 1 - both channels now enabled by default - switching ch 2 off no longer disables math channel enable switch - misc. logic fixes to math channel switch enabling code - misc. logic fixes to channel enabling/disabling code when switching between Y-T/X-Y - "Set to 50%" triggering button now works with DC offsets - fixed "Reset Zoom" function - changed zoom arrow tool action from None to ZoomAroundPoint (and updated tooltips to distinguish zoom modes) - Point mode now uses same colors as Line mode - added tooltip text to print button - commented out Measurements cursors (peakCursor1, peakCursor2) - commented out auto-set button (button_autoset) - commented out Excel button (tool_exportExcel) - other: - commented out useless "Close Settings File" option from File menu 04/26/2008 ---------- - scope: - implemented ground coupling for all 3 boards - fixed trigger slope inversion for AWG inputs on red2 - fixed averaging for blue and red2 - merged COM stuff into solution, and into installer (including COM registration) - fixed NationalInstruments.Common errors in COM on non-development machines (should make it work with LabVIEW now) - fixed time unit strings throughout code ("S" to "s", "u" to Greek mu) - fixed old setup.nsi warnings 04/11/2008 ---------- - added CSV import for AWGs - func gen feature: - added sample rate selection to "Advanced" controls (red2 only) - board can't reliably produce freqs > ~125 kHz, so: - removed MHz option from all freq units menus (and updated related indexing code) - set bounds of 0 < freq <= 125 kHz (freq=0 was causing crashes) - Fine Adjustment Max units settings no longer ignored - fixed crash caused by setting Fine Adjustment Min to 1000Hz - put in timer for freq scrolling/arrows to reduce chances of wiping out AWGs - swapped position of fine adj and sweep boxes - bumped Fine Adj slider up a few pixels so it doesn't overlap box line - fixed crash caused by unplugging board with digital i/o panel open 03/31/2008 ---------- - fixed digital i/o indexing and i/o direction issues on red2 - added PWM to red2