Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  •  
Excerpt

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

  • Anchor
    Dockable
    Dockable
    Most dialogs are "dockable", meaning
    • 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 ...".
  • Anchor
    SCbyFunction
    SCbyFunction
    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.
  • Anchor
    GraphHist
    GraphHist
    Graphing dialog; Histogram shown as bar data
    • Histogram data filled-in, to more match DSC displays.
  • Anchor
    GraphStretch
    GraphStretch
    Graphing dialog; Histogram stretch
    • Available via; Control ->expand Data Interpretation -> select Decompress -> click "Histogram Stretch".
  • Anchor
    GraphROI
    GraphROI
    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(...).
  • Anchor
    MouseLock
    MouseLock
    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.

  • Anchor
    GraphStats
    GraphStats
    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.
  • Anchor
    LogTimestamp
    LogTimestamp
    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.
  • Anchor
    EmbeddedData
    EmbeddedData
    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).


  • Anchor
    AutoSW
    AutoSW
    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.
  • Anchor
    ZoomCentered
    ZoomCentered
    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).
  • Anchor
    ZoomInc
    ZoomInc
    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%).
  • Anchor
    ZoomPixel
    ZoomPixel
    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.
  • Anchor
    OptionsMenu
    OptionsMenu
    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.

  • Anchor
    WarningLog
    WarningLog
    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).

  • Anchor
    WatchArranged
    WatchArranged
    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.
  • Anchor
    WatchNonRegs
    WatchNonRegs
    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.

  • Anchor
    PresetSearch
    PresetSearch
    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.

Image Added

  • Anchor
    StartupWizardPresets
    StartupWizardPresets
    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.

Image Added

  • Anchor
    RegCollapsed
    RegCollapsed
    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.

  • Anchor
    RegSearch
    RegSearch
    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.
  • Anchor
    RegPages
    RegPages
    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.
       

  • Anchor
    ExportShipLog
    ExportShipLog
    Export SHIP Log
    • Enables the ability to filter the SHIP log by address and Read/Write .Presented -  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.

  • Anchor
    GenFileName
    GenFileName
    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:

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

Image Added

  • Anchor
    Rulers
    Rulers
    Rulers available for image display
    • A ruler is available in the image display that corresponds to Pixel width/height.
    • Enable/disable via "View / Rulers".
  • Anchor
    VideoPlayback
    VideoPlayback
    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.
  • Anchor
    VideoOverlay
    VideoOverlay
    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.
  • Anchor
    Decompanding
    Decompanding
    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.

Image Added