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()).

...

You may create your own presets using a text editor, or various tools in DevWare DevWareX.
The preset name may consist of any combination of ASCII characters (alphanumeric, symbolic, space, etc.) except "[", "]", "," or the sequence "//".
To execute the preset select it in the DevWare Presets dialog and click Load.

...

[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.

...

List of INI Commands


Command

Definition

83269893BITFIELD

Write a value to a bitfield of a register.

83269893DATATYPE

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
ICON
ICON
ICON = <icon name> [,CHECKED|RADIO= <register name>[:<bitfield name>]|STATE:<STATE variable> <condition>] [,ENABLED= <register name>[:<bitfield name>|:<mask>]|STATE:<STATE variable> <condition>]  //<comment>

Defines the icon image and button state for a User Toolbar button in DevWare. Only takes effect if the preset name begins with “Toolbar:” or “Toolbar2:”.

If the <icon name> contains a dot “.” character, it's interpreted as a filename with a path relative to the ini file. The icon file can be a .ico or a .bmp (24x24 pixels, 32-bpp, R-G-B-alpha) file.

Example: Load icon from file zoom.ico.
ICON = zoom.ico

Otherwise the name specifies a built-in icon image. The built-in images are different colored shapes. Specify the shape and color. The shapes are circle, square, triangle and star. The colors are black, brown, red, orange, yellow, green, blue, violet, gray and white.

Example: Use a built-in icon image.
ICON= green square.

Optionally you can define the 'checked' (pressed-in) and enabled (not grayed out) state for the button, based on the value of a register, bitfield or DevWare STATE variable. The <condition> can be ==, !=, <, >, <=, or >= followed by a numerical constant. Use the RADIO keyword for a group of mutually exclusive buttons. Use the CHECKED keyword for independent buttons.

Example: Load icon from file antishake.bmp, and declare that the button should be pressed-in when SEQ_STATE_CFG_2_AS equals 1 and not pressed otherwise.
ICON= antishake.bmp, CHECKED= SEQ_STATE_CFG_2_AS == 1

Example: Load icon from file Zoom1.bmp, and declare that the button should be pressed-in when the DevWare STATE variable Display Zoom Percent equals 100.
ICON= Zoom1.bmp, CHECKED= STATE:Display Zoom Percent == 100

See also the MENUITEM= and TOOLTIP= commands.

...

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.

...