Versions Compared

Key

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

...


Aptina Imaging software uses sensor specific .ini files for many of its applications. The .ini file contains groups of commands called presets. Each preset has a name enclosed in square brackets, like [83269893Reset]. Some presets are required for the DevWare application; while others can be added by the user. The DevWare application provides several tools which will allow the user to create and edit ini presets. There is also a function in the ApBase API which allows the user to load a preset from an .ini file in their own custom application (see ap_LoadINIPreset()).

...

[Toolbar: …]

The preset will get a button on the User Toolbar assigned to it. See below.

[Toolbar2: …]

The preset will get a button on the 2nd User Toolbar assigned to it. See below.

[Python: …]

The preset contains Python code instead of ini commands. See the DevWare Python Development Guide document.

[Hidden: …]

The preset will not appear in the DevWare Presets dialog list box. You can leave off the 'Hidden:' part in 83269893 LOAD= commands. For example 'LOAD=PLL-On' can load [Hidden: PLL-On].

[Patch <id>; <color>; <description>]

A preset name formatted like this will be recognized as a firmware patch by the Load Patches dialog page of the Sensor Control dialog.
<id> is the patch ID, usually four hex digits.
<color> is one of "critical", "recommended", "feature-recommended", "feature recommended", "customer", "customer-specific", "customer specific".
<description> is a short text description of the patch.

...

If the name of a preset begins with "Toolbar:" or "Toolbar2:" then DevWare will create a button on the corresponding User Toolbar that executes the preset. The remainder of the preset name after "Toolbar:" or "Toolbar2:" will be used as the button label. You can further define the characteristics and behavior of the toolbar button with the 83269893 ICON=, 83269893 TOOLTIP=, 83269893 MENUITEM= and SHORTCUT= special commands.
The maximum number of buttons on a User Toolbar is 20.

...

Command

Definition

BITFIELD

Write a value to a bitfield of a register.

DATATYPE

Define the data type and optional valid range of a named register or bitfield.

83269893DELAY

Delay a certain amount of time (in milliseconds) before continuing.

83269893ERROR_IF

Output an error message and stop execution if a condition is met.

83269893FAR1

Write a value to a sensor register on the first attached camera.

83269893FAR2

Write a value to a sensor register on the second attached camera.

83269893FIELD_WR

Write to a register or bitfield by name. Command works for any kind of register, variable or SFR.

83269893ICON

Define the icon for a User Toolbar button.

83269893IF_FIELD

Similar to LOAD, but conditioned on the value of a register.

83269893IF_REG

Similar to LOAD, but conditioned on the value of a register.

83269893IF_SERIAL

Similar to IF_REG, but can access any device on the SHiP bus.

83269893IMAGE

Set software to expect the given image size and type. Command does not change sensor mode.

83269893LOAD

Load a preset from an ini file.

83269893LOAD_PROM

Load a preset from an EEPROM.

83269893LOG

Add a text string to the Log window.

83269893MEM

Write a value to an SOC RAM location.

83269893MEM8

Write a value to an 8-bit SOC RAM location.

83269893MEM32

Write a value to a 32-bit SOC RAM location.

83269893MENUITEM

Define sub-menu items for a User Toolbar button.

83269893OPTION

Set a DevWare Option variable.

83269893POLL_FIELD

Poll a register. Similar to DELAY, but conditioned on the value of a register.

83269893POLL_REG

Poll a register. Similar to DELAY, but conditioned on the value of a register.

83269893POLL_VAR

Poll a variable. Similar to DELAY, but conditioned on the value of a variable.

83269893PROMPT

Give the user a multiple-choice dialog, or show a message.

83269893PYTHONInvoke a one-line Python statement.

83269893REG

Write a value to a register.

83269893REG_BURST

Write a sequence of register values in one bus transaction.

83269893SAVE_IMAGE

Write image data to files.

83269893SAVE_REGS

Write register values to a file.

83269893SENSOR_BASE

Set or detect the sensor SHiP base address.

83269893SERIAL_REG

Low-level write to Two-Wire Serial Interface register.

83269893SFR

Write a value to a special function register, on certain sensors.

83269893SFR8

Write a value to an 8-bit special function register, on certain sensors.

83269893SHORTCUT

Define a keyboard shortcut for a User Toolbar button.

83269893STATE

Set a variable within the software, not on the sensor.

83269893TOOLTIP

Define a tooltip for a User Toolbar button.

83269893VAR

Write a value to a firmware variable.

83269893VAR32

Write a value to a 32-bit firmware variable.

83269893VAR8

Write a value to an 8-bit firmware variable.

83269893XMCLK

Set the XMCLK (sensor external clock) frequency.

...

Anchor
MENUITEM
MENUITEM
MENUITEM = "<menu text>", LOAD= <preset> [, ICON= <icon name>] [,CHECKED|RADIO= <register name>[:<bitfield name>|:<mask>]|STATE:<STATE variable> <condition>] [,ENABLED= <register name>[:<bitfield name>|:<mask>]|STATE:<STATE variable> <condition>][,SHORTCUT=<key combination>]  //<comment>

Defines a drop-down menu item for a User Toolbar button in DevWare. Only takes effect if the preset name begins with "Toolbar:" or "Toolbar2:". This command causes the toolbar button behavior to change to a drop-down menu action.

The 83269893 ICON=, CHECKED=, RADIO= and ENABLED= attributes work as in the ICON= command, except they apply only to the menu item, not the toolbar button. The icon file must be a .bmp (32-bpp, R-G-B-alpha) file, 13x13 pixels for the normal Windows text size. SHORTCUT= attribute works like the SHORTCUT= command, but applies only to this menu item.

If ICON= is used then CHECKED= or RADIO= will may have no visible effect depending on OS or GUI library.

The maximum number of menu items on a single toolbar button is 25.

Example: Group multiple presets under one button, with a separator between Parallel and HiSPi.
[Toolbar: 1280x720]
MENUITEM= "Parallel 1280x720 36.19fps", LOAD= Parallel 1280x720 36.19fps XBin2YBin2_BinSum
MENUITEM= "Parallel 1280x720 51.69fps", LOAD= Parallel 1280x720 51.69fps XBin2YSkip2_ColSum2
MENUITEM="-"
MENUITEM= "HiSPi 1280x720 51.69fps", LOAD= HiSPi 1280x720 51.69fps XBin2YSkip2_ColSum2

Example: Image Orientation control for a SMIA sensor using radio button icons
[Toolbar: Orientation]
MENUITEM= "Normal", LOAD= Normal, RADIO= IMAGE_ORIENTATION==0
MENUITEM= "Mirror", LOAD= Horiz Mirror, RADIO= IMAGE_ORIENTATION==1
MENUITEM= "Flip", LOAD= Vertical Flip, RADIO= IMAGE_ORIENTATION==2
MENUITEM= "Rotate 180", LOAD= Rotate 180, RADIO= IMAGE_ORIENTATION==3
[Normal]
FIELD_WR= IMAGE_ORIENTATION, 0
[Horiz Mirror]
FIELD_WR= IMAGE_ORIENTATION, 1
[Vertical Flip]
FIELD_WR= IMAGE_ORIENTATION, 2
[Rotate 180]
FIELD_WR= IMAGE_ORIENTATION, 3

Note: if "LOAD=" is not supplied, then that MENUITEM will be disabled but still displayed. 
To to provide visual separators between MENUITEM sections, use MENUITEM= "-".

See also the ICON=, SHORTCUT= and TOOLTIP= commands.

...