DevWareX / New Features

  •  

DevWareX is a multi-platform implementation of DevWare (no longer in use), created with a more flexible GUI-generation tool. It has the same layout and controls as DevWare, but with additional features.

Introduction

  • What is DevWareX?
    • A multi-platform implementation of DevWare, created with a more flexible GUI-generation tool.
  • Why DevWareX?
    • We've had an increasing number of requests for native Linux and MacOS support.
    • Our current GUI tool MFC has limitations that prevent us from improving the user experience.
  • How different is DevWareX?
    • Just about the same as DevWare, really.
    • The layout and controls are the same as DevWare – it has a slightly different look and feel due to the use of the new GUI-generation tool but functions the same.
    • There are a few changes for better organization and some new features.
  • What happens to DevWare?
    • Nothing; it is still included in the installers.
    • Starting in February, all new product support that involves GUI-based features will only be done in DevWareX (Sensor Control dialogs, display modes).
      • DevWare will still be able to identify new products, run INI files, and display images, though.
    • We will eventually stop supporting DevWare when we officially release 64-bit DevWareX - no firm schedule yet but within this year.

New Features and Other Changes

New Feature Details

  • Most dialogs are "dockable"
    • Meaning you can resize them and have them "stick" to a particular position. Or you can undock them and let them "float".
    • A demonstration video is here - it is best to right-click the link and do "Save target as ...".
  • Sensor Control dialog are now organized by function
    • Sensor/DevWare/Bypass (when SOC or ISP is connected)make it easier to find what you're looking for.
  • Graphing dialog; Histogram shown as bar data
    • Histogram data filled-in, to more match DSC displays.
  • Graphing dialog; Histogram stretch
    • Available via; Control ->expand Data Interpretation -> select Decompress -> click "Histogram Stretch".
  • Graphing dialog; Multiple ROIs
    • Up to 8 ROIs of any type can be set.

    • There is an 8-way radio button on the Mouse Selection Area dialog (click on the Mouse Selection bar on the Info panel) to select and define the ROIs.

    • One ROI is active at a time, and that ROI drives the Analisys Graph, Noise Measurement, etc.

    • The active ROI can be changed on the Mouse Selection Area dialog, or by clicking on the ROI outline in the video window.

    • Also, how the mouse interacts with the ROIs on the video window has been changed.
      • To move an ROI, you must click on its line. Clicking away from an ROI line will drag the image (that is, you can now drag the image without locking the selection).
      • A Rectangle ROI can now be resized by dragging a corner or edge. Also, Rectangle ROIs are drawn as rectangles rather than as two sets of parallel lines, so the image is less cluttered when there are multiple of them.
    • ROIs can also be set programmatically with Python, devware.set_active_mouse_sel(index) and then devware.set_mouse_selection(...).
  • Mouse; Lock Mouse Selection
    • When enabled, the currently selected mouse type's location will remain unchanged when switching between devices and images.

    • Using the same width/height, the value(s) stay the same.

    • Using different width/height, the value(s) scale to match the relative location.

  • Graphing dialog; image stats added
    • Mean, Max, and Standard deviation can be displayed for Intensity and Histogram; right-click and select "Intensity Statistics" or "Histogram Statistics", respectively.
  • Log dialog now has a time-stamp relative to the last time it was cleared.
    • In milliseconds, makes it easier to gauge the time between log events.
  • Embedded data / Statistics tab
    • For those parts that provide metadata and statistics, a new tab is available next to the image display tab.
    • The tab is only present when the data is enabled.
    • The Statistics are presented as a true Histogram chart in the "Graphs" dialog, and can optionally overlay in the image.
    • Able to select which items, if any, are overlaid in the image, and the position within the image.
      • Right-click on any of the check boxes under "Overlay" to see a menu of display options, including Show/Remove all items from image Overlay.
    • Also works for images loaded in to DevWareX as long as the .txt file is available (that's where the Embedded Data is stored).


  • Auto SW download - applies only to External DevWareX
    • This feature allows for part identification even when the part-specific SDAT file isn't present.
    • If the part is recognized and its SDAT file is missing, the user is prompted with a link to the SW installer location on the download Web site and given the choice of being taken there.
  • Zoom stays centered
    • When the image is zoomed-in past 100% and the "Image" dialog is enabled, the user is presented with a box that can be moved to navigate within the image.
    • Zooming in and out then stays centered to this position, not the direct center as done in DevWare (from the upper-left corner).
  • Zoom increment and specific values can be entered
    • To sent the increment %, in the "Options" dialog use the "Zoom Incremental" (from 5% to 50%). 
    • To set a specific zoom value, use the pull-down from the Menu bar item "Zoom In" (from 2% to 1600%).
  • Zoom to Pixel
    • The mouse scroll wheel can zoom in to the Pixel value level.
    • Use the "Mouse Selection / Point" to select the desired Pixel, which results in the width/height location and the "cross-hair" of the Pixel.
    • Use the "cross-hair" location to follow the Pixel as you zoom in to the Pixel value.
    • Use the "Options" dialog to show the pixel values in Hex.
  • Options Menu reorganized
    • Sensor-specific items are now in Diagnostics/Sensor Advanced dialog.

The "LSB Aligned" and "Middle 12" check boxes on the Sensor Control -> Diagnostics -> Sensor Advanced dialog page. None of the controls on this dialog page affect sensor registers. They control Demo board modes and the interpretation of the pixel data from the camera.

More specifically about those two controls: Middle 12 and LSB aligned control which bits on the 16-bit parallel bus are captured as pixel data. Middle 12 takes priority. If this is checked then the middle 12 bits of the 16 bits are captured as 12-bit pixel data (and Sensor Output should be Bayer 12). If Middle 12 is off then the number of bits captured goes according to the Sensor Output box, and LSB Aligned determines whether the LSBs or MSBs of the parallel port are used.

  • Warning log window

    • Enabled/Disabled via the "View" dialog, and it is dockable.
    • Displays all warning messages, along with the user button that was clicked (or assumed if the message box was suppressed).

  • Watch dialog items can be rearranged
    • Select items per standard mouse methods (single, multiple-sequential via "shift", multiple-random via "ctrl"), and then drag them in to their new position.
  • Watch dialog items can be Non-registers (Python function or STATE variable)
    • Use the "Non-Register ..." button to open the dialog. Select either "Python Function" or "DevWare State", and then "Next".
    • For a "Python Function" follow the instructions provided.  Enter a function name in the "def" text box, then enter your Python code in the box below that, and use the "Test Function" to verify the validity of your function.
      Note: use an indentation of 4 spaces for your initial lines - the editor is trimming that by default to 4 spaces.
      • When you create the Python function in the GUI, it is saved in the Registry.
      • You can also create multiple Python functions in the INI file; here's an example.
    • For a "DevWare State", a list of available states is displayed.

  • Preset Dialog; now has a Search Bar, and a list of Recently executed presets.
    • Search Bar
      • Use single or multiple character sets to find a Preset.
      • Use "Options" to enable "Hidden:" presets as well.
    • At the bottom of the dialog is the list of "Recent" Presets that were run.
      • The most recent Preset is listed.
      • Hover the mouse over the latest Preset name to get a full list (most recent, first) of Presets.

  • Startup Wizard now supports Restore of Additional Presets Windows
    • If Additional Presets were opened, they can be restored upon the next instance of DevWareX by selecting "Restore Additional Presets Windows" in the Startup Wizard dialog.
    • Note: with Shared Settings each new instance of Additional Presets will us that path to the associated "initializer" folder as long as it was not previous referenced.

  • Register Dialog; arrays are collapsed
    • Registers or FW variables that are arrays are collapsed in the Register Dialog.
      • They can be expanded to individual entries by selecting the "+" next to the array indicator.

  • Register Dialog; search shows all matches
    • A search will show all matching register/bitfields/descriptions, along with their short description.
    • Allows the user to jump to a specific match.
  • Register Dialog; select which pages appear on the Tabs
    • By use of a "Push-Pin" on the Page tab, you can select which Tabs will stay displayed.
    • A maximum of 6 tabs can be pinned, with on tab being non-pinable.
       

  • Export SHIP Log
    • Enables the ability to filter the SHIP log by address and Read/Write -  used to capture the registers settings for a given configuration.
    • In the "Options" dialog, deselect "Allow Info Panel to Poll Registers".
    • Enable "SHIP", and run the INI file preset with the configuration you want to record.
    • Select "Export SHIP Log" - the settings are presented in "Wizard" dialog.
    • Select the ship address of the sensor if you need sensor-only, or leave all of them to get Demo3 and SERDES.
    • Deselect "Read", then select Next and then "Save to File ..." to output the results in as an INI file.

  • Generate File Name
    • Enabled via a specially named Python function, this feature allows the user to generate the base file name for saving Still and Video files.

      • The function defines a series of fields in a list or turple.

      • Three types of fields are understood; (1) a single item dictionary; (2) a python function; (3) a straight pass through.

    • The Still and Video dialogs are located under their respective parents.

  • Here's an example Python preset:

  • Timed Capture
    • Use this dialog to set up Timed Video or Image capture.
    • The settings are self-explanatory.

  • Rulers available for image display
    • A ruler is available in the image display that corresponds to Pixel width/height.
    • Enable/disable via "View / Rulers".
  • Video Playback; new controls
    • To single-step a video, select "Pause". Each time you select "Pause" again, the video will single-step.
    • Playback speed can be selected via the pull-down arrow on the "Play" button.
      • Enter 0.0 to play back at the rate indicated in the video file.
      • Maximum playback speed is determined by several factors, including image size and type and PC HW.
    • Use the Scroll Bar to scroll through the video.
  • Video Overlay
    • Watch Dialog items that are overlaid on to the image are now saved on a per-frame basis during recording.
    •  A “*textOver.txt” file is saved along with the Video file.
    • Enable Overlay display in the Watch Dialog during Video playback.
  • Decompanding
    • Only applies to Bayer image files, in "Sensor Control / Data Interpretation / Decompanding".
    • Select from the known "Legacy" formats.
    • Or use "(custom)" to specify the Companded and Original Depth values, and the associated Knee points.