Spatial Transform Engine Wizard (STEW) Plugin User Guide

Spatial Transform Engine Wizard (STEW) Plugin User Guide

Spatial Transform Engine Wizard

How to use the Spatial Transform Engine Wizard (STEW)

Introduction

This user guild is for the companion configuration manager. It's designed to create the timing and spatial transforms for companion chips:
AP0102, AP0200, AP0201, AP0202
With sensors
AR0132, AR0136, AR0138, AR0140, AR0143, AR0147, AR0231, AR0233.
And the stacked chips
AS0142AT, AS0142ATE, AS0143AT, AS0143AT1, AS0147AT, AS0148AT


Note, not all combinations are available, check for ini files. This application is intended to replace STE for configuring AP0102 & AP0200 and Register Wizard for configuring the AP0201 & AP0202. It is also intended to support the AP0300 in the future.

Getting started

The companion configuration tool can be run as a Devware plugin for live updates of the companion processors or it can be launched as a standalone application. The same UI is used in either case.

The plugin can write settings directly to hardware.

The standalone application can be used to create and explore available configurations when the hardware is not available. Available here; \aptina imaging\bin\stewapp.exe
From a Command Line, you can start up the application and include the configuration file to be used.
For example; stewapp.exe -u -i <configuration.cfg>

The CLI (Command Line Interface) User Guide can be found here.

Prerequisites

You will need one of the above sensors, and AP 200 series processor and demo3 board. Use an AP0102 or AP0202 and communicate over USB if it's available. Downloading settings over Ethernet often cuts further communications and requires the hardware to be reset. Run Devware and check your configuration can be initialized and creates streaming video.

Launching the plugin

With the above hardware attached, select the 'STE Wizard' or 'Register Wizard' on the 'plug-ins' menu. A user interface similar to this should appear. It should have the correct companion processor and sensor identified. It may or may not have all the tabs along the top (More on this later)




Writing to hardware

The application should be ready to write a solution to the hardware immediately without changing any settings. How to do this depends on the type of AP processor you have and if it has a Ste.

Writing to hardware (No Ste: AP0201, AP0202)

In this case the UI should look like the image below (no tabs, these are all for configuring the Ste) and a write button on the front page. If you are writing a solution sometimes it can be hard to tell if it worked. Adjust the frame rate a bit, write the solution again and look for changes in frame rate measured by Devware.

Writing to hardware (With Ste: AP0102, AP0200)

Writing the settings for a processor with a Ste must be done from the transforms tab. Select the transforms tab and then press the 'write' button on the transform. This will create a default de-warp and download and run it.

Parameters

At this point you can change any parameters you wish and continue to test solutions. See other sections of the document which describe the parameters in detail. At any point the file menu can be used to save parameters into a configuration file which can be loaded back into the plugin and restores all the UI setting. The configuration file does not contain the register and blob applied to the hardware (like STE used to). The configuration file can be used to initial either the plugin or the standalone application so it is possible to develop parameters with no hardware then try them later when hardware is available.

Viewing and overriding results

To see the actual settings go to the view menu and launch the register view. This shows all the current register, Ste blob and bit field setting that are downloaded to the hardware.


All of this values can be overridden. To override a value type a number into the Override column in the table. Once a value has been given for an override it will be used for all transforms and any writes to hardware, the generation of ini files and the generation of xml for flashtool. It can be cleared using a right click context menu in the cells and selecting 'Clear'.

Values which are not written in the Ste Blob are registers and can be disabled. A disabled register will not be written to hardware, ini files or xml for flashtool. To disable a register right click and select 'Disable'. It can also be cleared using a right click context menu in the cells and selecting 'Clear'.

Exporting results

Once the parameters are as you'd like them (see the rest of this document on the available settings) the applications is ready to create results for you. There are two paths available to do this both available via export on the file menu.


The first export is an ini file. This is designed to be cut and paste into the existing ini file to specialize it for the given settings. It can also be applied using Devware: 'Open Additional Presets' on the File menu. This file can be created for AP0102, AP0200, AP0201 & AP0202. If multiple transforms are defined, the application prompt the user to select one for export. This is designed to replicate functionality found both in Register Wizard and STE.
The second export is an xml export designed to be used with flashtool. It contains just the blob and register settings. This file can be created for AP0102, AP0200 only. If multiple transforms are defined, the application prompt the user to select one for export.


Configuration

This section describes the first tab in the interface. With the AP0201 and AP0202 this is the only tab. It allows the user to describe the hardware, give the active image sizes, desired pixel formats and alike and it will calculate a timing solution if one can be found.

Hardware

If the application is launched as a plugin inside Devware the sensor and companion part names and revision numbers are normally automatically found. Changing them from these settings will cause the hardware to be off-line. Resetting them will allow the hardware to be written too again.
Specifying the part named and revision numbers is done on three lines. If the system is a stacked or SOC and contains a both a companion and sensor (eg AS0142AT) then it is selected on the first line inside the system box. This will automatically fill in the sensor & companion processor and may fix other parts of the UI too. Currently AS0142 and AS0147 are supported.
If the sensor and companion are independent then they are selected on the Sensor and Companion boxes. These will reset the system part to <Selected Independently> when modified. Please note that also it's possible to investigate the performance any combination of parts not all pairs have an ini file and are fully supported.


The input clock frequencies are specified on these line too. In the case above the sensor clock is being driven from the companion at 27MHz. If the sensor has its own clock an independent clock can be selected and then the frequency set. Note, even if the companion and sensor have the same frequency clock but they are independent it's important to specify this. Different timing solutions are used. See the timing selection for details.

Active frame sizes

There are either two or three active frame sizes. Sensor to the companion, the color-pipe to the Ste unit for companions with the Ste unit and the output of the companion chip. Getting the best settings is straightforward if there is no STE. The client is likely to specify the output resolution. Ideally you want to maximize the sensor resolution for a given framerate.
If you have a companion with an STE then by default the color pipe downscaling will be disabled. There are two good reasons to downscale.

  1. If you have a transform that uses too much pixel buffer memory and has no causal solution.

  2. If you have a transform that does a lot of downscaling a better quality result can be obtain by downscaling in the color pipe prior to resampling done in the Ste unit.


The active sensor output can also be flipped or mirrored using the check boxes.
Generally, the active sensor frame size is slightly smaller than the available frame size. By default the pixels used are used from the center of the physical sensor. The location button can be used to adjust this default. Positive values for the horizontal offset will move the active location to the right. Positive values for the vertical offset will move the active area down. If you are using lens correction in the Ste transform the lens will center on the physical center of the full sensor area in effect ignoring this setting. It is possible to adjust the lens center separately. See the lens correction section.

Sensor to companion protocol