BU series
CMOS Camera
Instruction Manual

Model
B/W Camera
Color Camera: BU040M / BU040MG / BU160M / BU160MG: BU040MCG / BU040MCF / BU160MCG / BU160MCF

Thank you for purchasing our product.
Before using this CMOS camera, please read through this instruction manual
carefully in order to use this product correctly and safely.
After reading, keep this instruction manual handy so that you can refer to,whenever you need it.

Information contained in this document is subject to change without prior notice.
Standard name might be trade mark of each company.

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Contents
Safety Precautions ................................................................................................................................. 2
Installation ............................................................................................................................................ 11
Specifications ....................................................................................................................................... 12
Overview ....................................................................................................................................... 12
Features ........................................................................................................................................ 12
Configuration ................................................................................................................................ 14
Connection .................................................................................................................................... 15
Connector Pin Assignment ........................................................................................................... 16
Outline Drawing ............................................................................................................................ 17
General Specifications .................................................................................................................. 19
LED Status .................................................................................................................................... 22
I/O Specification ............................................................................................................................ 23
Timing Specification ...................................................................................................................... 27
Typical Spectral Response ........................................................................................................... 30
Operating Ambient Conditions ...................................................................................................... 33
Functions .............................................................................................................................................. 35
Bootstrap Registers ...................................................................................................................... 37
DeviceControl ............................................................................................................................... 39
ImageFormatControl ..................................................................................................................... 40
Scalable ........................................................................................................................................ 44
Binning .......................................................................................................................................... 49
Decimation .................................................................................................................................... 53
Reverse......................................................................................................................................... 57
PixelFormat................................................................................................................................... 60
BayerProcessingMode ................................................................................................................. 66
TestPattern .................................................................................................................................... 69
AcquisitionControl ......................................................................................................................... 73
ImageBuffer .................................................................................................................................. 79
TriggerControl ............................................................................................................................... 84
ExposureTime ............................................................................................................................... 95
DigitalIOControl .......................................................................................................................... 100
AntiGlitch / AntiChattering ........................................................................................................... 110
TimerControl ............................................................................................................................... 114
Gain ............................................................................................................................................ 119
BlackLevel .................................................................................................................................. 122
Gamma ....................................................................................................................................... 124
Sharpness ................................................................................................................................... 126
BalanceRatio .............................................................................................................................. 128
ColorCorrectionMatrix ................................................................................................................. 133
ALCControl ................................................................................................................................. 137
LUTControl ................................................................................................................................. 141
UserSetControl ........................................................................................................................... 144
EventControl ............................................................................................................................... 149
FrameSynchronization ................................................................................................................ 152
LEDIndicatorLuminance ............................................................................................................. 154
DPCControl ................................................................................................................................. 156
Chunk.......................................................................................................................................... 159
SequentialShutterControl ........................................................................................................... 166
Appendix ............................................................................................................................................ 171
UserSetSave and UserSetQuickSave difference ....................................................................... 171
MultiFrame and Bulk function difference .................................................................................... 173
Warranty rules .................................................................................................................................... 176
Repair ................................................................................................................................................. 177
1 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Safety Precautions
Before using this product, read these safety precautions carefully. Important information is shown in thisInstruction Manual to protect users from bodily injuries and property damages, and to enable them to use theproduct safely and correctly.
Please be sure to thoroughly understand the meanings of the following signs and symbols before reading themain text that follow, and observe the instructions given herein.
[Definition of Safety Signs]
Safety Signs
WARNINGCAUTION

Description
Indicates a potentially hazardous situation that may result in death or serious
injury (*1) in the event of improper handling.
Indicates a potentially hazardous situation that may result in light to moderate
injuries (*2) or only in property damage (*3)in the event of improper handling.

Notes *1:“Serious injury” refers to cases of loss of eyesight, wounds, burns (high or low temperature),electric shock, broken bones, poisoning, etc., which leave after-effects or which require
hospitalization or a long period of outpatient treatment of cure.
*2: "Light to moderate injuries" refers to injuries, burns, electric shock etc. that do not require
hospitalization or long-term treatment.
*3: "Property damage" refers to cases of extensive damage involving damage to buildings,
equipment, farm animals, pet animals and other belongings.
[Explanation of Safety Symbols]
Safety Symbols
PROHIBITED

MANDATORY

Description
This sign indicates PROHIBITION (Do not).
The content of prohibition is shown by a picture or words beside the symbol.
This sign indicates MANDATORY ACTION (You are required to do).
The content of action is shown by a picture or words beside the symbol.

2 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/General Handing
WARNING

Unplug Stop operation immediately when any abnormality or defect occurs.
If abnormal conditions are present, such as smoke, a burning smell, ingress of water or
foreign matter, or if the equipment is dropped or malfunctions, fire or electric shock may
result.
Be always sure to disconnect the power cable from the wall socket at once and contact
your dealer.

 Do not use the equipment in locations subject to water splashes.
Otherwise, fire or electric shock may result.
Do not get wet

Never pull apart

Avoid

Avoid

Do not touch Do not disassemble, repair, or modify the equipment.
Otherwise, fire or electric shock may result.
For internal repair, inspection, or cleaning, contact your sales representative.

 Do not place anything on the equipment.
If metallic objects, liquid, or other foreign matter enters the equipment, fire or electric
shock may result.

 Do not install the equipment in an unstable or inclined location or locations
subject to vibration or impact.
Otherwise, the equipment may topple over and cause personal injury.

 During an electrical storm, do not touch the power cable and the connection
cable.
Otherwise, an electric shock may result.

 Use the specified voltage.
Use of an unspecified voltage may result in fire or electric shock.
Instruction

 Do not be handled roughly, damaged, fabricated, bent forcefully, pulled, twisted,bundled, placed under heavy objects or heated the power cable and the
Avoidconnection cable.
Otherwise, fire or electric shock may result.

3 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

CAUTION
Instruction

Avoid

 Observe the following when installing the equipment:·Do not cover the equipment with a cloth, etc.
·Do not place the equipment in a narrow location where heat is likely to accumulate.
Otherwise, heat will accumulate inside the equipment, possibly resulting in a fire.
 Do not place the equipment in locations subject to high moisture, oil fumes,
steam, or dust.
Otherwise, fire or electric shock may result.

 Do not install the equipment in locations exposed to direct sunlight or humidity.
Otherwise, the internal temperature of the equipment will rise, which may cause a fire.
Avoid

 Use only specified the power cable and the connection cables.
Otherwise, fire or electric shock may result.
Instruction

 Do not give strong impact against the equipment.
It may cause the trouble.
Avoid

Instruction

 When performing connection, turn off power.
When connecting the power cable and the connection cable, turn off the equipment
power.
Otherwise, fire or electric shock may result.

 Do not expose its camera head to any intensive light (such as direct sunlight).
Otherwise, its inner image pickup device might get damaged.
Avoid

 Avoid short-circuiting signal output.
Otherwise, a malfunction may occur.
Avoid

Avoid

Instruction

 Avoid giving a strong shock against the camera body.
It might cause a breakdown or damage. If your camera is used in a system where its
connector is subjected to strong repetitive shocks, its connector is possible to break
down. If you intend to use your camera in such a situation, if possible, bundle and fix acable in the place near the camera, and do not transmit a shock to the connector.
 Contact your sales representative to request periodic inspection and cleaning(every approx five years).
Accumulation of dust inside the equipment may result in fire or electric shock.
For inspection and cleaning costs, contact your sales representative.
4 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/CASES FOR INDEMNITY (LIMITED WARRANTY)
We shall be exempted from taking responsibility and held harmless for damage or losses incurred by the user
in the following cases.
● In the case damage or losses are caused by natural disasters, such as an earthquake and thunder, fire, orother acts of God, acts by a third party, deliberate or accidental misuse by the user, or use under extreme
operating conditions.
● In the case of indirect, additional, consequential damages (loss of business interests, suspension ofbusiness activities) are incurred as result of malfunction or non-function of the equipment, we shall be
exempted from responsibility for such damages.
● In the case damage or losses are caused by failure to observe the information contained in the
instructions in this instruction manual and specifications.
● In the case damage or losses are caused by use contrary to the instructions in this instruction manual andspecifications.
● In the case damage or losses are caused by malfunction or other problems resulting from unintended useof equipment or software etc. that are not specified.
● In the case damage or losses are caused by repair or modification conducted by the customer or any
unauthorized third party (such as an unauthorized service representative).
● Expenses we bear on this product shall be limited to the individual price of the product.
● The item that is not described in specifications of this product is out of the guarantee.
● The case of damages or losses which are caused by incorrect connection of the cable is out of theguarantee.

5 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

RESTRICTION FOR USE● Should the equipment be used in the following conditions or environments, give consideration to safetymeasures and inform us of such usage:
1. Use of the equipment in the conditions or environment contrary to those specified, or use outdoors.
2. Use of the equipment in applications expected to cause potential hazard to people or property, which
require special safety measures to be adopted.
● This product can be used under diverse operating conditions. Determination of applicability of equipment or
devices concerned shall be determined after analysis or testing as necessary by the designer of such
equipment or devices, or personnel related to the specifications. Such designer or personnel shall assure
the performance and safety of the equipment or devices.
● This product is not designed or manufactured to be used for control of equipment directly concerned withhuman life (*1) or equipment relating to maintenance of public services/functions involving factors of safety(*2). Therefore, the product shall not be used for such applications.
(*1): Equipment directly concerned with human life refers to.
- Medical equipment such as life-support systems, equipment for operating theaters.
- Exhaust control equipment for exhaust gases such as toxic fumes or smoke.
- Equipment mandatory to be installed by various laws and regulations such as the Fire Act or BuildingStandard Law- Equipment related to the above(*2): Equipment relating to maintenance of public services/functions involving factors of safety refers to.
- Traffic control systems for air transportation, railways, roads, or marine transportation- Equipment for nuclear power generation- Equipment related to the above

6 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Notes on using this product● Handle carefully
Do not drop the equipment or allow it to be subject to strong impact or vibration, as such action may cause
malfunctions. Further, do not damage the connection cable, since this may cause wire breakage.
● Environmental operating conditions
Do not use the product in locations where the ambient temperature or humidity exceeds the specifications.
Otherwise, image quality may be degraded or internal components may be adversely affected. In particular,
do not use the product in areas exposed to direct sunlight. Moreover, during shooting under hightemperatures, vertical stripes or white spots (noise) may be produced, depending on the subject or camera
conditions (such as increased gain). However, such phenomena are not malfunctions.
● Check a combination with the lens
Depending on the lens and lighting you use, an image is reflected as a ghost in the imaging area. However,this is not because of a fault of the camera.
In addition, depending on the lens you use, the performance of the camera may not be brought out fully due
to deterioration in resolution and brightness in the peripheral area, aberration and others.
Be sure to check a combination with the camera by using the lens and lightning you actually use.
When installing a lens in the camera, make sure carefully that it is not tilted.
In addition, use a mounting screw free from defects and dirt. Otherwise, the camera may be unable to be
removed.
As for the C-mount lens used combining this product, the projection distance from bottom of the screw
should use dimensions (A) or less.
C-mount lensBottom ofthe screw

(A)

Model

10mm BU040M, BU160M
9mm(A) or less

BU040MG,
BU040MCG, BU040MCF
BU160MG,
BU160MCG, BU160MCF● Mounting to pedestal
When mounting this product to a pedestal, make sure carefully that lens doesn’t touch with the pedestal.
● Do not expose the camera's image-pickup-plane to sunlight or other intense light directly
Its inner CMOS sensor might be damaged.

7 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Occurrence of moiré
If you shoot thin stripe patterns, moiré patterns (interference fringes) may appear. This is not a malfunction.
● Occurrence of noise on the screen
If an intense magnetic or electromagnetic field is generated near the camera or connection cable, noise may
be generated on the screen. If this occurs, move the camera or the cable.
● Handling of the protective cap
If the camera is not in use, attach the lens cap to the camera to protect the image pickup surface.
● If the equipment is not to be used for a long duration
Turn off power to the camera for safety.
● Maintenance
Turn off power to the equipment and wipe it with a dry cloth.
If it becomes severely contaminated, gently wipe the affected areas with a soft cloth dampened with diluted
neutral detergent. Never use alcohol, benzene, thinner, or other chemicals because such chemicals may
damage or discolor the paint and indications.
If the image pickup surface becomes dusty, contaminated, or scratched, consult your sales representative.

8 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Disposal
When disposing of the camera, it may be necessary to disassemble it into separate parts, in accordance withthe laws and regulations of your country and/or municipality concerning environmental contamination.
Following information is only for EU-member states:
The use of the symbol indicates that this product may not be treated as household waste. By
ensuring this product is disposed of correctly, you will help prevent potential negative
consequences for the environment and human health, which could otherwise be caused byinappropriate waste handling of this product. For more detailed information about the take-backand recycling of this product, please contact your supplier where you purchased the product.

“This symbol is applicable for EU member states only”

This equipment has been tested and found to comply with the limits for a class A digital device,pursuant to Part 15 of the FCC Rules.
These limits are designed to provide reasonable protection against harmful interference when theequipment is operated in a commercial environment.
This equipment generates, uses, and can radiate radio frequency energy and, if not installed andused in accordance with the instruction manual, may cause harmful interference to radio
communication.
Operation of this equipment in a residential area is likely to cause harmful interference in which casethe user will be required to correct the interference at his own expense.
[Phenomena specific to CMOS sensor]
Defective pixels

A CMOS image sensor is composed of photo sensor pixels in a square grid array. Due tothe characteristics of CMOS image sensors, over- or under-driving of the pixels results in
temporary white or black areas (as if these are noises) appearing on the screen. Thisphenomenon which is not a defect is exacerbated under higher temperatures and longexposure time.
Image shading
The brightness of the upper part of the screen may be different from that of the lower part. Notethat this is a characteristic of a CMOS image sensor and is not a fault.

9 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

环保使用期限标识，是根据电子信息产品污染控制管理办法以及，电子
信息产品污染控制标识要求(SJ/T11364-2014)、电子信息产品环保使用
期限通则，制定的适用于中国境内销售的电子信息产品的标识。
电子信息产品只要按照安全及使用说明内容，正常使用情况下，从生产
月期算起，在此期限内，产品中含有的有毒有害物质不致发生外泄或突变，不致对环境造成严重污染或对其人身、财产造成严重损害。
产品正常使用后，要废弃在环保使用年限内或者刚到年限的产品时，请

10
中华人民共和国
环保使用期限部件名称

根据国家标准采取适当的方法进行处置。
另外，此期限不同于质量/功能的保证期限。
The Mark and Information are applicable for People's Republic ofChina only.

＜产品中有毒有害物质或元素的名称及含量＞
有毒有害物质或元素
六价铬
多溴联苯
铅（Pb）
汞（Hg）
镉（Cd）
（Cr(VI)）
（PBB）

多溴二苯醚
(PBDE）

相机本体

×
○
○
○
○
○
本表格依据SJ/T 11364的规定编制○：表示该有毒有害物质在该部件所有均质材料中的含量均在电子信息产品中有毒有害物质的
限量要求标准规定的限量要求(GB/T26572)以下
×：表示该有毒有害物质至少在该部件的某一均质材料中的含量超出电子信息产品中有毒有害物质的限量要求标准规定的限量要求(GB/T26572)
This information is applicable for People's Republic of China only.
リサイクルに関する情報（包装物）
有关再利用的信息(包装物)
Information on recycling of wrapping composition

箱／箱子／Box

内部緩衝材料・袋内部缓冲材料·袋Internal buffer materials・Bag

ペーパーボード纸板Paper board

10 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Installation
Before using this product, you shall install application software to display image and control registers ofcamera, and IP configuration tool for network setting.
You can download the SDK for our USB camera products (TeliCamSDK) from the Service & Support sectionof our website.
User registration is necessary to use downloading service. Please make a user registration, or contact yoursales representative.
● TOSHIBA TELI CORPORATION Top Page
https://www.toshiba-teli.co.jp/en/● Service & Support
https://www.toshiba-teli.co.jp/cgi/ss/en/service.cgi

Please refer to the TeliCamSDK startup guide, about Operation environment, Installation, and Setup.

11 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Specifications
Overview
BU040M/BU160M series is an integrated-(one-body)-type camera that adopts a global shutter CMOS sensor.
These are BU040M (0.4M type1/2.9) and BU160M (1.6M type1/2.9). For video output and camera control, theUSB3.1 Gen1 (USB3.0) interface standard is adopted for high transfer rate, and it is easy to integrate into
industrial equipment.

Features● High frame rate
Supporting high frame rate, BU040M 523fps (Mono8), BU160M 240fps (Mono8).
● Global shutter
As it employs a global electronic shutter similar to a CCD image sensor, clear images of even fast-moving
object are obtainable with less blur.
● USB3.1 Gen1 (USB3.0) interface
Video output and camera control are performed via the USB 3.1 Gen1 (USB3.0, after here USB3.1 Gen1)
standard interface. Data transfer is up to 5Gbps (Maximum) that enables to output uncompressed video data
at high frame rate.
● USB3 VisionThis product is based on USB3 Vision Ver.1.0.
● GenICam Ver.2.4 and Ver.3.0
This product is based on GenICam (Generic Interface for Cameras) Ver.2.4 and Ver.3.0.
● IIDC2 Digital Camera Control Specification Ver.1.1.0
This product is based on IIDC2 Digital Camera Control Specification Ver.1.1.0.
● e-CON Connector adoption
The e-CON connector adoption enables to assemble the cable easily without using special tools.

12 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Random Trigger Shutter
The Random Trigger Shutter function provides images in any timing by input of an external trigger signal.
Trigger control from PC is available as well.
● Scalable
Selectable video output area. This mode achieves higher frame rate by reducing vertical output area. And
reduces occupied data rate of USB bus by reducing horizontal output area.
● Binning
Pixel data is combined by vertical and horizontal.
● Decimation
Camera reads all effective areas at high speed by skipping lines.
● Color processing
Color models have built in color processing.
There are RGB, BGR, YUV 4:2:2, YUV 4:1:1, Bayer and Mono output modes.
● Optical glass
Build-in optical glass models are optional.
Suffix [G] is attached to the model name of built-in optical glass model. (e.g. BU040MG)* Suffix [G] is not shown in the common part of instruction manual.
● IR-cut filter
Build-in IR-cut filter models are optional for color models.
Suffix [F] is attached to the model name of built-in IR-cut filter model. (e.g. BU040MCF)* Suffix [F] is not shown in the common part of specifications.
● Compact and lightweightThis camera is compact and lightweight; it is easy to integrate into industrial equipment.
● ShortExpousreMode
Firmware Ver.4.1.0 or later models have ShortExpousreMode.
By setting the ShortExposureMode to enable, high-speed exposure time setting from 1.08 μs to 13.31μs is
possible.

13 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Configuration
The system configuration of this camera series is as follows;This camera has no accessories, please prepare other equipment separately.
● Camera:This product.

● Camera mounting kit
CPTBU, CPTBUBG (*1):● USB3.1 Gen1 Cable (*2):

To fix a camera to a tripod; attach this to the bottom of the camera.
This cable is used to connect the camera to host PC. Please use
a USB3.1 Gen1 cable of Standard A - Micro B. This product isable to connect a USB cable equipped with screw lockmechanism. Please use it as needed.

● USB3.1 Gen1 Interface Card (*2):

This is the interface card to connect to the camera. Usually thiscard is installed to expansion slot of PC etc.

● e-CON Cable. (*2):

This cable is used to input external trigger signal and output GPIO
signal.
We recommend using shielded cable, because there is likely to beaffected by the noise depending on the operating environment of
the camera.

*1: Optional part. Contact your sales representative for details of option units.
*2: Commercial items.

14 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Connection

Notes on Connection:- Please confirm the power supply of the camera off when plugging in or pulling out the I/O Connector. It causes thebreakdown.
- If your camera is used in a system where its connectors are subjected to strong repetitive shocks, its connectors are
possible to break down. If you use your camera in such a situation, use an USB3.1 Gen1 cable with a lock screw, andsecure the camera cable as close as possible to the camera body for avoid physical shock to the camera connector.
- About e-CON cable: In the case that electric-wire is long or thin, input and output voltage may not satisfy specificationsof the camera or your system by voltage drop. Please confirm wires’ specifications before use them.

- Lost packets may occur by an electrical characteristic of the transmission line of USB3.1 Gen1. (USB3.1 Gen1
Interface Card, USB3.1 Gen1 Cable, and USB3.1 Gen1 HUB).

15 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Connector Pin Assignment①②

Rear View
1. USB3.1 Gen1 Interface Connector
Connector model: WMUR-10F6L1PH5N (WIN WIN PRECISION INDUSTRIAL)
Pin No.

I/O

SignalFunction

1

-

VBUS

Power

2

I/O

D-

3

I/O

D+

4

-

NC

Not connected

5

-

GND

Ground for power return

6

O

SSTX-

7

O

SSTX+

8

-

GND_DRAIN

9

I

SSRX-

10

I

SSRX+

USB2.0 differential pairSuperSpeed transmitter differential pairGround for SuperSpeed signal return
SuperSpeed receiver differential pair

2. I/O Connector
Connector (Camera side)
Matching connector (Cable side)

37204-62B3-004PL (3M Japan Limited) or equivalent
Connectors which conformed to e-CON
e.g. 37104 series (3M Japan Limited),
RITS 4P series (TE Connectivity Ltd.)* Matching connector is not an accessory of this product.
Pin assignment

1
2

↑TOP

3
4
*Above figure is connector view from insert side.
Pin No.

I/O

SignalFunction

1

I/O

Line2

GPIO Input / Output

2

O

Line1

GPIO Output

3

-

GND

Ground

4

I

Line0

GPIO Input

16 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Outline Drawing<BU040M/BU160M>

17 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

<BU040MG/BU040MCG/BU040MCF/BU160MG/BU160MCG/BU160MCF>

18 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/General Specifications
Model Name
Without optical glass

BU040M

BU160M

With optical glass

BU040MG

BU160MG

ImagerCMOS image sensor

Number of Video out pixels (H) × (V)

720 x 540

1440 x 1080

Optical Size

type1/2.9

Scanning area (H) × (V)[mm]5.02 x 3.82

5.00 x 3.75

Pixel size (H) × (V)[μm]6.90 × 6.90

3.45 × 3.45

Scan method

Progressive

Electronic shutter method

Global shutter

Aspect ratio
Sensitivity
Minimum illuminance (*1)

4:3
2800lx, F5.6, 1/500s

3000lx, F4, 1/250s

Ver.4.0.8 or earlier: 6lx

Ver.4.0.8 or earlier: 12lx

Ver.4.1.0 or later: 2lx

Ver.4.1.0 or later: 3lx

Power supply

DC +5V5% (from USB connector)

Power consumption (*2)

2.2W (maximum)

Interface

2.4W (maximum)

USB 3.1 Gen1 (Only SuperSpeed is supported)

Transmission speed

5Gbps (maximum)USB3 Vision

ProtocolImage format

Mono8, Mono10, Mono12

Maximum Frame rate (*2)
Mono8

436 fps

227 fps(HighFramerateMode=ON)(523 fps)(240 fps)

Mono10, Mono12

320 fps

122 fps

Dimensions

29 mm(W) x 29 mm (H) x 16 mm (D) (Not including protrusion)

Mass

Approximately 33g

Lens mountC-mount

Flange back17.526mm

Camera body grounding: insulation status

Conductive between circuit GND and camera body

*1 Ver.4.0.8 or earlier: F1.4, Gain +24dB, Video Level 50%
Ver.4.1.0 or later: F1.4, Gain +36dB, Video Level 50%*2 at the all pixel readout

19 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Model NameWith Optical glass

BU040MCG

BU160MCG

With IR-cut filter

BU040MCF

BU160MCF

ImagerNumber of Video out pixels (H) × (V)CMOS image sensor
720 x 540

1440 x 1080

Optical Size

type1/2.9

Scanning area (H) × (V)[mm]5.02 x 3.82

5.00 x 3.75

Pixel size (H) × (V)[μm]6.90 × 6.90

3.45 × 3.45

Scan method

Progressive

Electronic shutter method

Global shutter

Aspect ratio

4:3

Sensitivity
With Optical glass

2300lx, F5.6, 1/500s

2300lx, F2.8, 1/250s

With IR-cut filter

2500lx, F5.6, 1/500s

2400lx, F2.8, 1/250s

1lx

1lx

3lx

3lx

Minimum illuminance (*1)

Power supply
Power consumption (*2)
Interface

DC +5V5% (from USB connector)
3.2W (maximum)

USB 3.1 Gen1 (Only SuperSpeed is supported)

Transmission speed

5Gbps (maximum)USB3 Vision

ProtocolImage format

3.4W (maximum)

RGB, BGR, YUV4:2:2, YUV4:1:1, Bayer8, Bayer10, Bayer12, Mono8

Maximum Frame rate (*2)
Bayer8, Mono8

436 fps

227 fps(HighFramerateMode=ON)(523 fps)(240 fps)

YUV4:1:1

320 fps

162 fps

YUV4:2:2

320 fps

122 fps

Bayer10, Bayer12

320 fps

122 fps

RGB, BGR

320 fps

81 fpsDimensions

29 mm(W) x 29 mm (H) x 16 mm (D) (Not including protrusion)

Mass

Approximately 33g

Lens mountC-mount

Flange back17.526mm

Camera body grounding: insulation status

Conductive between circuit GND and camera body

*1 F1.4, Gain +36dB, Video Level 50%*2 at the all pixel readout

20 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Notes on combination of C-mount lens:- Depending on the lens you use, the performance of the camera may not be brought out fully due to the deterioration in
resolution and brightness in the peripheral area, occurrence of a ghost, aberration and others. When you check the
combination between the lens and camera, be sure to use the lens you actually use.
- In addition, use a mounting screw free from defects and dirt. Otherwise, the camera may be unable to be removed.
- As for the C-mount lens used combining this camera, the projection distance from bottom of the screw should use
dimensions (A) or less.
C-mount lensBottom ofthe screw

(A)

Model

10mm BU040M, BU160M
9mm(A) or less21 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

BU040MG,
BU040MCG, BU040MCF
BU160MG,
BU160MCG, BU160MCF

DAA00195C

https://www.toshiba-teli.co.jp/en/

LED Status
Camera state

Lamp indication

No power

Off

Link detection in progress

Fast flash green (ON:20ms, OFF:60ms)

Connection Error

Flash alternate red / green

SuperSpeed connected, but no data being transferredFlash green (ON: 200ms, OFF: 800ms)

SuperSpeed connected, waiting for trigger

Flash orange (ON: 200ms, OFF: 800ms)

Data being transferred

Fast flash green (ON:60ms, OFF:20ms)

Error during data transfer

Solid Red (Time period: 500ms)

Stand-by

Super slow flash orange (ON:200ms, OFF: 2800ms)

22 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

I/O Specification● Signal Specification- Line0 (I/O connector : 4 pin)
Input / Output Specification: Input only

Input Circuit: LVTTL

Level: Low 0 ~ 0.5V, High 2.0 ~ 24.0V

Polarity: High active / Low active (initial factory setting: Low active)

Pulse Width: Minimum 50μs

Input circuit diagram

InsideDC3.3V
10kΩ

0V

Notes of external trigger signal:
Depending on cable length, cable kinds and input current of trigger input line, Random Trigger Shutter operation may notsatisfy timing specification or camera may not receive EXT_TRIG signal. Please confirm it before use.

Notes of input level:
Line0 and Line2 have different input level. Please use input level within the voltage described in this specification.

23 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● External trigger input recommended circuit- Isolated I/F
CAMERA InsideYour system

DC3.3V
10kΩ

Photocoupler

4

3

CameraGND

Your
Secondary GND

Your
GND

- Non-Isolated I/F
CAMERA InsideYour system

DC3.3V10kΩ
4

3

CameraGND

Your
FRAME GND

Your
GND

Notes of trigger input cable:- The recognition of the trigger signal depends on the length, characteristic or driving current of the cable. Therefore
please confirm your system about those conditions.
- Pin 3 is conducted with camera frame.
Using shield cable, terminal processing of the shield is referred as above.
- Please confirm the EMC adaptability in whole of your system.

24 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

- Line2 (I/O connector : 1 pin)
Input / Output specification: Input / Output (switch by LineMode is possible)

Factory setting: Output- Input signal specification
Level: Low 0 ~ 0.5V, High 4.0 ~ 5.0V

Polarity: High active / Low active (initial factory setting: Low active)

Pulse Width: Minimum 50μs

Notes of external trigger signal:
Depending on cable length, cable kinds and input current of trigger input line, Random Trigger Shutter operation may notsatisfy timing specification or camera may not receive EXT_TRIG signal. Please confirm it before use.

Notes of input level:
Line0 and Line2 have different input level. Please use input level within the voltage described in this specification.

- Output signal specification
Output Circuit: 5V CMOS

Maximum Current: +/-32mA

Polarity: High active / Low active (initial factory setting: Low active)

Signal Source (LineSource): Off* / UserOutput / Timer0Active / AcquisitionActive
FrameTriggerWait / FrameActive / FrameTransferActive
ExposureActive*Even if LineMode is set as Output, the input signal to Line2 is valid when LineSource is set as Off.
Input / Output circuit diagram

InsideIOLineModeAll

DC5.0V10kΩ

1
3

25 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

- Line1 (I/O connector : 2 pin)
Input / Output Specification: Output only

Output Circuit: 5V CMOS

Maximum Current: +/-32mA

Polarity: High active / Low active (initial factory setting: Low active)

Signal Source (LineSource): Off / UserOutput / Timer0Active / AcquisitionActive
FrameTriggerWait / FrameActive / FrameTransferActive
ExposureActive

26 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Timing Specification
Image data outputs are transferred with USB bulk transfer. Timing numerical value below is described byabsolute prerequisite that camera can use transmission band without restriction of other device. When thereis other device on the same bus, the value described below is not guaranteed.
● In Manual Shutter mode

Exposure
Sensor Output

Image

Image

T1
USB Streaming

Image

Image

T2
T3

Model Name

BU040M

T1

T2

T3

[ms]

[ms]

[s]

Mono8

2.3

2.3

Mono10, Mono12

3.1

3.1

Bayer8, Mono8

2.3

2.3

3.1

3.1

Mono8

4.4

4.4

Mono10, Mono12

6.0

7.8

Bayer8, Mono8

4.4

4.4

format

YUV 4:1:1
BU040MCGYUV 4:2:2
Bayer10, Bayer12
RGB, BGR

BU160MYUV 4:1:1
BU160MCGYUV 4:2:2
Bayer10, Bayer12

1/(Frame Rate setting)

6.1
6.0

RGB, BGR

8.2
8.2
12.3

27 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● In Random Trigger Shutter mode
TRIG_IN
Exposure

T4

USB Streaming

Image

T2

Edge mode / Bulk mode (at all pixels readout)

TRIG_IN
Exposure

T5
T4

USB Streaming

Image

T2

Level mode (at all pixels readout)

Model Name

BU040M

T4

T5

[μs]

[μs]

Mono8

11.6

25.9

Mono10, Mono12

15.9

30.1

Bayer8, Mono8

11.6

25.9

15.9

30.1

Mono8

11.6

25.9

Mono10, Mono12

15.9

30.1

Bayer8, Mono8

11.6

25.9

15.9

30.1

format

YUV 4:1:1
BU040MCGYUV 4:2:2
Bayer10, Bayer12
RGB, BGR

BU160MYUV 4:1:1
BU160MCGYUV 4:2:2
Bayer10, Bayer12
RGB, BGR* The value of T2 is the same as the value of normal shutter mode.
* T4 and T5 are typical value.

28 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Notes of random trigger shutter mode:- In the period when FRAME_TRIGGER_WAIT (GPIO signal) is inactive, user must not input external trigger signal tothis camera.

- When the interval of the input trigger signal is extremely short, or when the trigger signal is noisy, there is a possibilityof causing the malfunction. In this case, please input a proper trigger signal.

29 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Typical Spectral Response* The lens characteristics and light source characteristics is not reflected in table.
● BU040M/BU160M

30 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● BU040MCG

R
GB● BU040MCF

R
G

B

31 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● BU160MCG

G

R

B

● BU160MCF

RG

B

32 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Operating Ambient Conditions● Ambient conditions- Operating Assurance
Temperature:

0°C to +40°C, Camera housing temperature: less than 60 °C

Humidity:

10% to 90% (no condensation)- Storage Assurance
Temperature:-20°C to +60°C

Humidity:

90% or less (no condensation)

Notes on Heat Radiation:
The temperature of camera housing must be kept less than 60 °C.
However, about the upper limit of top surface temperature of camera housing and the allowed ambient temperature ofeach model, please refer to the "Thermal design manual" on our HP.

33 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● EMC Conditions- EMI (Electro-Magnetic Interference):

EN61000-6-4
FCC Part 15 Subpart B Class A- EMS (Electro-Magnetic Susceptibility):

EN61000-6-2

Notes on Conformity of the EMC:
The adaptability of the safety standard of this camera is assured in the condition of combination with the following parts:- USB Cable

USB3-KR1-A-MBS-030(OKI Electric Cable Co., Ltd.)- e-CON Cable

3.0m, Shield cable(Fabricated parts)- e-CON connector

37104-3163-000 FL(3M Japan Limited)- Shielded wire

UL1533 (AWG28)(Hitachi cable, Ltd.)

Parts:

Connection:e-CON
GPIO(Line2)

1

GPIO(Line2)

GPIO(Line1)

2

GPIO(Line1)

GND

3

TRIG IN(Line0)

4

BNC
TRIG IN(Line0)
BNC

Please confirm the EMC adaptability when it combines with parts other than them.

34 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Functions
This section introduces standard functions. BU040M / BU160M series provides following functions.
Category

FunctionUSB3 Vision

Bootstrap Registers

USB3 Vision standard registers

DeviceControl

DeviceControl

Device information

ImageFormatControl

ImageFormatSelector

Image format selection

Scalable

Scalable control

Binning

Binning control

Decimation

Decimation control

ReverseImage flip

PixelFormat

Pixel format selection

TestPattern

Test pattern control

AcquisitionControl

Image stream start / stop

ImageBuffer

Image buffer control

TriggerControl

Trigger control

ExposureControl

Exposure time control

DigitalIOControl

GPIO signal control

AntiGlitch

AntiGlitch control

AntiChattering

AntiChattering control

CounterAndTimerControl

TimerControl

Timer0Active signal control

AnalogControl

Gain

Gain control

BlackLevel

Black level control

Gamma

Gamma correction

Sharpness

Sharpness control

BalanceRatio

Color gain (R, B)

BalanceWhiteAuto

Execute auto white balance once

ColorCorrectionMatrix

Color matrix correction

LUTControl

LUTControl

LUT control

UserSetControl

UserSetControl

Load / Save user setting

EventControl

EventControl

Event packet control

VenderUniqueControl

FrameSynchronization

Frame synchronization control

LEDIndicatorLuminance

LED luminance control

DPCControl

DPCControl

Defect pixel correction control

SequentialShutterControl

SequentialShutterControl

Sequential shutter control

ChunkDataControl

Chunk

ChunkDataControl

AcquisitionControl

DigitalIOControl

35 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Features supported by each model are as follows.
Function

BU040M

BU160M

BU040MCG

BU160MCG

Bootstrap Registers

✓

✓

✓

✓

DeviceControl

✓

✓

✓

✓

ImageFormatSelector

✓

✓

✓

✓

Scalable

✓

✓

✓

✓

Binning

✓

✓

✓

✓

Decimation

✓

✓

✓

✓

Reverse

✓

✓

✓

✓

PixelFormat

✓

✓

✓

✓

TestPattern

✓

✓

✓

✓

AcquisitionControl

✓

✓

✓

✓

ImageBuffer

✓

✓

✓

✓

TriggerControl

✓

✓

✓

✓

ExposureControl

✓

✓

✓

✓

DigitalIOControl

✓

✓

✓

✓

AntiGlitch

✓

✓

✓

✓

AntiChattering

✓

✓

✓

✓

TimerControl

✓

✓

✓

✓

Gain

✓

✓

✓

✓

BlackLevel

✓

✓

✓

✓

Gamma

✓

✓

✓

✓

Sharpness

-

-

✓

✓

BalanceRatio

-

-

✓

✓

BalanceWhiteAuto

-

-

✓

✓

ColorCorrectionMatrix

-

-

✓

✓

LUTControl

✓

✓

✓

✓

UserSetControl

✓

✓

✓

✓

EventControl

✓

✓

✓

✓

FrameSynchronization

✓

✓

✓

✓

LEDIndicatorLuminance

✓

✓

✓

✓

DPCControl

✓

✓

✓

✓

SequentialShutterControl

✓

✓

✓

✓

Chunk

✓

✓

✓

✓

Details of each feature are described in following pages.

36 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Bootstrap Registers
This camera is based on USB3 Vision.
Please refer to USB3 Vision specification for details about Bootstrap Registers defined in USB3 Vision.
AIA (Automated Imaging Association) USB3 Vision Homepage.
http://www.visiononline.org/vision-standards-details.cfm?type=11
Followings are commonly used registers.
-

UserDefinedName
UserDefinedName is used for assigning unique ID to the camera.
You can store an arbitrary string into non-volatile memory.

-

StreamEnable
When StreamEnable bit is set. Camera starts to send image streaming.
TeliU3vSDK / TeliCamSDK require some setups on your application in opening and closing the stream
channel. Please refer to the library manual for details.

-

EventEnable
When EventEnable bit is set. Camera is enabled to send event packets.
TeliU3vSDK / TeliCamSDK require some setups on your application in opening and closing the event
channel. Please refer to the library manual for details.

● Registers
USB3 Vision ABRM
Address

GenICamInterface

LengthByte / [bit]AccessManufactureName

0x00004

String64

R

Manufacturer name

ModelName

0x00044

String64

R

Device model name

FamilyName

0x00084

String64

R

Device family name

DeviceVersion

0x000C4

String64

R

Device version

ManufacturerInfo

0x00104

String64

R

Additional manufacturer specific information

SerialNumber

0x00144

String

64

R

Serial number of the device

UserDefinedName

0x00184

String64

R/W

User defined name of the device.

SBRM Address

0x001D8

Integer

8

R

Start Address of the SBRM

Register

37 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description

DAA00195C

https://www.toshiba-teli.co.jp/en/

USB3 Vision SBRM
Address

GenICamInterface

LengthByte / [bit]AccessSIRMAddress

0x10020

Integer

8

R

Start Address of the SIRM

EIRMAddress

0x1002C

Integer

8

R

Start Address of the EIRM

IIDC2Address

0x10038

Integer

8

R

Start Address of the IIDC2CurrentSpeed

0x10040

Integer[3..0]

R[0]: Low-Speed connection (not supported)

Register

Description[1]: Full-Speed connection (not supported)[2]: High-Speed connection[3]: Super-Speed connection

USB3 Vision SIRM
RegisterStreamEnable

Address

GenICamInterface

LengthByte / [bit]AccessDescription

0x20004

Integer[0]R/W

0: Disable data transfer of the streaming
1: Enable data transfer of the streaming

SIRequiredPayloadSize

0x20008

Integer

8

R

Minimum required payload size with current settings

SIRequiredLeaderSize

0x20010Integer

4

R

Minimum required leader size

SIRequiredTrailerSize

0x20014Integer

4

R

Minimum required trailer size

SIMaximumLeaderSize

0x20018

Integer

4

R

Maximum leader size

SIPayloadTransferSize

0x2001C

Integer

4

R

Expected Size of a single Payload Transfer

SIPayloadTransferCount

0x20020

Integer

4

R

Expected Number of Payload Transfers

SIPayloadFinalTransfer1Size

0x20024

Integer

4R

Size of first final Payload transfer

SIPayloadFinalTransfer2Size

0x20028

Integer

4R

Size of second final Payload transfer

SIMaximumTrailerSize

0x2002C

Integer

4

R

Maximum trailer size

Address

GenICamInterface

LengthByte / [bit]Access0x30000

Integer[0]

R/W

USB3 Vision EIRM
Register
EventEnable

Description
0: Disable data transfer of the event
1: Enable data transfer of the event● NoteBU series doesn’t support image transfer in High-Speed connection.
CurrentSpeed register could be used for showing the warning message on your application whencamera is connected to USB2.0 port.

38 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

DeviceControl
Registers of this category provide various information of the camera.

● Registers
Address

GenICamInterface

LengthByte / [bit]AccessDeviceReset

0x20003C

Command[0]W[1] Resets the device.

DeviceVendorName

0x200070

String

16

R

Same as ManufactureName in Bootstrap Registers

DeviceModelName

0x200090

String

16

R

Same as ModelName in Bootstrap Registers

DeviceManufactureInfo

0x2000B0

String

16

R

Same as ManufacturerInfo in Bootstrap Registers

DeviceVersion

0x2000D0

String

16

R

Same as DeviceVersion in Bootstrap Registers

DeviceID

0x200110

String

16

R

Same as SerialNumber in Bootstrap Registers

Register

Description● Note-DeviceReset
Camera executes the USB Bus reset operation by DeviceReset command.
- Plug-and-play happens, camera handles used in the application become invalid.
- The application is required to close and re-open the camera.

39 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/ImageFormatControl
Registers of this category are related to image format control.
Camera has three different banks of image format. You can select image format by ImageFormatSelector.

Format2
Format1

Width
HeightWidth
ImageSize
OffsetX
HeightWidth
ImageSize
OffsetY
OffsetX
HeightImageSize
OffsetY
OffsetX
BinningHorizontal
OffsetY
BinningVertical
BinningHorizontal

Format0

BinningVertical
BinningHorizontal
DecimationHorizontal
BinningVertical
DecimationVertical
DecimationHorizontal
DecimationVertical
DecimationHorizontal
ReverseX
DecimationVertical
ReverseX ReverseY
ReverseX ReverseY PixelFormat
ReverseY PixelFormat PixelEndian
PixelFormat PixelEndian
PixelEndian

40 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Name
ImageFormatSelector

Description
Selects an image format.

● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessImageFormatSelector

Implemented

0x202020[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20202C

16

R[0] : Format0

Description[1] : Format1[2] : Format2
Value

0x20203C

4

R/W

Selects an image format.

List of registers to be applied by ImageFormatSelector
ImageFormat 0 - 2
Width
HeightOffsetX
OffsetY
BinningHorizontal
BinningVertical
DecimationHorizontal
DecimationVertical
ReverseX
ReverseY
PixelFormat
PixelEndian

41 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control ImageFormat using dedicated API.
API name

Description

GetCamImageFormatSelector

Get current ImageFormatSelector value

SetCamImageFormatSelector

Set new ImageFormatSelector value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control ImageFormat using GenICam API.
ImageFormat
Select an image format by ‘ImageFormatSelector’.
Integer value and string value of Enumeration are as follows.
IntegerString0(*)

Format01

Format1

2

Format2* initial factory setting// GenICam node handle
CAM_NODE_HANDLE hSelector = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "ImageFormatSelector", &hSelector);// ImageFormat = Format2
Nd_SetEnumStrValue(s_hCam, hSelector, "Format2");

Please refer to [INode functions], [IEnumeration node functions] in [TeliCamAPI Library manual] formore detail.

42 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control Gain by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

ImageFormat
Write to ‘Value’ field of ‘ImageFormatSelector’ register.
// ImageFormat = Format2
uint32_t
uiSelector;
uiSelector = 2;
Cam_WriteReg(s_hCam, 0x20203C, 1, &uiSelector);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteChanging ‘ImageFormatSelector’ register value is invalid during image stream data output.

43 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Scalable
Scalable function reads out the region of interest (ROI) of the sensor.
If height size is set small, it is possible to increase the frame rate.
Only single rectangle is selectable. Concave or convex shape is not selectable.
- Window size:{A + 4 × m (H)} × {B + 2 × n (V)}A, B = minimum unit sizem, n = integer
The window size is equal or less than maximum image size.

- Start address:{4 x i (H)} x {2 x j (V)}i, j = integer
The window size is equal or less than maximum image size.

( X , Y )=( 4 * i , 2 * j )

A+4*m

B+2*n

⇒

Scalable

44 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessWidth

IInteger

4

R/W

Sets width (in pixels) of the image data.

HeightIInteger

4

R/W

Sets Height (in pixels) of the image data.

OffsetX

IInteger

4

R/W

Sets horizontal offset (in pixels) from the origin to the region of interest.

OffsetY

IInteger

4

R/W

Sets vertical offset (in pixels) from the origin to the region of interest.

Field

Address

LengthByte / [bit]Access

Implemented

0x202060[31]

R

Returns the state whether the function is implemented.

OffsetXMin

0x20206C

4

R

Returns the minimum starting position of the horizontal direction

OffsetXInc

0x202070

4R

Returns the unit starting position of the horizontal direction

WidthMin

0x202074

4

R

Returns the minimum size of width

WidthInc

0x202078

4

R

Returns the unit size of width

SensorWidth

0x20207C

4

R

Returns effective width of the sensor in pixels

OffsetYMin

0x202080

4

R

Returns the minimum starting position of the vertical direction

OffsetYInc

0x202084

4

R

Returns the unit starting position of the vertical direction

HeightMin

0x202088

4

R

Returns the minimum size of height

HeightInc

0x20208C

4

R

Returns the unit size of height.

SensorHeight

0x202090

4

R

Returns effective Height of the sensor in pixels

OffsetX

0x202094

4

RW

Sets horizontal offset (in pixels) from the origin to the region of interest

Width

0x202098

4

RW

Sets width (in pixels) of the image data.

OffsetY

0x20209C

4

RW

Sets vertical offset (in pixels) from the origin to the region of interest

Height0x2020A0

4

RW

Sets Height (in pixels) of the image data.

Name

Description● IIDC2 Register
RegisterImageSize

45 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control Scalable using dedicated API.
API name

Description

GetCamSensorWidth

Get effective width of the sensor in pixels

GetCamSensorHeight

Get effective height of the sensor in pixels

GetCamRoi

Get ROI (Region of Interest) of the camera

SetCamRoi

Set ROI (Region of Interest) to the camera

GetCamWidthMinMax

Get minimum and maximum value

GetCamWidth

Get width of image

SetCamWidth

Set width of image

GetCamHeightMinMax

Get minimum and maximum value

GetCamHeight

Get height of image

SetCamHeightSet height of image

GetCamOffsetXMinMax

Get minimum and maximum value

GetCamOffsetX

Get horizontal offset of image

SetCamOffsetX

Set horizontal offset of image

GetCamOffsetYMinMax

Get minimum and maximum value

GetCamOffsetY

Get vertical offset of image

SetCamOffsetY

Set vertical offset of image

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

46 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Scalable using GenICam API.
Scalable// GenICam node handle
CAM_NODE_HANDLE hWidth = NULL;
CAM_NODE_HANDLE hHeight = NULL;
CAM_NODE_HANDLE hOffsetX = NULL;
CAM_NODE_HANDLE hOffsetY = NULL;// ROI = {OffsetX, Width, OffsetY, Height};
uint64_t
ROI[] = {360, 720, 270, 540};// Retrieve GenICam node.
Nd_GetNode(s_hCam, “Width”, &hWidth);
Nd_GetNode(s_hCam, “Height”, &hHeight);
Nd_GetNode(s_hCam, “OffsetX”, &hOffsetX);
Nd_GetNode(s_hCam, “OffsetY”, &hOffsetY);// Set ROI
Nd_SetIntValue(s_hCam, hWidth, ROI[1]);Nd_SetIntValue(s_hCam, hOffsetX, ROI[0]);Nd_SetIntValue(s_hCam, hHeight, ROI[3]);Nd_SetIntValue(s_hCam, hOffsetY, ROI[2]);If you’re going to reduce width size, set Width, first. Then set OffsetX.
If you’re going to increase width size, set OffsetX, first. Then set Width.
If you’re going to reduce height size, set Height, first. Then set OffsetY.
If you’re going to increase height size, set OffsetY, first. Then set Height.
Please refer to [INode functions] and [IInteger node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control Scalable by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

Scalable
Write to ‘Value’ field of ‘OffsetX’, ’Width’, ‘OffsetY’, ‘Height’ register.
// ROI = {OffsetX, Width, OffsetY, Height};
uint32_t
ROI[] = {360, 720, 270, 540};// Set ROI (in one by one)
Cam_WriteReg(s_hCam, 0x202094, 1, &ROI[0]);Cam_WriteReg(s_hCam, 0x202098, 1, &ROI[1]);Cam_WriteReg(s_hCam, 0x20209C, 1, &ROI[2]);Cam_WriteReg(s_hCam, 0x2020A0, 1, &ROI[3]);// Set ROI (in block)
Cam_WriteReg(s_hCam, 0x202094, 4, &ROI[0]);47 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

In IIDC2 registers access,you can set OffsetX, Width, OffsetY, Height in any order. (in one by one access)you can also set OffsetX, Width, OffsetY, Height with single access. (in block access)Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum ValueModel

BU040M/BU040MCG

BU160M/BU160MCG

Width/OffsetX unit size

44Height/OffsetY unit size

22

Minimum unit size

64 x 64

64 x 64

Maximum unit size(*)

720 x 540

1440 x 1080
* initial factory setting● NoteChanging “Width”, “Height”, “OffsetX”, “OffsetY” register value is invalid during image stream data output.

48 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Binning
In the binning mode, a pixel is added with the neighboring pixel(s).
This increases the sensitivity of the image. It’s alike scalable, the frame rate can be faster and USB bandwidth
occupation decrease.

1440

720

All pixel readout

Binning Horizontal

Binning Vertical

Binning
Horizontal / Vertical

1080

540

Binning operation (e.g. BU160M)

49 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Framerate in each output format (fps)- BU040M
Mono8

V

H

H

Mono10/

1

2

1

436

436

2

436

436

Mono12
V

1

2

1

320

320

2

320

320

- BU160M
Mono8

V

H

Mono10/

1

2

4

1

227

227

227

2

433

502

502

4

433

502

502

水平

Mono12

垂直

1

2

4

1

122

166

166

2

244

317

317

4

317

317

317

- BU040MCG
HBayer8/
Mono8
V

1

2

1

436

436

2

436

436

YUV422

V

Bayer10/H

Bayer12
V

H

1

2

1

320

320

2

320

320

RGB/BGR

1

2

1

320

320

2

320

320

V

YUV411

V

H
1

2

1

320

320

2

320

320

H

水平

1

2

1

320

320

2

320

320

1
垂直

2

1
2

- BU160MCG
H

Bayer8/
Mono8

V

1

2

4

1

227

227

227

2

227

227

227

4

227

227

227

YUV422

V

Bayer10/H

H

Bayer12

V

1

2

4

1

122

166

166

2

166

166

166

4

166

166

166

RGB/BGR

1

2

4

1

122

166

166

2

166

166

166

4

166

166

166

V

YUV411

V

H
1

2

4

1

162

166

166

2

166

166

166

4

166

166

166

H

水平

1

2

4

1

81

162

166

2

162

166

166

4

166

166

166

50 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

1
垂直

2

1
2

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessBinningHorizontal

IInteger

4

R/W

Sets the Binning Horizontal.

BinningVerticalIInteger

4

R/W

Sets the Binning Vertical.

Name

Description● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessBinningHorizontal

Implemented

0x202120[31]R

Returns the state whether the function is implemented.

Min

0x202134

4R

Returns the minimum value of BinningHorizontal Value register.

Max

0x202138

4R

Returns the maximum value of BinningHorizontal Value register.

Value

0x20213C

4

R/W

Sets the Binning Horizontal.

Implemented

0x202140[31]

R

Returns the state whether the function is implemented.

Min

0x202154

4R

Returns the minimum value of BinningVertical Value register.

Max

0x202158

4R

Returns the maximum value of BinningVertical Value register.

Value

0x20215C

4

R/W

Sets the Binning Vertical.

BinningVertical

Description● Control with TeliCamSDKCamera feature API
Control Binning using dedicated API.
API name

Description

GetCamBinningHorizontalMinMax

Get minimum and maximum value

GetCamBinningHorizontal

Get current BinningHorizontal value

SetCamBinningHorizontal

Set new BinningHorizontal value

GetCamBinningVerticalMinMax

Get minimum and maximum value

GetCamBinningVerticalGet current BinningVertical value

SetCamBinningVertical

Set new BinningVertical value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

51 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Binning using GenICam API.
Binning// GenICam node handle
CAM_NODE_HANDLE hBinning = NULL;// Binning = 2x2
uint64_t
Binning = 2;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “BinningHorizontal”, &hBinning);// Nd_GetNode(s_hCam, “BinningVertical”, &hBinning); // either will do// Set Binning
Nd_SetIntValue(s_hCam, hBinning, Binning);

Please refer to [INode functions], [IInteger node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control Binning by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueBinning
Write to ‘Value’ field of ‘BinningHorizontal’ register to control BinningHorizontal.
Or write to ‘Value’ field of ‘BinningVertical’ register to control BinningVertical.
// Binning = 2x2
uint32_t
Binning = 2;// Set Binning
Cam_WriteReg(s_hCam, 0x20213C, 1, &Binning);// Cam_WriteReg(s_hCam, 0x20215C, 1, &Binning); // either will do

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteBinning is disabled when the camera is running in Decimation mode.
Scalable is enabled when the camera is running in Binning mode.
Changing “BinningHorizontal”, “BinningVertical” register value is invalid during image stream data output.
Binning Horizontal / Vertical = 3 is not available.

52 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Decimation
Decimation feature reads out all effective areas at high speed by skipping pixels and lines.
Decimation feature can make frame rate faster, and decrease interface bandwidth occupation.

1440

720

All pixel readout

Decimation Horizontal

Decimation Vertical

Decimation
Horizontal / Vertical

1080

540

Decimation operation (e.g. BU160M)

53 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● FrameRate in each output format (fps)- BU040M
Mono8

V

H

H

Mono10/

1

2

1

436

436

2

436

436

Mono12
V

1

2

1

320

320

2

320

320

- BU160M
Mono8

V

H

H

Mono10/

1

2

4

1

227

227

227

2

433

502

502

4

433

502

502

Mono12

V

1

2

4

1

122

166

166

2

244

317

317

4

317

317

317

- BU040MCG
HBayer8/
Mono8
V

1

2

1

436

436

2

436

436

YUV422

V

Bayer10/H

Bayer12
V

H

1

2

1

320

320

2

320

320

RGB/BGR

1

2

1

320

320

2

320

320

V

YUV411

V

H
1

2

1

320

320

2

320

320

H

水平

1

2

1

320

320

2

320

320

1
垂直

2

1
2

- BU160MCG
H

Bayer8/
Mono8

V

1

2

4

1

227

227

227

2

227

502

502

4

227

502

502

YUV422

V

Bayer10/H

H

Bayer12

V

1

2

4

1

122

166

166

2

166

317

317

4

166

317

317

RGB/BGR

1

2

4

1

122

166

166

2

166

317

317

4

166

317

317

V

YUV411

V

H
1

2

4

1

162

166

166

2

166

317

317

4

166

317

317

H

水平

1

2

4

1

81

162

166

2

162

166

166

4

166

166

166

54 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

1
垂直

2

1
2

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam Node
Name

Interface

LengthByte / [bit]Access

DecimationHorizontal

IInteger

4

R/W

Sets the Decimation Horizontal.

DecimationVerticalIInteger

4

R/W

Sets the Decimation Vertical.

Description● IIDC2 Register
Register

Field

Address

LengthByte / [bit]Access

DecimationHorizontal

Implemented

0x202160[31]

R

Returns the state whether the function is implemented.

Min

0x202174

4

R

Returns the minimum value of DecimationHorizontal Value register.

Max

0x202178

4

R

Returns the maximum value of DecimationHorizontal Value register.

Value

0x20217C

4

R/W

Sets the Decimation Horizontal.

Implemented

0x202180[31]

R

Returns the state whether the function is implemented.

Min

0x202184

4

R

Returns the minimum value of DecimationVertical Value register.

Max

0x202188

4R

Returns the maximum value of DecimationVertical Value register.

Value

0x20218C

4

R/W

Sets the Decimation Vertical.

DecimationVertical

Description● Control with TeliCamSDKCamera feature API
Control Decimation using dedicated API.
API name

Description

GetCamDecimationHorizontalMinMax

Get minimum and maximum value

GetCamDecimationHorizontal

Get current DecimationHorizontal value

SetCamDecimationHorizontal

Set new DecimationHorizontal value

GetCamDecimationVerticalMinMax

Get minimum and maximum value

GetCamDecimationVerticalGet current DecimationVertical value

SetCamDecimationVertical

Set new DecimationVertical value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

55 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Decimation using GenICam API.
Decimation// GenICam node handle
CAM_NODE_HANDLE hDecimation = NULL;// Decimation = 2x2
uint64_t
Decimation = 2;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “DecimationHorizontal”, &hDecimation);// Nd_GetNode(s_hCam, “DecimationVertical”, &hDecimation); // either will do// Set Decimation
Nd_SetIntValue(s_hCam, hDecimation, Decimation);

Please refer to [INode functions], [IInteger node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control Decimation by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

Decimation
Write to ‘Value’ field of ‘DecimationHorizontal’ register to control DecimationHorizontal.
Or write to ‘Value’ field of ‘DecimationVertical’ register to control DecimationVertical.
// Decimation = 2x2
uint32_t
Decimation = 2;// Set Decimation
Cam_WriteReg(s_hCam, 0x20213C, 1, &Decimation);// Cam_WriteReg(s_hCam, 0x20215C, 1, &Decimation); // either will do

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteDecimation is disabled when the camera is running in Binning mode.
Scalable is enabled when the camera is running in Decimation mode.
Changing “DecimationHorizontal”, “DecimationVertical” register value is invalid during image stream data
output.
Binning Horizontal / Vertical = 3 is not available.

56 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Reverse
Reverse function flips image in horizontal and/or vertical direction..

ReverseX

ReverseY

ReverseX+ReverseY● GenICam NodeInterface

LengthByte / [bit]Access

ReverseX

IBoolean

4

R/W

Sets the Reverse Horizontal.

ReverseY

IBoolean

4

R/W

Sets the Reverse Vertical.

Name

Description● IIDC2 Register
Register
ReverseX

Field

Address

LengthByte / [bit]Access

Implemented

0x2021A0[31]

R

Returns the state whether the function is implemented.

Value

0x2021B0

4

R/W

Sets the Reverse Horizontal.

Description[0] : Off[1] : On
ReverseY

Implemented

0x2021C0[31]

R

Returns the state whether the function is implemented.

Value

0x2021D0

4

R/W

Sets the Reverse Vertical.
[0] : Off[1] : On

57 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control Reverse using dedicated API.
API name

Description

GetCamReverseX

Get current ReverseX value

SetCamReverseX

Set new ReverseX value

GetCamReverseY

Get current ReverseY value

SetCamReverseY

Set new ReverseY value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control Reverse using GenICam API.
Reverse
Sets the Reverse Horizontal by ‘ReverseX’.
Sets the Reverse Vertical by ‘ReverseY’.
// GenICam node handle
CAM_NODE_HANDLE hReverseX = NULL;
CAM_NODE_HANDLE hReverseY = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “ReverseX”, &hReverseX);
Nd_GetNode(s_hCam, “ReverseY”, &hReverseY);// Set Reverse (flip horizontal and vertical direction)
Nd_SetBoolValue(s_hCam, hReverseX, true);
Nd_SetBoolValue(s_hCam, hReverseY, true);

Please refer to [INode functions], [IBoolean node functions] in [TeliCamAPI Library manual] for moredetail.

58 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control Reverse by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

Reverse
Write to ‘Value’ field of ‘ReverseX’ register.
Write to ‘Value’ field of ‘ReverseY’ register.
// Set Reverse (flip horizontal and vertical direction)
uint32_t
dat = 1;
Cam_WriteReg(s_hCam, 0x2021B0, 1, &dat);
Cam_WriteReg(s_hCam, 0x2021D0, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
● Note- Changing ‘ReverseX’, ‘ReverseY’ register value is invalid during image stream data output.

59 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

PixelFormat
Select a pixel format of image stream data.

● GenICam NodeInterface

LengthByte / [bit]AccessPixelCoding

IEnumeration

4

R/W

Selects a pixel coding.

PixelSize

IEnumeration

4

R/W

Selects a bit size of image pixel.

PixelFormat

IEnumeration

4

R/W

Selects a pixel format.

Name

Description

PixelFormat is conformed to AIA Pixel Format Naming Convention.

● IIDC2 Register
Register
PixelCoding

Field

Address

LengthByte / [bit]Access

Implemented

0x2020C0[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x2020CC

16R

Returns the presence of the pixel coding.

~0x2020D8

Description[0] : Mono[32] : RGB[34] : RGBPacked[40] : BGR[42] : BGRPacked[66] : YUV411Packed[74] : YUV422Packed[96] : BayerGR[99] : BayerRG[102] : BayerGB[105] : BayerBG

PixelSize

Value

0x2020DC

4

R/W

Selects a pixel cording.

Implemented

0x2020E0[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x2020EC

16

R[8] : Bpp8

~0x2020F8[10] : Bpp10[12] : Bpp12[16] : Bpp16[24] : Bpp24

Value

0x2020FC

4R/W

60 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects a bit size of image pixel.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register
PixelFormat

Field

Address

LengthByte / [bit]Access

Implemented

0x202400[31]R

Returns the state whether the function is implemented.

ListOfElements

0x20240C

16R

Returns the presence of the pixel endian.

~0x202418

Description[1] : Mono8[3] : Mono10[5] : Mono12[8] : BayerGR8[9] : BayerRG8[10] : BayerGB8[11] : BayerBG8[12] : BayerGR10[13] : BayerRG10[14] : BayerGB10[15] : BayerBG10[16] : BayerGR12[17] : BayerRG12[18] : BayerGB12[19] : BayerBG12[20] : RGB[21] : BGR[30] : YUV411Packed[31] : YUV422Packed

Value

0x20241C

4R/W

61 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects a pixel format

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Supported PixelFormat
B/W model
PixelSize
PixelCoding

Bpp8

Bpp10

Bpp12

Mono

Mono8 (*)

Mono10

Mono12

PixelFormat ID

0x01080001

0x01100003

0x01100005* initial factory setting

Color model
PixelSize
PixelCoding
Mono

Mono8

PixelFormat ID

0x01080001

Bpp8

Bpp10

Bpp12

Bpp16

Bpp24

-

-

-

-

-

-

-

-

BayerBG(*2)

BayerBG8

BayerBG10

BayerBG12

PixelFormat ID

0x0108000B

0x0110000F

0x01100013

-

-

-

-

-

-

-

-

-

-

-

-

-

YUV411
PixelFormat ID
YUV422
PixelFormat ID
RGB
PixelFormat ID
BGR
PixelFormat ID

YUV411Packed
0x020C001E

YUV422Packed
0x0210001F

RGB8 (*1)
0x02180014
BGR80x02180015*1 initial factory setting*2 ReverseX and ReverseYsettings are FALSE

Bayer PixelFormat in Reverse function
ReverseY

ReverseX

FALSE

FALSE

TRUE

BayerBG

BayerGB

Bpp8

0x0108000B

Bpp8

0x0108000A

Bpp10

0x0110000F

Bpp10

0x0110000E

Bpp12

0x01100013

Bpp12

0x01100012

BayerGR
TRUE

BayerRG

Bpp8

0x01080008

Bpp8

0x01080009

Bpp10

0x0110000C

Bpp10

0x0110000D

Bpp12

0x01100010

Bpp12

0x01100011

62 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control PixelFormat using dedicated API.
API name

Description

GetCamPixelFormat

Get current PixelFormat value

SetCamPixelFormat

Set new PixelFormat value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control PixelFormat using GenICam API.
PixelCoding/PixelSize
To determine PixelFormat combination of ‘PixelCoding‘ and ‘PixelSize‘ register.
1. Select a pixel coding. (‘PixelCoding’).
Integer value and string value of Enumeration are as follows.
IntegerString

0

Mono

32

RGB

34

RGBPacked

40

BGR

42

BGRPacked

66

YUV411Packed

74

YUV422Packed

96

BayerGR99

BayerRG

102

BayerGB

105

BayerBG

2. Select a bit size of image pixel (‘PixelSize’).
Integer value and string value of Enumeration are as follows.
IntegerString

8

Bpp8

10

Bpp10

12

Bpp12

16

Bpp16

24

Bpp24

63 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// GenICam node handle
CAM_NODE_HANDLE hCoding = NULL;
CAM_NODE_HANDLE hSize = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "PixelCoding", &hCoding);
Nd_GetNode(s_hCam, "PixelSize", &hSize);// 1.Select a pixel coding.
Nd_SetEnumStrValue(s_hCam, hCoding, "Mono");// 2.Select a pixel size.
Nd_SetEnumStrValue(s_hCam, hSize, "Bpp10");

PixelFormat
Select a pixel format. (‘PixelFormat’).
Integer value and string value of Enumeration are as follows.
IntegerStringIntegerString

1

Mono8

15

BayerBG10

3

Mono1016

BayerGR12

5

Mono12

17

BayerRG128

BayerGR8

18

BayerGB12

9

BayerRG8

19

BayerBG12

10BayerGB8

20

RGB8

11

BayerBG8

21

BGR8

12

BayerGR1030

YUV411Packed

13

BayerRG1031

YUV422Packed

14

BayerGB10// GenICam node handle
CAM_NODE_HANDLE hFormat = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "PixelFormat", &hFormat);// 1.Select a pixel format.
Nd_SetEnumStrValue(s_hCam, hFormat, "Mono10");

Please refer to [INode functions], [IEnumeration node functions] in [TeliCamAPI Library manual] formore detail.

64 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control PixelFormat by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valuePixelCoding/PixelSize
To determine PixelFormat combination of ‘PixelCoding‘ and ‘PixelSize‘ register.
1. Write to ‘Value’ field of ‘PixelCoding’ register.
2. Write to ‘Value’ field of ‘PixelSize’ register.
uint32_t coding = 0; // Monouint32_t size = 10; // Bpp10// 1.Select a pixel coding.
Cam_WriteReg(s_hCam, 0x2020DC, 1, &coding);// 2.Select a pixel size.
Cam_WriteReg(s_hCam, 0x2020FC, 1, &size);PixelFormat
Write to ‘Value’ field of ‘PixelFormat’ register.
uint32_t format = 3; // Mono10// 1.Select a pixel format.
Cam_WriteReg(s_hCam, 0x20241C, 1, &format);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteChanging ‘PixelFormat’ register value is invalid during image stream data output.

65 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

BayerProcessingMode
In the color model, you can select the BayerProcessingMode of Bayer output.
Color process function be applied is dependent on the setting.
Selection of BayerProcessingMode is as following table.
BayerProcessingMode

Function

Full

Full processes are available

PartialPartial processes are available

Raw

Only Gain feature is available

FunctionFull (*)

Partial

Raw

Gain

✓

✓

✓

BlackLevel

✓

✓

-

Gamma

✓

✓

-

BalanceRatio

✓

✓

-

ColorCorrectionMatrix

✓

-

-

LUTControl

✓

✓

-

DPCControl✓✓* initial factory setting

66 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Name
BayerProcessingMode

Description
Selects a Bayer Processing Mode.

● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessBayerProcessingMode

Implemented

0x21F420[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x21F42C

16

R

Returns the presence of the pixel endian.

~0x21F438

Description[0] : Raw[8] : Partial[16] : Full

Value

0x21F43C

4R/W

67 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects a Bayer Processing Mode.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control BayerProcessingMode using dedicated API.
BayerProcessingMode
Select BayerProcessingMode by ‘BayerProcessingMode’.
Integer value and string value of Enumeration are as follows.
IntegerString0Raw

8Partial16

Full// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "BayerProcessingMode", &hMode);// BayerProcessingMode = Raw
Nd_SetEnumStrValue(s_hCam, hMode, "Raw");

Please refer to [INode functions], [IEnumeration node functions] in [TeliCamAPI Library manual] formore detail.

Register access API
This API access IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

BayerProcessingMode
Write to ‘Value’ field of ‘BayerProcessingMode’ register.
// BayerProcessingMode = Raw
uint32_tuiMode;uiMode = 0;
Cam_WriteReg(s_hCam, 0x21F43C, 1, &uiMode);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteChanging ‘BayerProcessingMode’ register value is invalid during image stream data output.

68 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

TestPattern
BU series supports test pattern data output. Camera provides following Test patterns;

Black

White

GreyA

GreyB

GreyHorizontalRamp

GreyVerticalRamp

GreyScaleColorBar(B/W model only)(Color model only)

Test pattern (e.g. BU040M/BU040MCG)

69 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Name
TestPattern

Description
Selects a Test pattern.

● IIDC2 Register
Register
TestPattern

Field

Address

LengthByte / [bit]Access

Implemented

0x21F120[31]R

Returns the state whether the function is implemented.

ListOfElements

0x21F12C

16R

Returns the presence of test pattern.

~0x21F138

Description[0] : Off[1] : Black[2] : White[3] : GrayA[4] : GrayB[5] : GreyHorizontalRamp[6] : GrayScale[7] : ColorBar[8] : GreyVerticalRamp

Value

0x21F13C

4R/W

70 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects a Test pattern.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control TestPattern using dedicated API.
API name

Description

GetCamTestPatternGet current TestPattern value

SetCamTestPattern

Set new TestPattern value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control TestPattern using GenICam API.
TestPattern
Select a test pattern.
Integer value and string value of Enumeration are as follows.
IntegerString

Function0 (*)

Off (*)

Test pattern disable(Normal data output)

1

Black

All pixel = 0 LSB

2

White

All pixel = 255 @Mono8

3

GreyA

All pixel = 170 @Mono8

4

GreyB

All pixel = 85 @Mono8

5

GreyHorizontalRamp

6

GreyScale

Grey scale (B/W model only)

7

ColorBar

Color bars (Color model only)

8

GreyVerticalRamp

Horizontal Ramp

Vertical Ramp
* initial factory setting// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "TestPattern", & hNode);// 1.Select a test pattern.
Nd_SetEnumStrValue(s_hCam, hNode, "GreyHorizontalRamp");

Please refer to [INode functions], [IEnumeration node functions] in [TeliCamAPI Library manual] formore detail.

71 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control TestPattern by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

TestPattern
Write to ‘Value’ field of ‘TestPattern’ register.
uint32_t dat = 5; // Horizontal Ramp// 1.Select a test pattern.
Cam_WriteReg(s_hCam, 0x21F13C, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

72 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/AcquisitionControl
AcquisitionControl features are related to image acquisition.
Camera starts image stream output by receiving AcquisitionStart command.
Camera stops image stream output by receiving AcquisitionStop command.
There are some registers that require camera to stop image stream output to change values.
Acquisition frame rate is variable. Maximum acquisition frame rate depends on camera operation mode.
(Scalable, Pixel format, etc.)
Firmware Ver.4.1.0 or later models have HighFramerateMode. You can improve the frame rate by using
HighFramerateMode.

● GenICam NodeInterface

LengthByte / [bit]AccessAcquisitionMode

IEnumeration

4

R/W

Selects an acquisition mode.

AcquisitionStart

ICommand

4

W

Executes the image stream output start.

AcquisitionStop

ICommand

4

W

Executes the image stream output stop.

AcquisitionAbort

ICommand

4

W

Executes the image stream output abort.

IInteger

4

R/W

Sets the number of frames to transfer in MultiFrame/ImageBuffer mode.

IEnumeration

4

R/W

Selects an AcquisitionFrameRate setting priority.

IFloat4

R/W

Sets frame rate of image stream.

IEnumeration

4

R/W

Selects an AcquisitionFrameInterval setting priority.

IFloat4

R/W

Sets frame interval of image stream.

Name

AcquisitionFrameCount
AcquisitionFrameRateEnable
AcquisitionFrameRate
AcquisitionFrameIntervalControl
AcquisitionFrameInterval

73 / 177

Description

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● IIDC2 Register
RegisterAcquisitionMode

Field

Address

LengthByte / [bit]Access

Implemented

0x203020[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20302C

16

R[0]: Abort~0x203038

Description[1]: Stop[8]: Continuous[9]: MultiFrame[10]: Image Buffer Read

AcquisitionFrameCountValue

0x20303C

4

R/W

Selects an Acquisition mode.

Implemented

0x203040[31]

R

Returns the state whether the function is implemented.

Min

0x203054

4

R

Returns the minimum number of frames inMultiFrame/ImageBuffer mode.

Max

0x203058

4

R

Returns the maximum number of frames inMultiFrame/ImageBuffer mode.

AcquisitionFrameRate

Value

0x20305C

4

R/W

Sets the number of frames in MultiFrame/ImageBuffer mode.

Implemented

0x2030A0[31]

R

Returns the state whether the function is implemented.

Control

0x2030A8

4

R/W[0] : NoSpecify[1] : Manual

AcquisitionFrameIntervalMult

0x2030AC

4

R

Div

0x2030B0

4

R

Min

0x2030B4

4R

Returns the minimum value of frame rate.

Max

0x2030B8

4R

Returns the maximum value of frame rate.

Value

0x2030BC

4

R/W

Sets frame rate of image stream in raw value.

Implemented

0x2030C0[31]

R

Returns the state whether the function is implemented.

Control

0x2030C8

4

R/W[0] : NoSpecify

Absolute Value [fps] = Raw * (Mult / Div)[1] : Manual

HighFramerateMode

Mult

0x2030CC

4

R

Div

0x2030D0

4

R

Min

0x2030D4

4R

Returns the minimum value of frame interval.

Max

0x2030D8

4R

Returns the maximum value of frame interval.

Value

0x2030DC

4

R/W

Sets frame interval of image stream in raw value.

Implemented

0x21F660[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x21F66C

4

R[0] : Off

AbsoluteValue[sec] = Raw * (Mult / Div)[1] : On
Value

0x21F67C

4

R/W

Only firmware Ver.4.1.0 or later.
Sets the activation of HighFramerateMode.

74 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKThere are three way to access this feature.

Camera feature API
This API is dedicated to AcquisitionControl.
API name

Description

GetCamAcquistionFrameCountMinMax

Get minimum and maximum value

GetCamAcquistionFrameCountGet current value

SetCamAcquistionFrameCountSet new value

GetCamAcquistionFrameRateControl

Get current value

SetCamAcquistionFrameRateControl

Set new value

GetCamAcquistionFrameRateMinMax

Get minimum and maximum value

GetCamAcquistionFrameRate

Get current value

SetCamAcquistionFrameRate

Set new value

GetCamHighFramerateMode

Get current value

SetCamHighFramerateMode

Set new value

1. Set the number of frames to transfer in MultiFrame/ImageBuffer mode. (optional)
Set ‘AcquisitionFrameCount’ with ‘SetCamAcquistionFrameCount’ function.
*If you want to capture image stream continuously, it’s not necessary to set an AcquisitionFrameCount.
2. Select an ‘AcquisitionFrameRate’ setting priority. (optional)
Set ‘AcquisitionFrameRateControl’ with ‘SetCamAcquistionFrameRateControl’ function.
AcquisitionFrameRateControl

Function

NoSpecify (*)

The frame rate is determined by giving priority to ExposureTime setting value.

ManualThe frame rate is determined by giving priority to AcquisitionFrameRate setting value.
* initial factory setting

3. Set HighFramerateMode. (optional)
Set ‘HighFramerateMode’ with ‘SetCamHighFrameratemode’ function.
4. Set frame rate of image stream. (optional)
Set ‘AcquisitionFrameRate’ with ‘SetCamAcquistionFrameRate’ function.
Or, set ‘AcquisitionFrameInterval’ with ‘SetCamAcquistionFrameInterval’ function.
‘AquisitionFrameInterval’ is a reciprocal of ‘AcquisitionFrameRate’.
Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

75 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

5. Capture image stream.
TeliCamAPI provides streaming functions including command handling and buffer handling tocapture image stream simply.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.

GenICam function API
This API controls AcquisitionControl using GenICam.
1. Set the number of frames to transfer in MultiFrame/ImageBuffer mode. (optional)
Get ‘IInteger’ interface handle of ‘AcquisitionFrameCount’ by ‘Nd_GetNode’.
Set AcquisitionFrameCount with IInteger node functions.
(e.g. ‘Nd_GetIntMin’, ‘Nd_GetIntMax’, ‘Nd_GetIntValue’, ‘Nd_SetIntValue’)*If you want to capture image stream continuously, it’s not necessary to set an AcquisitionFrameCount.

2. Select an ‘AcquisitionFrameRate’ setting priority. (optional)
Get ‘IEnumeration’ interface handle of ‘AcquisitionFrameRateControl’ by ‘Nd_GetNode’.
Set AcquisitionFrameRateControl with IEnumeration node functions.
(e.g. ‘Nd_GetEnumIntValue’, ‘Nd_SetEnumIntValue’, ‘Nd_GetEnumStrValue’, ‘Nd_SetEnumStrValue’)Integer value and string value of Enumeration are as follows.
IntegerString0(*)

NoSpecify

1

Manual* initial factory setting

3. Set frame rate of image stream. (optional)
Get ‘IFloat’ interface handleof ‘AcquisitionFrameRate’ or ‘AcquisitionFrameInterval’ by‘Nd_GetNode’.
Set AcquisitionFrameRate or AcquisitionFrameInterval with IFloat node functions.
‘AquisitionFrameInterval’ is a reciprocal of ‘AcquisitionFrameRate’.
(e.g. ‘Nd_GetFloatMin’, ‘Nd_GetFloatMax’, ‘Nd_GetFloatValue’, ‘Nd_SetFloatValue’)4. Capture image stream.
TeliCamAPI provides streaming functions including command handling and buffer handling tocapture image stream simply.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.

76 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
This API access IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

1. Set the number of frames to transfer in MultiFrame/ImageBuffer mode. (optional)
Write to ‘Value’ field of ‘AcquisitionFrameCount’ register to control AcquisitionFrameCount.
2. Select an ‘AcquisitionFrameRate’ setting priority. (optional)
Write to ‘Control’ field of ‘AcquisitionFrameRate’ register to control AcquisitionFrameRate setting
priority.
3. Set a ‘HighFrameRateMode’ setting. (optional)
Write to ‘Value’ field of ‘HighFrameRateMode’ register to control HighFrameRateMode setting.
4. Set frame rate of image stream. (optional)
Write to ‘Value’ field of ‘AcquisitionFrameRate’ register to control AcquisitionFrameRate.
5. Capture image stream.
TeliCamAPI provides streaming functions including command handling and buffer handling tocapture image stream simply.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.
Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
AcquisitionFrameRate
Minimum

Maximum

Initial Value

BU040M

BU160M

BU040MCG

Raw Value

1

Absolute (Float) Value

0.061 [fps]Raw Value

BU160MCG

Depend on register setting of "Height".

Absolute (Float) Value
Raw Value

7155

3722

5253

1332

Absolute (Float) Value

436.7 [fps]227.2 [fps]320.6 [fps]81.2[fps]

FomulaAbsolute Value [fps] = Raw Value * 125 / 2048

77 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Notes on HighFramerateMode:If you use HighFramerateMode, improves frame rate and sensitivity by about 4 times, but image quality may deteriorate.
Also, the actual exposure time may vary depending on the individual differences and the operating environment (such as
the operating temperature). When using the HighFramerateMode, We ask you to have final image quality checked withyour emvironment.

● NoteChanging‘AcquisitionFrameRateControl’,‘AcquisitionFrameRate’,‘AcquisitionFrameIntervalControl’,‘AcquisitionFrameInterval’, ‘HighFramerateMode’ register value is invalid during image stream data output.
When exposure time setting is longer than frame rate setting, camera operation gives priority to exposure
time setting.

Notes on Frame Drops of Image:
Depends on your PC or interface card configurations, images may not be captured normally (e.g. frame drops may
occur). In this case, change to frame rate setting lower.

78 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/ImageBuffer
In ImageBuffer mode, Camera stores images temporarily in image buffer, and read them out in arbitrary
timing.
This function is typically used in Random Trigger Shutter mode.

r
TriggeTriggeExposure3

Frame1

Frame2
Frame1

Frame3
Frame2
Frame1

BufferImage dRea

Image Buffer

Exposure2

Image Streamingon Interface Bus

Frame3
Frame2

Frame1

Frame3

Frame2

BufferImage dRea

Exposure1

BufferImage dRea

TriggeExposurerr

Please refer to TriggerControl section as well.

Frame3

Image Buffer● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Selects an Image Buffer mode.

IInteger

4

R/W

Sets the number of frames to transfer in MultiFrame/ImageBuffer mode.

ICommand

4

W

Read Image from Image Buffer

Name
ImageBufferMode
ImageBufferFrameCount
ImageBufferRead

Description● IIDC2 Register
RegisterImageBufferMode

Field

Address

LengthByte / [bit]Access

Implemented

0x203060[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20306C

16

R[0] : Off~0x203078

ImageBufferFrameCount

Description[1] : On

Value

0x20307C

4

R/W

Sets an Image Buffer mode.

Implemented

0x203080[31]

R

Returns the state whether the function is implemented.

Min

0x203094

4

R

Returns the minimum number of frames in Image Buffer mode.

Max

0x203098

4

R

Returns the maximum number of frames in Image Buffer mode.

Value

0x20309C

4

R

Returns the number of frames in Image Buffer mode.

79 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control ImageBuffer using dedicated API.
API name

Description

GetCamImageBufferMode

Get current ImageBuffer mode

SetCamImageBufferMode

Set new ImageBuffer mode

GetCamImageBufferFrameCountGet current ImageBufferFrameCount value

ExecuteCamImageBufferRead

Read Image from Image BufferImageBuffer
1. Select an Image Buffer mode.
Set ‘ImageBufferMode’ with ‘SetCamImageBufferMode’ function.
2. Capture image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to ‘AcquisitionControl’ section as well.
3. Read the number of frames in Image Buffer.
Read the number of frames in Image Buffer with ‘GetCamImageBufferFrameCount’ function.
4. Read Image from Image Buffer.
Start to read Image from Image Buffer with ‘ExecuteCamImageBufferRead’ function.
5. Receive Image from Image Buffer.
Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control ImageBuffer using GenICam API.
ImageBuffer
1. Select an Image Buffer mode by ‘ImageBufferMode’.
Integer value and string value of Enumeration are as follows.
IntegerString

0(*)

Off

1

On
* initial factory setting

80 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

2. Open and Start image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to AcquisitionControl section as well.
3. Read the number of frames in Image Buffer by ‘ImageBufferFrameCount’.
4. Read Image from Image Buffer by ‘ImageBufferRead’.
5. Receive Image from Image Buffer.
6. Stop and Close image stream.
// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;
CAM_NODE_HANDLE hCount = NULL;
CAM_NODE_HANDLE hRead = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "ImageBufferMode", &hMode);
Nd_GetNode(s_hCam, "ImageBufferFrameCount", &hCount);
Nd_GetNode(s_hCam, "ImageBufferRead", &hRead);// 1.Select an Image Buffer mode
Nd_SetEnumStrValue(s_hCam, hMode, "On");// 2.Open and Start image stream.
// 2.1.Set Trigger mode
SetCamTriggerMode(s_hCam, true);
SetCamTriggerSource(s_hCam, CAM_TRIGGER_SOFTWARE);// 2.2.Open Streams_hStrmEvt = CreateEvent(NULL, FALSE, FALSE, NULL);
Strm_OpenSimple(s_hCam, &s_hStrm, &s_uiImgBufSize, s_hStrmEvt);s_pucImgBuf = (uint8_t *)VirtualAlloc(NULL, s_uiImgBufSize, MEM_RESERVE| MEM_COMMIT, PAGE_EXECUTE_READWRITE);// 2.3.Stream Start
Strm_Start(s_hStrm);// 2.4.Execute Software Trigger
ExecuteCamSoftwareTrigger(s_hCam);// 3.Read the number of frames in Image Buffer by 'ImageBufferFrameCount'.
int64_t count = 0;
while(count==0){
Nd_GetIntValue(s_hCam, hCount, &count);}// 4.Read Image from Image Buffer by 'ImageBufferRead'.
Nd_CmdExecute(s_hCam, hRead);// 5.Receive Image from Image Buffer
uint32_t uiSize = s_uiImgBufSize;
WaitForSingleObject(s_hStrmEvt, 1000);
Strm_ReadCurrentImage(s_hStrm, s_pucImgBuf, &uiSize, NULL);// 6.Stop and Close image stream.
// 6.1.Stream Stop
Strm_Stop(s_hStrm);// 6.2.Close Stream
Strm_Close(s_hStrm);
CloseHandle(s_hStrmEvt);
VirtualFree(s_pucImgBuf, 0, MEM_RELEASE);

81 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control Image Buffer by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

ImageBuffer
1. Select an Image Buffer mode.
Write to ‘Value’ field of ‘ImageBufferMode’ register to control ImageBufferMode.
2. Open and Start image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to AcquisitionControl section as well.
3. Read the number of frames in Image Buffer.
Read ‘Value’ field of ‘ImageBufferFrameCount’ register.
4. Read Image from Image Buffer.
Write [10] to ‘Value’ field of ‘AcquisitionCommand’ register to execute ImageBufferRead.
Please refer to AcquisitionCommand in AcquisitionControl section as well.
5. Receive Image from Image Buffer.
6. Stop and Close image stream.

82 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// 1.Select an Image Buffer mode
uint32_t
dat = 1;
Cam_WriteReg(s_hCam, 0x20307C, 1, &dat);// 2.Open and Start image stream.
// 2.1.Set Trigger mode
SetCamTriggerMode(s_hCam, true);
SetCamTriggerSource(s_hCam, CAM_TRIGGER_SOFTWARE);// 2.2.Open Streams_hStrmEvt = CreateEvent(NULL, FALSE, FALSE, NULL);
Strm_OpenSimple(s_hCam, &s_hStrm, &s_uiImgBufSize, s_hStrmEvt);s_pucImgBuf = (uint8_t *)VirtualAlloc(NULL, s_uiImgBufSize, MEM_RESERVE| MEM_COMMIT, PAGE_EXECUTE_READWRITE);// 2.3.Stream Start
Strm_Start(s_hStrm);// 2.4.Execute Software Trigger
ExecuteCamSoftwareTrigger(s_hCam);// 3.Read the number of frames in Image Buffer.
uint32_t count = 0;
while(count==0){
Cam_ReadReg(s_hCam, 0x20309C, 1, &count);}// 4.Read Image from Image Buffer. AcquisitionCommand = 10 : Image Buffer Readdat = 10;
Cam_WriteReg(s_hCam, 0x20303C, 1, &dat);// 5.Receive Image from Image Buffer
uint32_t uiSize = s_uiImgBufSize;
WaitForSingleObject(s_hStrmEvt, 1000);
Strm_ReadCurrentImage(s_hStrm, s_pucImgBuf, &uiSize, NULL);// 6.Stop and Close image stream.
// 6.1.Stream Stop
Strm_Stop(s_hStrm);// 6.2.Close Stream
Strm_Close(s_hStrm);
CloseHandle(s_hStrmEvt);
VirtualFree(s_pucImgBuf, 0, MEM_RELEASE);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● NoteThe maximum number of frames storable depends on the image size. (maximum 256MByte.)
The number of frames to be transferred by ‘ImageBufferRead’ command is determined by‘AcquisitionFrameCount’.
Changing ‘ImageBufferMode’ register value is invalid during image stream data output.

83 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/TriggerControl
TriggerControl features are related to image acquisition using trigger.
This camera series provides two kinds of exposure synchronization.
1. Normal Shutter mode

: Free run operation (internal synchronization)

2. Random Trigger Shutter mode

: Synchronized with external trigger input

In Random Trigger Shutter mode, two kinds of trigger input are available.
1. Trigger signal via the I/O connector (HardwareTrigger)
2. Trigger command via software command (SoftwareTrigger)
The following table shows the combination of operation mode of this camera series.
Operation Mode
Trigger Mode

Synchronization

Exposure Control

Normal Shutter modeFree run“ExposureTime” register control-Edge mode:TriggerSequence0-Bulk mode:TriggerSequence6

HardwareTrigger“ExposureTime” register control-Level mode:TriggerSequence1

Random Trigger Shutter mode

Trigger pulse width control-Edge mode:TriggerSequence0
SoftwareTrigger-Bulk mode:TriggerSequence6“ExposureTime” register control* The camera operation not mentioned above is not supported.

84 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

- Edge mode : TriggerSequence0
The exposure time is determined by Exposure Time setting.

Trigger
ExposureTime

Exposure
USB Streaming

Image- Level mode : TriggerSequence1
The exposure time is determined by the pulse width of the trigger signal.
This feature is not supported when the ShortExposureMode is enable (ON).

Trigger
Pulse Width

Exposure
USB Streaming

Image- Bulk mode (FrameBurstTrigger) : TriggerSequence6
Camera exposes and transfers multiple frames by a single trigger.

Trigger
ExposureTime

TriggerAdditionalParameter = 3

Exposure
USB Streaming

Image

85 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Image

Image

DAA00195C

https://www.toshiba-teli.co.jp/en/Operation point of HardwareTrigger is at the edge of trigger signal, and active edge polarity is able to change
by register setting. And you can add delay time from trigger edge to exposure start by register setting.

Trigger signal
TriggerDelay

Exposure
USB Streaming

Image

Trigger Delay
For details of Random Trigger Shutter operation, please refer to ‘Timing’ section in ‘Specification’.

86 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessTriggerMode

IEnumeration

4

R/W

Selects a trigger mode.

TriggerSoftware

ICommand

4

W

Executes software trigger.

TriggerSource

IEnumeration

4

R/W

Selects a trigger source of random trigger shutter.

TriggerActivation

IEnumeration

4

R/W

Selects a trigger activation of hardware trigger.

IFloat4

R/W

Sets a trigger delay.

IEnumeration

4

R/W

Selects a trigger sequence of random trigger shutter.

IInteger

4

R/W

Sets the number of frames to exposure in Bulk mode.

Field

Address

LengthByte / [bit]AccessDescription

Implemented

0x207020[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20702C

16

R[0] : OFF (Normal shutter)

Name

TriggerDelay
TriggerSequence
TriggerAdditionalParameter

Description● IIDC2 Register
Register
TriggerMode~0x207038

TriggerSequence[1] : ON (Random trigger shutter)

Value

0x20703C

4

R/W

Selects a trigger mode.

Implemented

0x207040[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20704C

16

R[0] : TriggerSequence0 (Edge mode)~0x207058[1] : TriggerSequence1 (Level mode)[6] : TriggerSequence6 (Bulk mode)

TriggerSource

Value

0x20705C

4

R/W

Selects an exposure mode.

Implemented

0x207060[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20706C

16

R[0] : Line0 (Hardware Trigger)~0x207078[2] : Line2 (Hardware Trigger)[64] : Software (SoftwareTrigger)

TriggerAdditionalParameter

Value

0x20707C

4

R/W

Selects a trigger source.

Implemented

0x207080[31]

R

Returns the state whether the function is implemented.

Min

0x207094

4

R

Returns the minimum value of the number of images in
Bulk mode.

Max

0x207098

4

R

Returns the maximum value of the number of images in
Bulk mode.

Value

0x20709C4

87 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

R/W

Sets the number of frames to exposure in Bulk mode.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register
TriggerDelay

SoftwareTrigger

Field

Address

LengthByte / [bit]Access

Implemented

0x2070A0

[31]

R

Mult

0x2070AC

4

R

Div

0x2070B0

4

R

Min

0x2070B4

4R

Returns the minimum value of trigger delay.

Max

0x2070B8

4R

Returns the maximum value of trigger delay.

Value

0x2070BC

4

R/W

Sets the trigger delay.(Raw value)

Implemented

0x207040[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20702C

16

R[0] : Inactive~0x207038
Value

0x20705C

Description
Returns the state whether the function is implemented.
AbsoluteValue[sec] = Raw * (Mult / Div)[8] : Impulse
488 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

R/W

Executes software trigger.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control Trigger features using dedicated API.
API name

Description

GetCamTriggerMode

Get current TriggerMode

SetCamTriggerMode

Set new TriggerMode

GetCamTriggerSequence

Get current TriggerSequence

SetCamTriggerSequence

Set new TriggerSequence

GetCamTriggerSource

Get current TriggerSource

SetCamTriggerSource

Set new TriggerSource

GetCamTriggerAdditionalParameterMinMax

Get minimum and maximum value

GetCamTriggerAdditionalParameter

Get current TriggerAdditionalParameter value

SetCamTriggerAdditionalParameterSet new TriggerAdditionalParameter value

GetCamTriggerDelayMinMax

Get minimum and maximum value

GetCamTriggerDelay

Get current TriggerDelay value

SetCamTriggerDelay

Set new TriggerDelay value

ExecuteCamSoftwareTrigger

Execute Software Trigger

1. Select a trigger mode.
Set ‘TriggerMode’ with ‘SetCamTriggerMode’ function.
2. Select a trigger sequence of random trigger shutter.
Set ‘TriggerSequence’ with ‘SetCamTriggerSequence’ function.
3. Select a trigger source of random trigger shutter.
Set ‘TriggerSource’ with ‘SetCamTriggerSource’ function.
4. Select a trigger activation of hardware trigger.
5. Set the number of frames to exposure in Bulk mode.
Set ‘TriggerAdditionalParameter’ with ‘SetCamTriggerAdditionalParameter’ function.
6. Set a trigger delay.
Set ‘TriggerDelay’ with ‘SetCamTriggerDelay’ function.
7. Capture image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual]and [GrabStreamSimple] sample code in your TeliCamSDK install folder.
8. Execute software trigger.
Execute Software Trigger in SoftwareTrigger mode with ‘ExecuteCamSoftwareTrigger’ function.
Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

89 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Trigger features using GenICam API.
1. Select a trigger mode by ‘TriggerMode’.
Integer value and string value of Enumeration are as follows.
IntegerString

0(*)

Off

1

On
* initial factory setting

2. Select a trigger sequence of random trigger shutter by ‘TriggerSequence’.
Integer value and string value of Enumeration are as follows.
IntegerString0(*)

TriggerSequence0

1

TriggerSequence1

6

TriggerSequence6* initial factory setting

3. Select a trigger source of random trigger shutter by ‘TriggerSource’.
Integer value and string value of Enumeration are as follows.
IntegerString

0(*)

Line0

2

Line2

64

Software* initial factory setting

4. Select a trigger activation of hardware trigger by ‘Trigger Activation.
5. Set the number of frames to exposure in Bulk mode by ‘TriggerAdditionalParameter’.
6. Set a trigger delay by ‘TriggerDelay’.
7. Capture image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.
8. Execute software trigger in SoftwareTrigger mode by ‘TriggerSoftware’.
9. Receive Image
10. Stop and Close image stream.

90 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;
CAM_NODE_HANDLE hSequence = NULL;
CAM_NODE_HANDLE hSource = NULL;
CAM_NODE_HANDLE hAdditionalParameter = NULL;
CAM_NODE_HANDLE hDelay = NULL;
CAM_NODE_HANDLE hTriggerSoftware = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "TriggerMode", &hMode);
Nd_GetNode(s_hCam, "TriggerSequence", &hSequence);
Nd_GetNode(s_hCam, "TriggerSource", &hSource);
Nd_GetNode(s_hCam, "TriggerAdditionalParameter", &hAdditionalParameter);
Nd_GetNode(s_hCam, "TriggerDelay", &hDelay);
Nd_GetNode(s_hCam, "TriggerSoftware", &hTriggerSoftware);// 1. Select a trigger mode by 'TriggerMode'.
Nd_SetEnumStrValue(s_hCam, hMode, "On");// 2. Select a trigger sequence of random trigger shutter by 'TriggerSequence'.
Nd_SetEnumStrValue(s_hCam, hSequence, "TriggerSequence6"); // Bulk mode// 3. Select a trigger source of random trigger shutter by 'TriggerSource'.
Nd_SetEnumStrValue(s_hCam, hSource, "Software");// Software// 4.Select a trigger activation of hardware trigger by 'LineInverterAll'.
// -- not applicable for Software Trigger// 5.Set the number of frames to exposure in Bulk mode by'TriggerAdditionalParameter'.
Nd_SetIntValue(s_hCam, hAdditionalParameter, 3);// 3 frames// 6.Set a trigger delay by 'TriggerDelay'.
Nd_SetFloatValue(s_hCam, hDelay, 1000.0);// 1ms// 7.Open and Start image stream.
// 7.1.Open Streams_hStrmEvt = CreateEvent(NULL, FALSE, FALSE, NULL);
Strm_OpenSimple(s_hCam, &s_hStrm, &s_uiImgBufSize, s_hStrmEvt);s_pucImgBuf = (uint8_t *)VirtualAlloc(NULL, s_uiImgBufSize, MEM_RESERVE| MEM_COMMIT, PAGE_EXECUTE_READWRITE);// 7.2.Stream Start
Strm_Start(s_hStrm);// 8.Execute software trigger in SoftwareTrigger mode by 'TriggerSoftware'.
Nd_CmdExecute(s_hCam,hTriggerSoftware);// 9.Receive Image
uint32_t uiSize = s_uiImgBufSize;
CAM_IMAGE_INFO sImageInfo;for(int i=0; i<3; i++){
WaitForSingleObject(s_hStrmEvt, 1000);
Strm_ReadCurrentImage(s_hStrm, s_pucImgBuf, &uiSize, &sImageInfo);}// 10.Stop and Close image stream.
// 10.1.Stream Stop
Strm_Stop(s_hStrm);// 10.2.Close Stream
Strm_Close(s_hStrm);
CloseHandle(s_hStrmEvt);
VirtualFree(s_pucImgBuf, 0, MEM_RELEASE);

91 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Please refer to [INode functions], [IEnumeration node functions][ICommand node functions][IInteger
node functions] in [TeliCamAPI Library manual] for more detail.

Register access API
Control Trigger features by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

1. Select a trigger mode.
Write to ‘Value’ field of ‘TriggerMode’ register to control TriggerMode.
2. Select a trigger sequence of random trigger shutter.
Write to ‘Value’ field of ‘TriggerSequence’ register to control TriggerSequence.
3. Select a trigger source of random trigger shutter.
Write to ‘Value’ field of ‘TriggerSource’ register to control TriggerSource.
4. Select a trigger activation of hardware trigger.
5. Set the number of frames to exposure in Bulk mode.
Write to ‘Value’ field of ‘TriggerAdditionalParameter’ register to control TriggerAdditionalParameter.
6. Set a trigger delay.
Write to ‘Value’ field of ‘TriggerDelay’ register to control TriggerDelay.
7. Open and Start image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.
8. Execute software trigger.
Write [8] to ‘Value’ field of ‘SoftwareTrigger’ register to execute Software trigger..
9. Receive Image
10. Stop and Close image stream.

92 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

uint32_t

dat;// 1. Select a trigger mode by 'TriggerMode'.
dat = 1;
Cam_WriteReg(s_hCam, 0x20703C, 1, &dat); // TriggerMode = On// 2. Select a trigger sequence of random trigger shutter by 'TriggerSequence'.
dat = 6;
Cam_WriteReg(s_hCam, 0x20705C, 1, &dat); // TriggerSequence6 (Bulk mode)// 3. Select a trigger source of random trigger shutter by 'TriggerSource'.
dat = 64;
Cam_WriteReg(s_hCam, 0x20707C, 1, &dat); // Software// 4.Select a trigger activation of hardware trigger by 'LineInverterAll'.
// -- not applicable for Software Trigger// 5.Set the number of frames to exposure in Bulk mode by'TriggerAdditionalParameter'.
dat = 3;
Cam_WriteReg(s_hCam, 0x20709C, 1, &dat); // 3 frames// 6.Set a trigger delay by 'TriggerDelay'.
// TriggerDelay = 1000.0us (Raw value = 60000)
dat = 60000;
Cam_WriteReg(s_hCam, 0x2070BC, 1, &dat); // 1ms// 7.Open and Start image stream.
// 7.1.Open Streams_hStrmEvt = CreateEvent(NULL, FALSE, FALSE, NULL);
Strm_OpenSimple(s_hCam, &s_hStrm, &s_uiImgBufSize, s_hStrmEvt);s_pucImgBuf = (uint8_t *)VirtualAlloc(NULL, s_uiImgBufSize, MEM_RESERVE| MEM_COMMIT, PAGE_EXECUTE_READWRITE);// 7.2.Stream Start
Strm_Start(s_hStrm);// 8.Execute software trigger in SoftwareTrigger mode by 'SoftwareTrigger'.
dat = 8;
Cam_WriteReg(s_hCam, 0x2070DC, 1, &dat); // SoftwareTrigger// 9.Receive Image
uint32_t uiSize = s_uiImgBufSize;
CAM_IMAGE_INFO sImageInfo;for(int i=0; i<3; i++){
WaitForSingleObject(s_hStrmEvt, 1000);
Strm_ReadCurrentImage(s_hStrm, s_pucImgBuf, &uiSize, &sImageInfo);}// 10.Stop and Close image stream.
// 10.1.Stream Stop
Strm_Stop(s_hStrm);// 10.2.Close Stream
Strm_Close(s_hStrm);
CloseHandle(s_hStrmEvt);
VirtualFree(s_pucImgBuf, 0, MEM_RELEASE);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

93 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Minimum/Maximum Value
TriggerAdditional

Raw Value =Parameter

Absolute (Float) Value

Minimum

0

Maximum

255

Initial Value0

TriggerDelay

Raw Value

Absolute (Float) Value

Minimum00.0 [us]

Maximum

120000000

2000000.0 [us]Initial Value00.0 [us]

FormulaAbsolute Value [us] = Raw Value / 60

● NoteIn SoftwareTrigger operation, the delay time from ‘TriggerSoftware’ to exposure is not guaranteed.
BU series have different hardware trigger source.
Please refer to ‘I/O Specification’ section as well.
TriggerSource

Description

Line0 (*)

I/O connector : 4 pin, High level 2.0 to 24.0V

Line2

I/O connector : 1 pin, High level 4.0 to 5.0V
* initial factory setting

TriggerDelay is applied to both of HardwareTrigger and SoftwareTrigger.
TriggerAdditionalParameter is only effective in Bulk mode.

94 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

ExposureTime
ExposureTime controls the duration where the image sensor is exposed to light.
This camera series provides three kinds of exposure time control mode.
Firmware Ver.4.1.0 or later models have ShortExposureMode which can set high-speed exposure time at
the time of MANUAL setting. AutoExposure is not supported when the ShortExposureMode is enable (ON).
-

NoSpecify: The exposure time is determined by ‘AcquisitionFrameRate’ register setting value-

Manual: The exposure time is determined by ‘ExposureTime’ register setting value.

-

Auto

: The exposure time is adjusted automatically.

● GenICam NodeInterface

LengthByte / [bit]AccessExposureTime

IFloat4

R/W

Sets an exposure time.

ExposureAuto

IEnumeration

4

R/W

Selects exposure time control mode.

Name

Description● IIDC2 Register
Register
ExposureTime

Field

Address

LengthByte / [bit]Access

Implemented

0x204020[31]

R

Returns the state whether the function is implemented.

Control

0x204028

4

R/W[0]: NoSpecify

Description[1]: Manual[2]: Auto

ShortExposureMode

Mult

0x20402C

4

R

Div

0x204030

4

R

Min

0x204034

4

R

Returns the minimum value of ExposureTime Value register.

Max

0x204038

4

R

Returns the maximum value of ExposureTime Value register.

Value

0x20403C

4

R/W

Sets Time value. (Raw value)

Implemented

0x204380[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20438C

4

R[0] : Off

Absolute Value [sec] = Raw * (Mult / Div)[1] : On
Value

0x20439C

4

R/W

Only firmware Ver.4.1.0 or later.
Sets the activation of ShortExposureMode.

95 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control ExposureTime using dedicated API.
API name

Description

GetCamExposureTimeMinMax

Get minimum and maximum value

GetCamExposureTime

Get current ExposureTime value

SetCamExposureTime

Set new ExposureTime value

GetCamExposureTimeControl

Get current ExposureTime mode

SetCamExposureTimeControl

Set new ExposureTime mode

GetCamShortExposureMode

Get current ShortExposureMode

SetCamShortExposureMode

Set new ShortExposureMode

ExposureTimeControl parameter

Description

CAM_EXPOSURE_TIME_CONTROL_NO_SPECIFY

NoSpecify

CAM_EXPOSURE_TIME_CONTROL_MANUAL

ManualCAM_EXPOSURE_TIME_CONTROL_AUT

AutoPlease refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control ExposureTime using GenICam API.
ExposureTime
Sets an exposure time by ‘ExposureTime’// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;
CAM_NODE_HANDLE hSelector = NULL;
CAM_NODE_HANDLE hSource = NULL;// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// ExposureTime = 1000us
float64_t
dExposureTime = 1000.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "ExposureTime", &hNode);// Set ExposureTime Value
Nd_SetFloatValue(s_hCam, hNode, dExposureTime);

96 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/ExposureAuto
Selects an exposure time mode by ‘ExposureAuto’
Integer value and string value of Enumeration are as follows.
IntegerStringDescription0

DeviceSpecificOperates NoSpecify mode.

1 (*)

Off

Operates Manual mode.

2

Continuous

Operates Auto mode.
* initial factory setting// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "ExposureAuto", &hNode);// Set ExposureAuto = "Continuous "Nd_SetEnumStrValue(s_hCam, hNode, "Continuous ");Please refer to [INode functions], [IFloat node functions] and [IEnumeration node functions] in[TeliCamAPI Library manual] for more detail.

Register access API
Control Gain by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueExposureTime
Write to ‘Value’ field of ‘ExposureTime’ register.
// ExposureTime = 1000us (Raw value = 60000)
uint32_t
uiExposureTimeRaw = 60000;// Set ExposureTime Value
Cam_WriteReg(s_hCam, 0x20403C, 1, &uiExposureTimeRaw);

ExposureAuto
Write to ‘Control’ field of ‘ExposureTime’ register to control ExposureAuto.
// ExposureAuto = "Continuous "uint32_t
uiExposureAuto = 2;// Set ExposureAuto = "Continuous "Cam_WriteReg(s_hCam, 0x204028, 1, &uiExposureAuto);

97 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

ShortExposureMode
Write to ‘Value’ field of ‘ShortExposureMode’ register to control ShortExposureMode.
// Set ShortExposureMode ON
uint32_t
dat = 1;
Cam_WriteReg(s_hCam, 0x20439C, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
ShortExposureMode=OFF
ExposureTime

BU040M

BU160M

Ver4.1.0 or later : 1200

Minimum

Ver4.0.8 or earlier : 30 [us]Absolute Value

Maximum
Auto

Initial Value

BU160MCG

Ver4.0.8 or earlier : 1800

Raw Value

Manual

BU040MCG

Ver4.1.0 or later : 20 [us]Raw Value

960000000

Absolute Value

16000000 [us]Raw Value

60000000

Absolute Value

1000000 [us]Raw Value

120000240000120000240000Absolute Value

2000.00 [us]4000.00 [us]2000.00 [us]4000.00 [us]FormulaAbsolute Value [us] = Raw Value / 60

ShortExposureMode=ON
ExposureTime
Minimum

ManualMaximum
Auto

Initial Value
FormulaBU040M

BU160M

BU040MCG

Raw Value

20

Absolute Value

1.08 [us]Raw Value

247

Absolute Value

13.31 [us]Raw Value

BU160MCG

Not supported

Absolute Value
Raw Value

247

Absolute Value

13.31 [us]Absolute Value [s] = Raw Value * 53 / 983850009

98 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Notes on ShortExposureMode setting:- If you use ShortExposureMode, the image quality may deteriorate. Also, the actual exposure time may vary dependingon the individual differences and the operating environment (such as the operating temperature). When using the
ShortExposureMode, We ask you to have final image quality checked with your environment.

- The brightness of the upper part of the screen may be different from that of the lower part. Note that this is acharacteristic of a CMOS image sensor and is not a fault.

● Note- In ExposureAuto mode, current exposure time will be reflected to ExposureTime value register.
- Changing ‘ShortExposureMode’ register value is invalid during image stream data output.

99 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

DigitalIOControl
This section describes DigitalIOControl category for the BU series.
This camera provides GPIO output selected by the register setting. And the polarity of the signal is able toswitch by the register setting. The following chart shows the specifications of the selectable signals.
Trigger
Exposure
VD
Sensor Output
Image Streamingon Interface Bus
Delay Duration

Timer0Active
ExposureActive
FrameActive
FrameTransfer
FrameTrigger
Wait*AcquisitionActive is active during AcquisitionStart state.
* All signals in this figure are Active Low.

Selectable signals
LineInverterAll
TriggerSource

Line0(GPIO_Input)

Internal Trigger

LineSource
Timer0Active

UserOutput

Line2

TimerControl

ExposureActive(GPIO_Input/Output)

FrameTransfer
FrameActive

LineModeAll[1]FrameTriggerWait
UserOutput

Line1

UserOutputValueAll[1]UserOutputValueAll[2](GPIO_Output)

LineStatusAll[2]LineStatusAll[1]LineStatusAll[0]LineModeAll

GPIO internal circuit diagram

100 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/LineSelector

LineSelector
LineModeAll

LineModeAll[31:0]
Line0

LineMode

Line1
Line2

LineInverterAll

Line1
Line2

LineStatusAll

Line1
Line2

UserOutputValueAll

LineInverter[0]LineInverter[1]LineInverter[2]LineStatus[0]LineStatus[1]LineStatus[2]UserOutputValueAll[31:0]
Line0

UserOutputValue

LineMode[2]LineStatusAll[31:0]
Line0

LineStatus

LineMode[1]LineInverterAll[31:0]
Line0

LineInverter

LineMode[0]

Line1
Line2

UserOutputValue[0]UserOutputValue[1]UserOutputValue[2]Line0LineSource

LineSource

Line1
Line2

LineSource(Line0)
LineSource(Line1)
LineSource(Line2)

Details of each signal

101 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessDescription

LineMode

IEnumeration

4

R/W

Selects the Input / Output of each Line selected by LineSelector.

LineModeAll

IInteger

4

R/W

Selects the Input / Output of each Line.

LineInverter

IBoolean

4

R/W

Selects the polarity of each Line signal selected by LineSelector.

LineInverterAllIInteger

4

R/W

Selects the polarity of each Line signal.

LineStatus

IBoolean

4

R

Returns the status of each Line signal selected by LineSelector.

LineStatusAll

IInteger

4

R

Returns the status of each Line signal.

UserOutputValue

IBoolean

4

R/W

Sets the user output value of each line selected by LineSelector.

UserOutputValueAllIInteger

4

R/W

Sets the user output value of each Line.

LineSelector

IEnumeration

4

R/W

Selects the Line of I/O connector.

LineSource

IEnumeration

4

R/W

Selects the source of the output signal.

Field

Address

LengthByte /[bit]

Access

Implemented

0x209020[31]

R

Returns the state whether the function is implemented.

BitWritable

0x20902C

4

R[0]: Line0Name● IIDC2 Register
Register
LineModeAll

Description[1]: Line1[2]: Line2

LineInverterAll

LineStatusAll

UserOutputValueAll

LineSelector

LineSource

Value

0x209030

4

R/W

Selects the direction of each line signal.

Implemented

0x209040[31]

R

Returns the state whether the function is implemented.

Value

0x209050

4

R/W

Selects the inversion of I/O lines. Reflected both input and output buffers.

Implemented

0x209060[31]

R

Returns the state whether the function is implemented.

Value

0x209070

4R

Returns the current status of all I/O lines.

Implemented

0x209080[31]

R

Returns the state whether the function is implemented.

Value

0x209090

4

R/W

Selects the output value.

Implemented

0x2090A0[31]

R

Returns the state whether the function is implemented.

Value

0x2090BC

4

R/W

Selects the I/O line to output LineSource.

Implemented

0x2090C0[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x2090CC

4

R[0] : Off[32] : UserOutput[64] : Timer0Active[99] : AcquisitionActive[106] : FrameTriggerWait[107] : FrameActive[115] : FrameTransferActive[123] : ExposureActive

Value

0x2090DC

4

R/W

Selects the source signal.

102 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control DigitalIOControl using dedicated API.
API name

Description

GetCamLineModeAll

Get current LineMode

GetCamLineInverterAll

Get current LineInverter

SetCamLineInverterAll

Set new LineInverter

GetCamLineStatusAll

Get current LineStatus

GetCamUserOutputValueAll

Get current UserOutput

SetCamUserOutputValueAll

Set new UserOutput

GetCamLineSource

Get current LineSource

SetCamLineSource

Set new LineSource

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

103 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control DigitalIOControl using GenICam API.
LineModeAll
XML node

XML Selector

Camera Register

LineSelector
Line0

LineMode[0]Line1LineMode

LineMode[1]Line2LineMode[2]LineModeAll

LineModeAll[31:0]

Selects the Input / Output of each Line by ‘LineModeAll’.
Each bit of integer value corresponds to each Line (bit0=Line0(not changeable),
bit1=Line1(not changeable), bit2=Line2).
bit value

I/O Direction

0

Input

1

OutputLineModeAll

bit value

I/O Direction

Value[Line2] [Line1] [Line0][Line2] [Line1] [Line0]0

not used12(*)[0] [1] [0][in] [out] [in]34

not used

567[1] [1] [0][out] [out] [in]not used* initial factory setting

104 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/LineInverterAll
XML node

XML Selector

Camera Register

LineSelector
Line0

LineInverter[0]Line1LineInverter

LineInverter[1]Line2LineInverter[2]TriggerSource

TriggerActivation

LineInverterAll

LineInverterAll[31:0]

Selects the polarity of each Line signal by ‘LineInverterAll’.
Each bit of integer value corresponds to each Line (bit0=Line0, bit1=Line1, bit2=Line2).
bit value

Inverter0

False (not inverted)

1

True (inverted)

LineInverterAll

bit value

Inverter

Value[Line2] [Line1] [Line0][Line2] [Line1] [Line0]0(*)[0] [0] [0][off] [off] [off]1[0] [0] [1][off] [off] [on]2[0] [1] [0][off] [on] [off]3[0] [1] [1][off] [on] [on]4[1] [0] [0][on] [off] [off]5[1] [0] [1][out [off] [on]6[1] [1] [0][on] [on] [off]7[1] [1] [1][on] [on] [on]* initial factory setting

105 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/LineStatusAll
XML node

XML Selector

Camera Register

LineSelector
Line0

LineStatus[0]Line1LineStatus

LineStatus[1]Line2
LineStatusAll

LineStatus[2]LineStatusAll[31:0]

Gets the status of each Line signal by ‘LineStatusAll’
Each bit of integer value corresponds to each Line (bit0=Line0, bit1=Line1, bit2=Line2).
bit valueLine Status

0

False(Low)1

True(High)LineStatusAll

bit valueLine Status

Value[Line2] [Line1] [Line0][Line2] [Line1] [Line0]0[0] [0] [0][low] [low] [low]1[0] [0] [1][low] [low] [high]2[0] [1] [0][low] [high] [low]3[0] [1] [1][low] [high] [high]4[1] [0] [0][high] [low] [low]5[1] [0] [1][high] [low] [high]6[1] [1] [0][high] [high] [low]7[1] [1] [1][high] [high] [high]106 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/UserOutputValueAll
XML node

XML Selector

Camera Register

LineSelector
Line0

UserOutputValue[0]Line1

UserOutputValueUserOutputValue[1]Line2

UserOutputValue[2]UserOutputValueAll

UserOutputValueAll[31:0]

Sets the user output value by ‘UserOutputValueAll’.
Each bit of integer value corresponds to each Line (bit0=Line0(not used), bit1=Line1, bit2=Line2).

UserOutputValueAll

0 (*)
1
2
3
4
5
6
7

bit value

Output0

False(Low)1

True(High)bit value

Output[Line2] [Line1][Line2] [Line1][0] [0][low] [low][0] [1][low] [high][1] [0][high] [low][1] [1][high] [high]LineSelector
Selects the I/O line to output by ‘LineSelector’.
Integer value and string value of Enumeration are as follows.
IntegerString

1

Line1

2

Line2

107 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/LineSource
XML node

Camera Register

LineSelector

LineSelector

Camera Internal
Selector

Line0
LineSource

Line1

LineSource

Line2

Camera Internal
Register

LineSource(Line0)
LineSource(Line1)
LineSource(Line2)

Selects the source of the output signal.
Integer value and string value of Enumeration are as follows.
IntegerStringDescription

0

Off

32

UserOutput

Outputs the value set in ‘UserOutputValueAll’.

64

Timer0Active

This signal can be used as strobe control signal.

Off

The delay time and pulse width of this signal are configurable.
99

AcquisitionActive

Indicates AcquisitionStart state of camera.

106

FrameTriggerWait

Indicates that camera is ready to accept trigger signal.
(both hardware and software)

107

FrameActive

Period from exposure start to sensor read-out completion.

115

FrameTransferActive

Period of transferring image streaming data on interface bus.

123

ExposureActive

Period from exposure start to exposure end.

// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;
CAM_NODE_HANDLE hSelector = NULL;
CAM_NODE_HANDLE hSource = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "LineModeAll", &hMode);
Nd_GetNode(s_hCam, "LineSelector", &hSelector);
Nd_GetNode(s_hCam, "LineSource", &hSource);// Line2/Line1 = output, Line0 = input
int64_t
Mode = 6;
Nd_SetIntValue(s_hCam, hMode, Mode);// Line1 = ExposureActive
Nd_SetEnumStrValue(s_hCam, hSelector, "Line1");
Nd_SetEnumStrValue(s_hCam, hSource, "ExposureActive");// Line2 = FrameTransferActive
Nd_SetEnumStrValue(s_hCam, hSelector, "Line2");
Nd_SetEnumStrValue(s_hCam, hSource, "FrameTransferActive");

Please refer to [INode functions], [IInteger node functions], [IBoolean node functions] and [IEnumeration
node functions] in [TeliCamAPI Library manual] for more detail.

108 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control DigitalIOControl by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueLineModeAll
Write to ‘Value’ field of ‘LineModeAll’ register.
LineInverterAllWrite to ‘Value’ field of ‘LineInverterAll’ register.
LineStatusAll
Read ‘Value’ field of ‘LineStatusAll’ register.
UserOutputValueAllWrite to ‘Value’ field of ‘UserOutputAll’ register.
LineSelector
Write to ‘Value’ field of ‘LineSelector’ register.
LineSource
Write to ‘Value’ field of ‘LineSource’ register.
// Line2/Line1 = output, Line0 = input
uint32_tuiMode = 6;
Cam_WriteReg(s_hCam, 0x209030, 1, &uiMode);// Set Value
uint32_t
uiSelector;
uint32_t
uiSource;
uiSelector = 1; // Line1
uiSource = 123;// ExposureActive
Cam_WriteReg(s_hCam, 0x2090BC, 1, &uiSelector);
Cam_WriteReg(s_hCam, 0x2090DC, 1, &uiSource);
uiSelector = 2; // Line2
uiSource = 115; // FrameTransferActive
Cam_WriteReg(s_hCam, 0x2090BC, 1, &uiSelector);
Cam_WriteReg(s_hCam, 0x2090DC, 1, &uiSource);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

● Note- Line0 is dedicated input.
- Line1 is dedicated output.
- Line2 is bi-directional. The default direction is input.
For [Timer0Active] signal, please refer to [TimerControl] Section for more detail.

109 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

AntiGlitch / AntiChattering
AntiGlitch and AntiChattering functions filter noise and unstable state of the digital input (trigger signal).
AntiGlitch circuit performs the digital integration of the trigger signal.
It is effective to remove impulsive noise.
AntiChattering circuit sets the edge insensible time to avoid trigger malfunction.
It is effective to remove unstable logic state and switch-chattering.

High

Trigger Signal(Original)
Low
High

Trigger Signal(Skewed)
Low

noise

high slew rate

low slew rate

High

Digital Input
Low
GlitchIntegration of
Digital Input

Chattering

High threshold
Low threshold
AntiGlitch
Value
High

Delay
Valid
Edge

AntiGlitch Circuit
OutputValid
Edge

AntiChattering
Value

AntiChattering Circuit
OutputValid
Edge
Invalid
Edge

Low

High

Valid
Edge

Insensible
Time

Valid
SignalInsensible
Time

Valid
SignalLow

Fig. AntiGlitch and AntiChattering

110 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessAntiGlitch

IFloat4

R/W

Integration time of digital input signal. [sec]AntiChattering

IFloat4

R/W

Insensible time of digital input signal. [sec]FieldAddress

LengthByte / [bit]Access

Implemented

0x21F3C0

[31]

R

Mult

0x21F3CC

4

R

Div

0x21F3D0

4

R

Min

0x21F3D4

4R

Returns the minimum value of AntiGlitch period.

Max

0x21F3D8

4RReturns the maximum value of AntiGlitch period.

Value

0x21F3DC

4

R/W

Sets the AntiGlitch period.(Raw value)

Implemented

0x21F3E0[31]

R

Returns the state whether the function is implemented.

Mult

0x21F3EC

4

R

Div

0x21F3F0

4

R

Min

0x21F3F4

4R

Returns the minimum value of AntiGlitch period.

Max

0x21F3F8

4R

Returns the maximum value of AntiGlitch period.

Value

0x21F3FC

4

R/W

Sets the AntiGlitch period.(Raw value)

Name

Description● IIDC2 Register
Register
AntiGlitch

AntiChattering

111 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description
Returns the state whether the function is implemented.
Absolute Value [sec] = Raw * (Mult / Div)

Absolute Value [sec] = Raw * (Mult / Div)

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control AntiGlitch/AntiChattering using GenICam API.
AntiGlitch/AntiChattering
1. Set Integration time of digital input signal in [sec] to ‘AntiGlitch'.
2. Set Insensible time of digital input signal in [sec] to ‘AntiChattering'.
// GenICam node handle
CAM_NODE_HANDLE hGlitch = NULL;
CAM_NODE_HANDLE hChattering = NULL;// AntiGlitch = 1.0[us], AntiChattering = 10.0[us]float64_t
dGlitch = 0.000001;
float64_t
dChattering = 0.000010;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “AntiGlitch”, &hGlitch);
Nd_GetNode(s_hCam, “AntiChattering”, &hChattering);// Set Value
Nd_SetFloatValue(s_hCam, hGlitch, dGlitch);
Nd_SetFloatValue(s_hCam, hChattering, dChattering);

Please refer to [INode functions], [IFloat node functions] in [TeliCamAPI Library manual] for more detail.

112 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control AntiGlitch/AntiChattering by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

AntiGlitch/AntiChattering
1. Write to ‘Value’ field of ‘AntiGlitch’ register.
2. Write to ‘Value’ field of ‘AntiChattering’ register.
// AntiGlitch = 1.0[us] (Raw value = 100)// AntiChattering = 10.0[us] (Raw value = 1250)
uint32_t
uiAntiGlitchRaw = 100;
uint32_t
uiAntiChatteringRaw = 1250;// Set Value
Cam_WriteReg(s_hCam, 0x21F3DC, 1, &uiAntiGlitchRaw);
Cam_WriteReg(s_hCam, 0x21F3FC, 1, &uiAntiChatteringRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
AntiGlitch

Raw Value

Absolute (Float) Value

Minimum

90.00000009 [s]Maximum

2000000.002 [s]Initial Value

90.00000009 [s]FormulaAbsolute Value [us] = Raw Value / 100000000

AntiChattering

Raw Value

Absolute (Float) Value

Minimum

249

0.000001992 [s]Maximum

2499990.001999992 [s]Initial Value

249

0.000001992 [s]FormulaAbsolute Value [us] = Raw Value / 125000000

113 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

TimerControl
This section describes TimerControl features.
This camera series is able to generate Timer0Active signal beginning from trigger or exposure start signal.
This signal can be used as strobe control signal.

TRIG_IN(Line0)

Trigger(Frame Start Trigger)

TriggerDelay

Exposure
EXPOSURE ACTIVE
TIMER0 ACTIVE
TimerTriggerSource = Line0Active
TimerTriggerSource = FrameTrigger

Delay

TimerTriggerSource = ExposureStart

Duration※ ActiveLow

Timer0Active

114 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessTimerSelector

IEnumeration

4

R

Returns the selected timer name.

TimerDelay

IFloat4

R/W

Sets the delay of Timer0Active signal.

TimerDuration

IFloat4

R/W

Sets the duration of Timer0Active signal.

IEnumeration

4

R/W

Selects the source of Timer0Active pulse to start.

Name

TimerTriggerSource

Description● IIDC2 Register
Register
TimerSelector

TimerDelay

TimerDuration

TimerTriggerSource

Field

Address

LengthByte / [bit]Access

Implemented

0x20A020[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20A02C

4

R[0] : Timer0

Value

0x20A03C

4

R/W

Returns the selected timer.

Implemented

0x20A040[31]

R

Returns the state whether the function is implemented.

Mult

0x20A04C

4

R

Div

0x20A050

4

R

Min

0x20A054

4

R

Returns the minimum value of TimerDelay Value register.

Max

0x20A058

4

R

Returns the maximum value of TimerDelay Value register.

Value

0x20A05C

4

R/W

Sets Timer0Active delay time.(Raw value)

Implemented

0x20A060[31]

R

Returns the state whether the function is implemented.

Mult

0x20A06C

4

R

Div

0x20A070

4

R

Min

0x20A074

4

R

Returns the minimum value of TimerDuration Value register.

Max

0x20A078

4

R

Returns the maximum value of TimerDuration Value register.

Value

0x20A07C

4

R/W

Sets Timer0Active duration time.(Raw value)

Implemented

0x20A080[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20A08C

4

R/W[0] : OffDescription

AbsoluteValue[sec] = Raw * (Mult / Div)

AbsoluteValue[sec] = Raw * (Mult / Div)[32] : Line0[104] : FrameTrigger[124] : ExposureStart
Value

0x20A09C

4

R/W

115 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects the source of Timer0Active pulse to start.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control TimerControl using dedicated API.
API name

Description

GetCamTimerDelayMinMax

Get minimum and maximum value

GetCamTimerDelay

Get current TimerDelay value

SetCamTimerDelay

Set new TimerDelay value

GetCamTimerDurationMinMax

Get minimum and maximum value

GetCamTimerDuration

Get current TimerDuration value

SetCamTimerDuration

Set new TimerDuration value

GetCamTimerTriggerSource

Get current TimerTriggerSource

SetCamTimerTriggerSource

Set new TimerTriggerSource

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

116 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control TimerControl using GenICam API.
TimerDelay/TimerDuration/TimerTriggerSource
1. Sets the delay of Timer0Active signal by ‘TimerDelay’.
2. Sets the duration of Timer0Active signal by ‘TimerDuration’.
3. Selects the source of Timer0Active pulse to start by ‘TimerTriggerSource’.
Integer value and string value of Enumeration are as follows.
IntegerStringDescription

0

Off

DisablesTimer0Active signal.

32

Line0

Starts when Line0 is active.

104

FrameTrigger

Starts with the reception of the Frame Start Trigger.

124

ExposureStart

Starts with the reception of the Exposure Start// GenICam node handle
CAM_NODE_HANDLE hDelay = NULL;
CAM_NODE_HANDLE hDuration = NULL;
CAM_NODE_HANDLE hSource = NULL;// TimerDelay = 1000.0[us], TimerDuration = 2000.0[us]float64_t
dDelay = 1000.0;
float64_t
dDuration = 2000.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "TimerDelay", &hDelay);
Nd_GetNode(s_hCam, "TimerDuration", &hDuration);
Nd_GetNode(s_hCam, "TimerTriggerSource", &hSource);// 1.Sets the delay of Timer0Active signal.
Nd_SetFloatValue(s_hCam, hDelay, dDelay);// 2.Sets the dulation of Timer0Active signal.
Nd_SetFloatValue(s_hCam, hDuration, dDuration);// 3.Selects the source of Timer0Active pulse to start.
Nd_SetEnumStrValue(s_hCam, hSource, "ExposureStart");Please refer to [INode functions], [IFloat node functions] and [IEnumeration node functions] in[TeliCamAPI Library manual] for more detail.

117 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control TimerControl by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

TimerDelay/TimerDuration/TimerTriggerSource
1. Write to ‘Value’ field of ‘TimerDelay’ register.
2. Write to ‘Value’ field of ‘TimerDuration’ register.
3. Write to ‘Value’ field of ‘TimerTriggerSource’ register.
// TimerDelay = 1000.0[us] (Raw value = 125000)// TimerDuration = 2000.0[us] (Raw value = 250000)// TimerTriggersource = "ExposureStart"
uint32_t
uiTimerDelayRaw = 125000;
uint32_t
uiTimerDurationRaw = 250000;
uint32_t
uiTimerTriggerSource = 124;// Set Value
Cam_WriteReg(s_hCam, 0x20A05C, 1, &uiTimerDelayRaw);
Cam_WriteReg(s_hCam, 0x20A07C, 1, &uiTimerDurationRaw);
Cam_WriteReg(s_hCam, 0x21F27C, 1, &uiTimerTriggerSource);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
TimerDelay

Raw Value

Absolute (Float) Value

Minimum

00 [us]

Maximum

250000000

2000000 [us]Initial Value

00.00 [us]TimerDuration

FormulaAbsolute Value [us] = Raw Value / 125● Note‘TimerTriggerSource’ operation is as follows,
Line0Active is available in Hardware Trigger mode, and to be responded to FrameTriggerError.
FrameTrigger is available in both Hardware Trigger and Software Trigger mode, and not to be responded to
FrameTriggerError.
ExposureStart is available in both Hardware Trigger and Software Trigger mode, and not to be responded to
FrameTriggerError. Timer0Active pulse delays TiggerDelay+TimerDelay[us].

118 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GainThis section describes Gain feature. This control adjusts an amplification factor applied to the output signal.
Gain feature adjusts manual gain. GainAuto feature adjusts gain automatically.
outputsignalGain

input signal

Gain
The formula of Gain value is as follows;
Output signal = Input signal x 10 ^ (Gain / 20)
Gain is in [dB] unit.

● GenICam NodeInterface

LengthByte / [bit]AccessIFloat4

R/W

Sets a manual Gain.

IEnumeration

4

R/W

Sets a Gain operational mode.

Field

Address

LengthByte / [bit]Access

Implemented

0x204060[31]

R

Returns the state whether the function is implemented.

Control

0x204068

4

R/W[1]: Manual

Name
Gain
GainAuto

Description● IIDC2 Register
Register
Gain

Description[2] : AutoMult

0x20406C

4

R

Div

0x204070

4

R

Min

0x204074

4

R

Returns the minimum value of Gain Value register.

Max

0x204078

4

R

Returns the maximum value of Gain Value register.

Value

0x20407C

4

R/W

Gain value. (Raw value)

119 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Absolute Value [dB] = Raw * (Mult / Div)

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control Gain using dedicated API.
API name

Description

GetCamGainMinMax

Get minimum and maximum value

GetCamGain

Get current Gain value

SetCamGain

Set new Gain value

GetCamGainAuto

Get current GainAuto mode

SetCamGainAuto

Set new GainAuto mode

GainAuto parameter

Description

CAM_GAIN_AUTO_OFF

Off

CAM_GAIN_AUTO_AUTO

Adjust continuously

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control Gain using GenICam API.
Gain
Use ‘IFloat’ interface to control Gain.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Gain = 6.0dB
float64_tdGain = 6.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “Gain”, &hNode);// Set Gain Value
Nd_SetFloatValue(s_hCam, hNode, dGain);

GainAuto
Use ‘IEnumertion’ interface to control GainAuto.
Integer value and string value of Enumeration are as follows.
IntegerString

1

Off

2

Continuous

Description
Operates Manual mode.
Operates Auto mode.

// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “GainAuto”, &hNode);// Set GainAuto = “Continuous”
Nd_SetEnumStrValue(s_hCam, hNode, “Continuous”);

120 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Please refer to [INode functions], [IFloat node functions] and [IEnumeration node functions] in[TeliCamAPI Library manual] for more detail.

Register access API
Control Gain by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

Gain
Write to ‘Value’ field of ‘Gain’ register.
// Gain = 6.0dB (Raw value = 60)
uint32_tuiGainRaw = 60;// Set Gain Value
Cam_WriteReg(s_hCam, 0x20407C, 1, &uiGainRaw);

GainAuto
Write to ‘Control’ field of ‘Gain’ register.
// GainAuto = “Continuous”
uint32_tuiGainAuto = 2;// Set GainAuto = “Continuous”
Cam_WriteReg(s_hCam, 0x204068, 1, &uiGainAuto);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
Minimum

Gain

Ver.4.0.8 or earlier

Ver.4.1.0 or later

Raw Value000.00 [dB]0.00 [dB]

240

360

24.00 [dB]36.00 [dB]00Absolute (Float) Value

0.00 [dB]0.00 [dB]

FormulaAbsolute Value [dB] = Raw Value / 10

Absolute (Float) Value
Maximum

Raw Value
Absolute (Float) Value

Initial Value

Raw Value● Note- In GainAuto mode, current Gain will be reflected to Gain value register.
- Range of gain setting at GainAuto mode is 0 to +24dB.

121 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/BlackLevel
This section describes BlackLevel feature. This control adjusts the black level applied to the output signal.
It is adjustable from -25% to +25% as white saturation level is 100%.
If BlackLevel is set lower than 0[%], the image level may not be saturated.

255(@8bit)

Black
Level

0

saturation level

Black Level● GenICam NodeInterface

LengthByte / [bit]AccessIFloat

4

R/W

Field

Address

LengthByte / [bit]Access

Implemented

0x204040

[31]

R

Mult

0x20404C

4

R

Div

0x204050

4

R

Min

0x204054

4

R

Returns the minimum value of Black Level Value register.

Max

0x204058

4

R

Returns the maximum value of Black Level Value register.

Value

0x20405C

4

R/W

Black Level value. (Raw value)

Name
BlackLevel

Description
Black Level value.

● IIDC2 Register
RegisterBlackLevel

Description
Returns the state whether the function is implemented.
Absolute Value [%] = Raw * (Mult / Div)● Control with TeliCamSDKCamera feature API
Control BlackLevel using dedicated API.
API name

Description

GetCamBlackLevelMinMax

Get minimum and maximum value

GetCamBlackLevel

Get current BlackLevel value

SetCamBlackLevel

Set new BlackLevel value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.
122 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control BlackLevel using GenICam API.
BlackLevel
Use ‘IFloat’ interface to control BlackLevel.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// BlackLevel = 25%
float64_t
dBlackLevel = 25.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “BlackLevel”, &hNode);// Set BlackLevel Value
Nd_SetFloatValue(s_hCam, hNode, dBlackLevel);

Please refer to [INode functions] and [IFloat node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control BlackLevel by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueBlackLevel
Write to ‘Value’ field of ‘BlackLevel’ register.
// BlackLevel = 25% (Raw value = 256)
int32_tiBlackLevelRaw = 256; // signed// Set BlackLevel Value
Cam_WriteReg(s_hCam, 0x20405C, 1, &iBlackLevelRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum ValueGain

Raw Value

Absolute (Float) Value

Minimum-256-25.00[%]Maximum

256+25.00[%]Initial Value

00.00[%]

FormulaAbsolute Value [%] = Raw Value * 100 / 1024

123 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GammaThis section describes Gamma feature. This control adjusts the gamma correction of pixel intensity.

outputluminance
Gamma

input
luminance

Gamma correction● GenICam NodeInterface

LengthByte / [bit]AccessIFloat

4

R/W

Field

Address

LengthByte / [bit]Access

Implemented

0x204080

[31]

R

Mult

0x20408C

4

R

Div

0x204090

4

R

Min

0x204094

4

R

Returns the minimum value of Gamma Value register.

Max

0x204098

4

R

Returns the maximum value of Gamma Value register.

Value

0x20409C

4

R/W

Gamma value. (Raw value)

Name
Gamma

Description
Gamma value.

● IIDC2 Register
Register
Gamma

Description
Returns the state whether the function is implemented.
Absolute Value = Raw * (Mult / Div)● Control with TeliCamSDKCamera feature API
Control Gamma using dedicated API.
API name

Description

GetCamGammaMinMax

Get minimum and maximum value

GetCamGamma

Get current Gamma value

SetCamGamma

Set new Gamma value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.
124 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Gamma using GenICam API.
GammaUse ‘IFloat’ interface to control Gamma.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Gamma = 0.45
float64_t
dGamma = 0.45;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “Gamma”, &hNode);// Set Gamma Value
Nd_SetFloatValue(s_hCam, hNode, dGamma);

Please refer to [INode functions] and [IFloat node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control Gamma by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueGammaWrite to ‘Value’ field of ‘Gamma’ register.
// Gamma = 0.45 (Raw value = 45)
uint32_t
uiGammaRaw = 45;// Set Gamma Value
Cam_WriteReg(s_hCam, 0x20409C, 1, &uiGammaRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum ValueGain

Raw Value

Absolute (Float) Value

Minimum45

0.45

Maximum100

1.00

Initial Value

100

1.00

FormulaAbsolute Value = Raw Value / 100

125 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Sharpness
This section describes Sharpness feature. This control enhances the edges of the image.
The edge enhancement will become stronger when the setting value is larger.
This function is available only in Color models.

Sharpness=0

Sharpness=4

Sharpness=7

Sharpness● GenICam NodeInterface

LengthByte / [bit]AccessIInteger

4

R/W

Field

Address

LengthByte / [bit]Access

Implemented

0x2040A0[31]

R

Returns the state whether the function is implemented.

Min

0x2040B4

4R

Returns the minimum value of sharpness Value register.

Max

0x2040B8

4R

Returns the maximum value of sharpness Value register.

Value

0x2040BC

4

R/W

Sets sharpness value. (Raw value)

Name
Sharpness

Description
Sets sharpness value.

● IIDC2 Register
Register
Sharpness

Description● Control with TeliCamSDKCamera feature API
Control Sharpness using dedicated API.
API name

Description

GetCamSharpnessMinMax

Get minimum and maximum value

GetCamSharpness

Get current Sharpness value

SetCamSharpness

Set new Sharpness value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

126 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control Sharpness using GenICam API.
Sharpness
Use ‘IFloat’ interface to control Sharpness.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Sharpness = 4
int64_tnSharpness = 4;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "Sharpness", &hNode);// Set Sharpness Value
Nd_SetFloatValue(s_hCam, hNode, nSharpness);

Please refer to [INode functions] and [IFloat node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control Sharpness by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueSharpness
Write to ‘Value’ field of ‘Sharpness’ register.
// Sharpness = 4 (Raw value = 4)
uint32_t
uiSharpnessRaw = 4;// Set Sharpness Value
Cam_WriteReg(s_hCam, 0x2040BC, 1, &uiSharpnessRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum ValueGain

Raw Value

Absolute (Float) Value

Minimum

00Maximum

77Initial Value00

FormulaAbsolute Value = Raw Value / 100

127 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

BalanceRatio
This section describes BalanceRatio feature.
BalanceRatio control adjusts the white balance gain of the image.
BalanceWhiteAuto control adjusts white balance gain automatically.
This function is available only in Color models.

BalanceRatio
R

R
G
B
Input Signal Level

BalanceRatio
B

R
G
B
Output Signal Level

Fig. BalanceRatio

128 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam Node
Name
BalanceRatioSelector
BalanceRatio
BalanceWhiteAuto

Interface

LengthByte / [bit]AccessIEnumeration

4

R/W

Selects a color component of white balance gain to control.

IFloat4

R/W

Sets a white balance gain.

IEnumeration

4

R/W

Adjusts white balance gain automatically.

Description● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessWhiteBalanceR

Implemented

0x205060[31]

R

Returns the state whether the function is implemented.

Control

0x205068

4

R/W[1]: Off[3]: Once

Mult

0x20506C

4

R

Div

0x205070

4

R

Min

0x205074

4

R

Returns the minimum value of WhiteBalanceR Value register.

Max

0x205078

4

R

Returns the maximum value of WhiteBalanceR Value register.

Value

0x20507C

4

R/W

White balance Red gain (Raw value)

Implemented

0x205080[31]

R

Returns the state whether the function is implemented.

Control

0x205088

4

R/W[1]: Off[3]: Once

Mult

0x20508C

4

R

Div

0x205090

4

R

Min

0x205094

4

R

Returns the minimum value of WhiteBalanceB Value register.

Max

0x205098

4

R

Returns the maximum value of WhiteBalanceB Value register.

Value

0x20509C

4

R/W

White balance Blue gain (Raw value)

WhiteBalanceB

129 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description

Absolute Value [times] = Raw * (Mult / Div)

Absolute Value [times] = Raw * (Mult / Div)

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control BalanceRatio using dedicated API.
API name

Description

GetCamBalanceRatioMinMax

Get minimum and maximum value

GetCamBalanceRatio

Get current BalanceRatio value

SetCamBalanceRatio

Set new BalanceRatio value

GetCamBalanceWhiteAuto

Get current BalanceWhiteAuto mode

SetCamBalanceWhiteAuto

Set new BalanceWhiteAuto mode

BalanceWhiteAuto parameter

Description

CAM_BALANCE_WHITE_AUTO_OFF

Off

CAM_BALANCE_WHITE_AUTO_ONCE

Adjust once

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control BalanceRatio and BalanceWhiteAuto using GenICam API.
BalanceRatio
1. Select a color component of white balance gain to control by ‘BalanceRatioSelector’.
Integer value and string value of Enumeration are as follows.
IntegerString

1

Red

2

Blue

2. Set a white balance gain by ‘BalanceRatio’.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// 1.Select a color component// Retrieve GenICam node.
Nd_GetNode(s_hCam, “BalanceRatioSelector”, &hNode);// Select “Red”
Nd_SetEnumStrValue(s_hCam, hNode, “Red”);// 2.Set a white balance gain// white balance R gain = x 1.0
float64_t
dBalanceRatioR = 1.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “BalanceRatio”, &hNode);// Set Gain Value
Nd_SetFloatValue(s_hCam, hNode, dBalanceRatioR);

130 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/BalanceWhiteAuto
Select ‘BalanceWhiteAuto’ mode by IEnumeration interface.
Integer value and string value of Enumeration are as follows.
IntegerString

1

Off

3

Once

// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “BalanceWhiteAuto”, &hNode);// Set BalanceWhiteAuto = “Once”
Nd_SetEnumStrValue(s_hCam, hNode, “Once”);

Please refer to [INode functions], [IEnumeration node functions] and [IFloat node functions] in[TeliCamAPI Library manual] for more detail.

Register access API
Control BalanceRatio and BalanceWhiteAuto by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

BalanceRatio
Write to ‘Value’ field of ‘WhiteBalanceR’ or ‘WhiteBalanceB’ register.
// WhiteBalance R Gain = x 1 (Raw value = 65536)// WhiteBalance B Gain = x 1 (Raw value = 65536)
uint32_t
uiWhiteBalanceRRaw = 65536;
uint32_t
uiWhiteBalanceBRaw = 65536;// Set WhiteBalance Gain Value
Cam_WriteReg(s_hCam, 0x20507C, 1, &uiWhiteBalanceRRaw);
Cam_WriteReg(s_hCam, 0x20509C, 1, &uiWhiteBalanceBRaw);

BalanceRatioAuto
Write to ‘Control’ field of ‘WhiteBalanceR’ or ‘WhiteBalanceB’ register.
// BalanceWhiteAuto = “Once”
uint32_t
uiBalanceWhiteAuto = 3;// Set BalanceWhiteAuto = “Once”
Cam_WriteReg(s_hCam, 0x205068, 1, &uiBalanceWhiteAuto);// Cam_WriteReg(s_hCam, 0x205088, 1, &uiBalanceWhiteAuto); // either will do

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

131 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Minimum/Maximum Value
BalanceRatio

Raw Value

Absolute (Float) Value

Minimum65536

x 1 [times]

Maximum

524287x 8 [times]

Initial Value

65536

x 1 [times]

FormulaAbsolute Value [times] = Raw Value / 65536● NoteAfter executing BalanceWhiteAuto, the result will be reflected to BalanceRatio Red and Blue value.

Notes on white balance gain setting:
Too high white balance gain increases noises. After adjusting the white balance of the image, we ask you to have final
image quality checked with your environment.

132 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/ColorCorrectionMatrix
This section describes ColorCorrectionMatrix feature.
This control corrects RGB data by using color correction matrix.
This function is available only in Color models.
The relationship between original data (R, G, and B) and corrected data (R', G', and B') are represented in
the following formula.

1
 mask _ rg R' G '   mask _ gr1   B'   mask _ br  mask _ bg

(G  R) ( B  R)  mask _ rb   R
G( B  G )
 mask _ gb ( R  G )  ( R  B) (G  B)
1
B 

R'  (1  mask _ rg  mask _ rb)  R  mask _ rg  G  mask _ rb  B
G'  mask _ gr  R  (1  mask _ gr  mask _ gb)  G  mask _ gb  B
B'  mask _ br  R  mask _ bg  G  (1  mask _ br  mask _ bg )  B

133 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessColorCorrectionMatrixSelectorI

IEnumeration

4

R/W

Selects a row element of color correction matrix.

ColorCorrectionMatrixSelectorJ

IEnumeration

4

R/W

Selects a column element of color correction matrix.

IFloat4

R/W

Sets a coefficient of color correction matrix.

Field

Address

LengthByte / [bit]Access

Implemented

0x21F040

[31]

R

Mult

0x21F04C

4

R

Div

0x21F050

4

R

Min

0x21F054

4

R

Returns the minimum value of MaskingRG Value register.

Max

0x21F058

4

R

Returns the maximum value of MaskingRG Value register.

Value

0x21F05C

4

R/W

mask_rg value. (Raw value)

4

R/W

mask_rb value (Raw value)

4

R/W

mask_gr value. (Raw value)

4

R/W

mask_gb value (Raw value)

4

R/W

mask_br value (Raw value)

4

R/W

mask_bg value (Raw value)

Name

ColorCorrectionMatrix

Description● IIDC2 Register
Register
MaskingRG

MaskingRB

0x21F09C

0x21F0BC

Same structure as MaskingRG
Value

MaskingBG

0x21F07C

Same structure as MaskingRG
Value

MaskingBR

Absolute Value = Raw * (Mult / Div)

Same structure as MaskingRG
Value

MaskingGB

Returns the state whether the function is implemented.

Same structure as MaskingRG
Value

MaskingGR

Description

0x21F0DC

Same structure as MaskingRG
Value

0x21F0FC● Control with TeliCamSDKCamera feature API
Control ColorCorrectionMatrix using dedicated API.
API name

Description

GetCamColorCorrectionMatrixMinMax

Get minimum and maximum value

GetCamColorCorrectionMatrix

Get current ColorCorrectionMatrix value

SetCamColorCorrectionMatrix

Set new ColorCorrectionMatrix value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

134 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

GenICam function API
Control ColorCorrectionMatrix using GenICam API.
ColorCorrectionMatrix
1. Select a row element of color correction matrix by ‘ColorCorrectionMatrixSelectorI’.
Select a column element of color correction matrix by ‘ColorCorrectionMatrixSelectorJ’.
Integer value and string value of Enumeration are as follows.
IntegerString

0

R

1

G

2

B

The correspondence of ‘ColorCorrectionMatrixSelectorI’ and ‘ColorCorrectionMatrixSelectorJ’ to color
correction matrix element is as follows.
SelectorJ=R

SelectorJ=G

SelectorJ=B

mask_rgmask_rb

SelectorI=R
SelectorI=G

mask_gr

SelectorI=B

mask_brmask_gb
mask_bg

Corresponding elements of color correction matrix
2. Set a coefficient of color correction matrix by ‘ColorCorrectionMatrix’.
// GenICam node handle
CAM_NODE_HANDLE hSelectorI = NULL;
CAM_NODE_HANDLE hSelectorJ = NULL;
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “ColorCorrectionMatrixSelectorI”, &hSelectorI);
Nd_GetNode(s_hCam, “ColorCorrectionMatrixSelectorJ”, &hSelectorJ);
Nd_GetNode(s_hCam, “ColorCorrectionMatrix”, &hNode);
float64_t

dCoefficient[] = { 0.0,-0.2, 0.2,
-0.3,0.0,-0.4,-0.1,-0.5,0.0 };// 3x3 matrix

for(int64_t i=0; i<3; i++){for(int64_t j=0; j<3; j++){if(i != j){// 1.Select a color correction matrix element
Nd_SetEnumIntValue(s_hCam, hSelectorI, i);
Nd_SetEnumIntValue(s_hCam, hSelectorJ, j);

}

}

}

// 2.Set a coefficient of color correction matrix.
Nd_SetFloatValue(s_hCam, hNode, dCoefficient);

135 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Please refer to [INode functions], [IEnumeration node functions] and [IFloat node functions] in[TeliCamAPI Library manual] for more detail.

Register access API
Control ColorCorrectionMatrix by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueColorCorrectionMatrix
Write to ‘Value’ field of ‘MaskingRG’, ‘MaskingRB’, ‘MaskingGR’, ‘MaskingGB’, ‘MaskingBR’,‘MaskingBG’ register.
// Masking value (Raw value)
int32_tuiMasking[] = {-13108, 13107,-19661,-26215, -6554,-32768};// Set Masking Value
uint64_t
addr = 0x21F05C;
for(int i=0; i<6; i++, addr+= 0x20){
Cam_WriteReg(s_hCam, addr, 1, &uiMasking[i]);}Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
BalanceRatio

Raw Value

Absolute (Float) Value

Minimum-65536-1.00

Maximum

65535

0.99

FormulaAbsolute Value = Raw Value / 65536

Initial Value
SelectorJ
R
R
SelectorI

G

0.00

B

0.00

G

B

0.00

0.00
0.00

0.00

● NoteColorCorrectionMatrix control is available in following PixelFormat.
Bayer8/10/12(BayerProcessingMode = Full), RGB8, BGR8, YUV411, YUV422

136 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

ALCControl
This section describes ALCControl feature.
- ALCPhotometricAreaSize defines photometric area size for measuring luminance.
100% (H:100% x V:100%)64% (H:80% x V:80%)

16% (H:40% x V:40%)

ALCPhotometricAreaSize (e.g. 100%, 64%, 16%)
- ALCExposureValue defines a correction value for a convergence value.
Final convergence value is determined by the following formula.
Final convergence value = Reference Luminance x 2ALCExposureValue

137 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]Access

ALCPhotometricAreaSize

IFloat4

R/W

Sets ALC photometric area size.

ALCExposureValue

IFloat4

R/W

Sets ALC Exposure Value.

Name

Description● IIDC2 Register
Register

Field

Address

LengthByte / [bit]Access

ALCPhotometricAreaSize

Implemented

0x21F360

[31]

R

Mult

0x21F36C

4

R

Div

0x21F370

4

R

Min

0x21F374

4

R

Returns the minimum value of ALC photometric area size.

Max

0x21F378

4

R

Returns the maximum value of ALC photometric area size.

Value

0x21F37C

4

R/W

Sets ALC photometric area size. (Raw value)

Implemented

0x2040C0[31]

R

Returns the state whether the function is implemented.

Mult

0x2040CC

4

R

Div

0x2040D0

4

R

Min

0x2040D4

4R

Returns the minimum value of ALC Exposure Value.

Max

0x2040D8

4R

Returns the maximum value of ALC Exposure Value.

Value

0x2040DC

4

R/W

Sets ALC Exposure Value. (Raw value)

ALCExposureValue

138 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description
Returns the state whether the function is implemented.
Absolute Value = Raw * (Mult / Div)

Absolute Value = Raw * (Mult / Div)

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control ALC parameters using GenICam API.
ALCPhotometricAreaSize/ALCExposureValue
Use ‘IFloat’ interface to control ALCPhotometricAreaSize and ALCExposureValue.
// GenICam node handle
CAM_NODE_HANDLE hSize = NULL;
CAM_NODE_HANDLE hEV = NULL;// ALCPhotometricAreaSize = 25%
float64_t
dSize = 25.0;// ALCExposureValue = +1.0EV
float64_t
dEV = 1.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “ALCPhotometricAreaSize”, &hSize);
Nd_GetNode(s_hCam, “ALCExposureValue”, &hEV);// Set ALCPhotometricAreaSize
Nd_SetFloatValue(s_hCam, hSize, dSize);// Set ALCExposureValue
Nd_SetFloatValue(s_hCam, hEV, dEV);

Please refer to [INode functions] and [IFloat node functions] in [TeliCamAPI Library manual] for moredetail.

Register access API
Control ALC parameters by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

ALCPhotometricAreaSize/ALCExposureValue
Write to ‘Value’ field of ‘ALCPhotometricAreaSize’ register.
Write to ‘Value’ field of ‘ALCExposureValue’ register.
// ALCPhotometricAreaSize = 25% (Raw value = 25)
uint32_t
uiSizeRaw = 25;// ALCExposureValue = +1.0EV (Raw value = 10)
int32_t
iEVRaw = 10; // signed// Set ALCPhotometricAreaSize
Cam_WriteReg(s_hCam, 0x21F37C, 1, &uiSizeRaw);// Set ALCExposureValue
Cam_WriteReg(s_hCam, 0x2040DC, 1, &iEVRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

139 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/Minimum/Maximum Value
ALCPhotometricAreaSize

Raw Value

Absolute (Float) Value

Minimum

11.00[%]

Maximum

100

100.00[%]Initial Value

100

100.00[%]

FormulaAbsolute Value [%] = Raw Value

ALCExposureValue

Raw Value

Absolute (Float) Value

Minimum-20-2.0[EV]

Maximum

15+1.5[EV]

Initial Value

100

0.0[EV]

FormulaAbsolute Value [EV] = Raw Value / 10

● Note*The camera operation is not supported when the Random Trigger Shutter mode.

140 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

LUTControl
This function allows you to apply the arbitrary LUT (input: 12it, output: 12bit) to the output images.
Outputluminance

Binarization
Input
luminance

example of LUT setting● GenICam NodeInterface

LengthByte / [bit]Access

LUTEnable

IBoolean

4

R/W

Sets the activation of LUT function.

LUTIndexIInteger

4

R/W

Sets the input level of LUT.

LUTValue

IInteger

4

R/W

Sets the output level of LUT.

Field

Address

LengthByte / [bit]Access

Implemented

0x206020[31]

R

Returns the state whether the function is implemented.

Value

0x20603C

4

R/W

Sets the activation of LUT function.

Name

Description● IIDC2 Register
Register
LUTEnable

Description[0] : Off[1] : On
LUTValueAll

Implemented

0x2FFFDC[31]

R

Returns the state whether the function is implemented.

Value[0]0x300000

4

R/W

Sets the output level of LUT.

Value[1]0x300004

4

R/W

Sets the output level of LUT.

Value[2]0x300008

4

R/W

Sets the output level of LUT.

…

…

…

…

…

Value[4095]

0x303FFC

4

R/W

Sets the output level of LUT.

141 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control LUT using dedicated API.
API name

Description

GetCamLUTEnable

Get activation status

SetCamLUTEnable

Set activation status

GetCamLUTValue

Get LUT value

SetCamLUTValue

Set LUT value

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control LUT using GenICam API.
LUT
1. Set the input level of LUT to ‘LUTIndex’.
2. Set the output level of LUT to ‘LUTValue’
3. Set the activation of LUT function by ‘LUTEnable’// GenICam node handle
CAM_NODE_HANDLE hIndex = NULL;
CAM_NODE_HANDLE hValue = NULL;
CAM_NODE_HANDLE hEnable = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “LUTIndex”, &hIndex);
Nd_GetNode(s_hCam, “LUTValue”, &hValue);
Nd_GetNode(s_hCam, “LUTEnable”, &hEnable);for(int64_t i=0; i<4096; i++){// 1.Set the input level of LUT to 'LUTIndex'.
Nd_SetIntValue(s_hCam, hIndex, i);// 2.Set the output level of LUT to 'LUTValue'
Nd_SetIntValue(s_hCam, hValue, 4095 - i); // invert}// 3.Set the activation of LUT function by 'LUTEnable'
Nd_SetBoolValue(s_hCam, hEnable, true);

Please refer to [INode functions], [IInteger node functions] and [IBoolean node functions] in [TeliCamAPI
Library manual] for more detail.

142 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control LUT by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

LUT
1. Set the output level of LUT.
Write to ‘Value[0]’ to ‘Value[4095]’ of ‘LUTValueAll’ register to set the output level of LUT.
The index of ‘Value’ register means the input level of LUT.
2. Set the activation of LUT function.
Write to ‘Value’ field of ‘LUTEnable’ register to activate LUT function.
// 1.Set the output level of LUT.
uint64_t addr = 0x300000;
uint32_t dat;for(int i=0; i<4096; i++, addr+= 0x4){
dat = 4095 - i; // invert
Cam_WriteReg(s_hCam, addr, 1, &dat);}// 2.Set the activation of LUT function.
dat = 1;
Cam_WriteReg(s_hCam, 0x20603C, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
LUTIndex/LUTValue

Value

Minimum

0

Maximum

4095

143 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

UserSetControl
You are able to save a user setting to the non-volatile or volatile memory of the camera. There are 15 user
memory channels for user setting.
By using user memory, you are able to restore frequent used settings at the time of next start-up.
The following table is the list of registers applied to “UserSetLoad”/“UserSetSave”,“UserSetQuickSave”.
Table: List of registers to be applied to UserSet
Category

RegisterImageFormatControl

ImageFormatSelector

Category
DigitalIOControl

LineSource

HeightAntiGlitch

OffsetX

AntiChattering
TimerControl

TimerDuration

Decimation

TimerDelay
AnalogControl

GainControl

TestPatternBlackLevel

BayerProcessingMode

Gamma

AcquisitionFrameRateEnable

Sharpness

AcquisitionFrameRate

BalanceRatio

AcquisitionFrameIntervalControl

ColorCorrectionMatrix
ALCControl

HighFramerateMode

ALCExposureValue
ALCPhotometricAreaSize

TriggerMode

LUTControl

LUTEnable

TriggerSequence

EventControl

EventNotification

TriggerSource

DPCControl

DPCEnable(*)

TriggerAdditionalParameter

DPCNumber(*)

TriggerDelay

DPCEntryX(*)

ExposureTime

DPCEntryY(*)

ExposureControl

DigitalIOControl

Gain

PixelFormat

AcquisitionFrameInterval

ExposureControl

TimerTriggerSource

Binning

ReverseTriggerControl

LineSelector

Width

OffsetY

AcquisitionControl

Register

SequentialShutterControl

SequentialShutterEnable(*)

ShortExposureMode

SequentialShutterTerminateAt(*)

LineModeAll

SequentialShutterEntry(*)

LineInverterAll
UserOutputValueAll(*) DPC and SequentialShutter entries are stored to a single channel. Entries are shared with all channels.
This table lists all features of B/W and Color models. Please refer to [Table : supported features list] as well.

144 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessUserSetSelector

IEnumeration

4

R/W

Selects a channel of user setting.

UserSetLoad

ICommand

4

W

Loads a user setting.

UserSetSave

ICommand

4

W

Saves a user setting to non-volatile memory.

UserSetQuickSave

ICommand

4

W

Saves a user setting to volatile memory.

UserSetDefault

IEnumeration

4

R/W

Selects a channel of user setting when camera powers up.

Name

Description● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessUserSetSelector

Implemented

0x208060[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20806C

4

R[0] : Default

Description[1] : UserSet1…
[15] : UserSet15

UserSetCommand

Value

0x20807C

4

R/W

Selects the UserSet.

Implemented

0x208080[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x20808C

4

R[0] : Done[8] : Load[9] : Save[120] : QuickSave

UserSetDefault

Value

0x20809C

4

R/W

Selects the UserSet command.

Implemented

0x2080A0[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x2080AC

4

R[0] : Default[1] : UserSet1…
[15] : UserSet15

Value

0x2080BC

4R/W

145 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects the number of UserSet when the camera starts up.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control UserSetControl using dedicated API.
API name

Description

ExecuteCamUserSetLoad

Execute UserSetLoad

ExecuteCamUserSetSave

Execute UserSetSave

ExecuteCamUserSetSaveAndSetDefault

Execute UserSetDefault

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control UserSetControl using GenICam API.
UserSetLoad/UserSetSave/UserSetQuickSave
1. Select a channel of user setting by ‘UserSetSelector’.
Integer value and string value of Enumeration are as follows.
IntegerString0

Default

1~15

UserSet1~15

Description

Save

Load

Initial factory setting.

-✓Memory channel 1 to 15 for user setting.

✓✓

2. Execute UserSetLoad, UserSetSave or UserSetQuickSave
When execute ‘UserSetLoad’, the camera loads user setting from the channel selected in‘UserSetSelector’ register and applies them.
When execute ‘UserSetSave’ or ‘UserSetQuickSave’, the camera saves user setting to the channel
selected in ‘UserSetSelector’ register.
After execution of 'UserSetSave', wait until 'UserSetSave' completion by Nd_GetCmdIsDone.

146 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// GenICam node handle
CAM_NODE_HANDLE hSelector = NULL;
CAM_NODE_HANDLE hSave = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “UserSetSelector”, &hSelector);
Nd_GetNode(s_hCam, “UserSetSave”, &hSave);// 1.Select a channel of user setting by ‘UserSetSelector’.
uint64_t dat = 1; // UserSet1
Nd_SetEnumIntValue(s_hCam, hSelector, dat);// 2. Execute UserSetSave
Nd_CmdExecute(s_hCam, hSave);bool8_t bDone;
while(1) {Nd_GetCmdIsDone(s_hCam, hSave, &bDone);if(bDone == true)break;
Sleep(0);}UserSetDefault
Select a channel of user setting when camera powers up by ‘UserSetDefault’.
Integer value and string value of Enumeration are as follows.
IntegerString0

Default

1~15

UserSet1~15

Description
Initial factory setting.
Memory channel 1 to 15 for user setting.

// GenICam node handle
CAM_NODE_HANDLE hSelector = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “UserSetDefault”, &hSelector);// 1.Select a channel of user setting when camera powers up by ‘UserSetDefault’.
uint64_t dat = 1; // UserSet1
Nd_SetEnumIntValue(s_hCam, hSelector, dat);

Please refer to [INode functions], [IEnumeration node functions] and [ICommand node functions] in[TeliCamAPI Library manual] for more detail.

147 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control UserSetControl by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

UserSetLoad/UserSetSave/UserSetQuickSave
1. Select a channel of user setting by ‘UserSetSelector’.
Write to ‘Value’ field of ‘UserSetSelector’ register.
2. Execute UserSetLoad, UserSetSave or UserSetQuickSave
Write [8] to ‘Value’ field of ‘UserSetCommand’ register to execute UserSetLoad.
Write [9] to ‘Value’ field of ‘UserSetCommand’ register to execute UserSetSave.
Write [120] to ‘Value’ field of ‘UserSetCommand’ register to execute UserSetQuickSave.
After execution of 'UserSetSave', wait until 'UserSetCommand’ is ‘Done’ (= 0).
uint32_t dat;// 1.Select a channel of user setting by ‘UserSetSelector’.
dat = 1; // UserSet1
Cam_WriteReg(s_hCam, 0x20807C, 1, &dat);// 2. Execute UserSetSave
dat = 9; // UserSetSave
Cam_WriteReg(s_hCam, 0x20809C, 1, &dat);
while(1) {Cam_ReadReg(s_hCam, 0x20809C, 1, &dat);
if(dat == 0)
break;
Sleep(0);}UserSetDefault
1. Select a channel of user setting when camera powers up by ‘UserSetDefault’.
// 1.Select a channel of user setting when camera powers up
uint32_t dat = 1; // UserSet1
Cam_WriteReg(s_hCam, 0x2080BC, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

148 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

EventControl
Camera notifies FrameTrigger status and other information by USB3 Vision Event Packet.
- FrameTrigger: Reception of Frame Start Trigger- FrameTriggerError: Rejection of Frame Start Trigger- FrameTriggerWait: Start of waiting for Frame Start Trigger- FrameTransferStart: Start of transferring streaming data

- FrameTransferEnd: End of transferring streaming data

- ExposureStart: Start of Exposure- ExposureEnd: End of Exposure- Timer0Start: Start of Timer0- Timer0End: End of Timer0

Events timing are as following chart.
Overlap Trigger Reception

Overlap Trigger Rejection

EXT_TRIG(Falling edge)
(1)

(1)

(1)

A

Exposure

(1)

B

(6)

(7)

C

(6)

(7)

(5)

(4)

E
(6)

(7)

D

C
(5)

(1)

(7)

C

B

(4)

(6)

(7)

B

A

Bus Transfer

D

(6)

A

Sensor Read Out(2)This trigger isignored.

E

D

(4)

(5)

E

(4)

(5)

(4)

Timer0Active(Low Active)
(8)

(9)

(8)

(9)

(8)

(9)

(8)

(9)

(8)

(9)

FrameTriggerWait(Low Active)(3)(3)
FrameTriggerWait will be activated before
approx. (Sensor Read Out End - Exposure Time)

(3)

(3)

Event Name
(1) FrameTrigger: Reception of Frame Start Trigger.

(2) FrameTriggerError: Rejection of Frame Start Trigger.

(3) FrameTriggerWait: Start of waiting for Frame Start Trigger.

(4) FrameTransferStart : Start of transferring streaming data.
(5) FrameTransferEnd: End of transferring streaming data.

(6) ExposureStart: Start of Exposure.

(7) ExposureEnd: End of Exposure.

(8) Timer0Start: Start of Timer0.

(9) Timer0End: End of Timer0.

149 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]AccessEventSelector

IEnumeration

4

R/W

Selects which Event to signal to the host application.

EventNotification

IEnumeration

4

R/W

Sets the activation of event notification

Name

Description

Event ID

Event Data

LengthByte / [bit]EventFrameTrigger

0x8020

EventFrameTriggerTimestamp

8

Returns the timestamp at the time of Event.

EventFrameTriggeError

0x8021

EventFrameTriggerErrorTimestamp

8

Returns the timestamp at the time of Event.

EventFrameTriggeWait

0x8022

EventFrameTriggerWaitTimestamp

8

Returns the timestamp at the time of Event.

EventFrameTransferStart

0x8030

EventFrameTransferStartTimestamp

8

Returns the timestamp at the time of Event.

EventFrameTransferEnd

0x8031

EventFrameTransferEndTimestamp

8

Returns the timestamp at the time of Event.

EventExposureStart

0x8040

EventExposureStartTimestamp

8

Returns the timestamp at the time of Event.

EventExposureEnd

0x8041

EventExposureEndTimestamp

8

Returns the timestamp at the time of Event.

EventTimer0Start

0x9000

EventTimer0StartTimestamp

8

Returns the timestamp at the time of Event.

EventTimer0End

0x9001

EventTimer0EndTimestamp

8

Returns the timestamp at the time of Event.

Event Name

Description● IIDC2 Register
Register
EventNotificationOfFrame

Field

Address

LengthByte / [bit]AccessDescription

Implemented

0x21F220[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x21F22C

4

R[0] : FrameTrigger[1] : FrameTriggerError[2] : FrameTriggerWait[3] : FrameStart[4] : FrameEnd[16] : FrameTransferStart[17] : FrameTransferEnd

EventNotificationOfExposure

Value

0x21F230

4

R/W

Sets the activation of event notification of frame.

Implemented

0x21F240[31]R

Returns the state whether the function is implemented.

ListOfElements

0x21F24C

4

R[0] : ExposureStart[1] : ExposureEnd

EventNotificationOfTimerStart

EventNotificationOfTimerEnd

Value

0x21F250

4

R/W

Selects the UserSet command.

Implemented

0x21F380[31]

R

Sets the activation of event notification of exposure.

ListOfElements

0x21F38C

4

R[0] : Timer0Start

Value

0x21F390

4

R/W

Sets the activation of event notification of timer start.

Implemented

0x21F3A0[31]

R

Sets the activation of event notification of exposure.

ListOfElements

0x21F3AC

4

R[0] : Timer0End

Value

0x21F3B0

4

R/W

Sets the activation of event notification of timer end.

150 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control Event features using dedicated API.
API name
High-level API functions

Low-level API functions

Description
Evt_OpenSimple

Opens event interface

Evt_Activate

Activates specified camera event.

Evt_Deactivate

Deactivates specified camera event.

Evt_Open

Opens event interface

Evt_CreateRequest

Creates EventRequest structure

Evt_ReleaseRequest

Releases EventRequest structure

Evt_EnqueueRequest

Puts specified EventRequest into the
EventWaitQueue

Evt_DequeueRequest

Retrieves an EventRequest structure from the
EventCompleteQueue

Evt_FlushWaitQueue

Stops all CameraEvent receiving operations, andmoves all EventRequest structures in the
EventWaitQueue to the EventCompleteQueue

Common functions

Evt_Close

Closes event interface

Please refer to [Camera event notification functions] in [TeliCamAPI Library manual] and [GrabEvent]sample code in your TeliCamSDK install folder.

GenICam function API
Please use dedicated API to control Event features.

Register access API
Please use dedicated API to control Event features.

151 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/FrameSynchronization
Selects the camera frame synchronization method.
1. Off: Free run operation (internal sync mode)

2. Bus: Synchronized with USB bus clock (Bus Sync mode)

Internal Sync Mode

Exposure

Camera A
Camera B
Camera C

Bus Sync Mode

Exposure

Camera A
Camera B
Camera C● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Name
FrameSynchronization

Description
Selects the camera frame synchronization method.

● IIDC2 Register
Register

Field

Address

LengthByte / [bit]AccessFrameSynchronization

Implemented

0x21F020[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x21F02C

16

R[0] : OffDescription[1] : Bus
Value

0x21F03C

4R/W

152 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Selects the camera frame synchronization method.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control FrameSynchronization using GenICam API.
FrameSynchronization
Select a frame synchronization method.
Integer value and string value of Enumeration are as follows.
IntegerStringDescription

0

OffInternal synchronization

1

Bus

Bus synchronization// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, “FrameSynchronization”, &hNode);// Select a frame synchronization method
Nd_SetEnumStrValue(s_hCam, hNode, "Bus");

Please refer to [INode functions], [IEnumeration node functions] in [TeliCamAPI Library manual] formore detail.

Register access API
Control FrameSynchronization by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register valueFrameSynchronization
Write to ‘Value’ field of ‘FrameSynchronization register.
// Select a frame synchronization method
uint32_t dat = 1;
Cam_WriteReg(s_hCam, 0x21F03C, 1, &dat); // Bus Sync mode

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

153 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

LEDIndicatorLuminance
Adjusts LED indicator luminance.

● GenICam Node
Name
LEDIndicatorLuminanceInterface

LengthByte / [bit]AccessIFloat4

R/W

Description
Sets the LED indicator luminance.

● IIDC2 Register
Register

Field

Address

LengthByte / [bit]Access

LEDIndicatorLuminance

Implemented

0x21F100

[31]

R

Mult

0x21F10C

4

R

Div

0x21F110

4

R

Min

0x21F114

4R

Returns the minimum value of LED indicator luminance register.

Max

0x21F118

4R

Returns the maximum value of LED indicator luminance register.

Value

0x21F11C

4

R/W

Sets the LED indicator luminance

154 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Description
Returns the state whether the function is implemented.
Absolute Value [%] = Raw * (Mult / Div)

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control LED indicator luminance using GenICam API.
LEDIndicatorLuminanceUse ‘IFloat’ interface to control LED indicator luminance.
// GenICam node handle
CAM_NODE_HANDLE hNode = NULL;// luminance = 50[%]// actual value (4/7)*100 = 57.14[%]float64_t
dLuminance = 50.0;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "LEDIndicatorLuminance", &hNode);// Set LED indicator luminance Value
Nd_SetFloatValue(s_hCam, hNode, dLuminance);

Please refer to [INode functions], [IFloat node functions] in [TeliCamAPI Library manual] for more detail.

Register access API
Control LED indicator luminance by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

LEDIndicatorLuminance
Write to ‘Value’ field of ‘LEDIndicatorLuminance’ register.
// luminance = 50[%] (Raw value = 4)// actual value (4/7)*100 = 57.14[%]
uint32_t
uiLuminanceRaw = 4;// Set LED indicator luminance Value
Cam_WriteReg(s_hCam, 0x21F11C, 1, &uiLuminanceRaw);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
LEDIndicatorLuminance

Raw Value

Absolute (Float) Value

Minimum

00.00 [%]

Maximum

7

100.00 [%]Initial Value

7

100.00 [%]FormulaAbsolute Value [%] = Raw Value / 7

155 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

DPCControl
This DPC (Defective Pixel Correction) function corrects defective pixels from the image sensor. Specifying X
and Y coordinates of the defective pixels, the defective pixels are corrected by calculation from the neighboring
pixels.

● GenICam NodeInterface

LengthByte / [bit]AccessDPCEnable

IEnumeration

4

R/W

Sets the activation of DPC function.

DPCNumber

IInteger

4

R/W

Sets the number of pixels to correct.

DPCIndexIInteger

4

R/W

Sets the index number for entry.

DPCEntryX

IInteger

4

R/W

Sets the X coordinate of defective pixel.

DPCEntryY

IInteger

4

R/W

Sets the Y coordinate of defective pixel.

Field

Address

LengthByte / [bit]Access

Implemented

0x21F280[31]

R

Returns the state whether the function is implemented.

ListOfElements

0x21F28C

4

R[0] : Off

Name

Description● IIDC2 Register
Register
DPCEnable

Description[1] : On

DPCNumber

DPCCoord

Value

0x21F29C

4

R/W

Sets the activation of DPC function.

Implemented

0x21F2A0[31]

R

Returns the state whether the function is implemented.

Value

0x21F2BC

4

R/W

Sets the number of Pixels to correct.

Value[0][0]0x400000

4

R/W

Sets the first X coordinate of defective pixel.

Value[0][1]0x400004

4

R/W

Sets the first Y coordinate of defective pixel.

Value[1][0]0x400008

4

R/W

Sets the second X coordinate of defective pixel.

Value[1][1]0x40000C

4

R/W

Sets the second Y coordinate of defective pixel.

…

…

…

…

…

Value[255][0]0x4007F84R/W

Sets the 255th X coordinate of defective pixel.

Value[255][1]0x4007FC

4

R/W

Sets the 255th Y coordinate of defective pixel.

156 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKGenICam function API
Control DPC using GenICam API.
DPC
1. Set the coordinates of defective pixels by ‘DPCIndex’, ‘DPCEntryX’ and ‘DPCEntryY’.
2. Sets the number of pixels to correct to ‘DPCNumber’.
3. Sets the activation of DPC function by ‘DPCEnable’.
Integer value and string value of Enumeration are as follows.
IntegerString

0

Off

1

On

// GenICam node handle
CAM_NODE_HANDLE hIndex = NULL;
CAM_NODE_HANDLE hEntryX = NULL;
CAM_NODE_HANDLE hEntryY = NULL;
CAM_NODE_HANDLE hNumber = NULL;
CAM_NODE_HANDLE hEnable = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "DPCIndex", &hIndex);
Nd_GetNode(s_hCam, "DPCEntryX", &hEntryX);
Nd_GetNode(s_hCam, "DPCEntryY", &hEntryY);
Nd_GetNode(s_hCam, "DPCNumber", &hNumber);
Nd_GetNode(s_hCam, "DPCEnable", &hEnable);
int64_t entry[2][2] = {{100,200},{150,300}};// {x.y}int64_t number;for(number=0; number<2; number++){// 1.Set the coordinates of defective pixels by 'DPCIndex', 'DPCEntryX' and'DPCEntryY'.
Nd_SetIntValue(s_hCam, hIndex, number); // 0 origin
Nd_SetIntValue(s_hCam, hEntryX, entry[number][0]);Nd_SetIntValue(s_hCam, hEntryY, entry[number][1]);}// 2.Sets the number of pixels to correct to 'DPCNumber'.
Nd_SetIntValue(s_hCam, hNumber, number); // 2 pixels are to be corrected.
// 3.Sets the activation of DPC function by 'DPCEnable'.
Nd_SetEnumStrValue(s_hCam, hEnable, "On");

Please refer to [INode functions], [IInteger node functions] and [IEnumeration node functions] in[TeliCamAPI Library manual] for more detail.

157 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control DPC by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

DPC
1. Set the coordinates of defective pixels.
Write to ‘Value[index][0]’ and ‘Value[index][1]’ field of ‘DPCCoord’ register.
The first index of ‘Value’ register indicates defective pixel number.
The second index of [0] and [1] correspond to X and Y coordinates.
2. Sets the number of pixels to correct.
Write to ‘Value’ field of ‘DPCNumber’ register.
3. Sets the activation of DPC function.
Write [1] to ‘Value’ field of ‘DPCEnable’ register.
// 1.Set the coordinates of defective pixels.
uint32_t entry[2][2] = {{100,200},{150,300}}; // {x.y}uint32_t number;uint64_t addr = 0x400000;
for(number=0; number<2; number++, addr+= 0x8){
Cam_WriteReg(s_hCam, addr
, 1, &entry[number][0]);Cam_WriteReg(s_hCam, addr+0x4, 1, &entry[number][1]);}// 2.Sets the number of pixels to correct.
Cam_WriteReg(s_hCam, 0x21F2BC, 1, &number);// 3.Set the activation of DPC function.
uint32_t dat = 1;
Cam_WriteReg(s_hCam, 0x21F29C, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
DPCNumber

DPCIndex

Minimum

00Maximum

256

255

DPCEntryX

DPCEntryY

Minimum

00Maximum

WidthMax-1

HeightMax-1

158 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/ChunkThis section describes Chunk feature. Chunk data means tagged blocks of data.
The tags allow a chunk parser to dissect the data payload into its elements and to identify the content.
The length of a frame varies depending on the number of activated chunks.

LengthLeaderLengthChunk ID
Chunk data

Image data

Trailer

Appendant data of image (Chunk data)

Chunk

Length(B/W Model)

Image data

Length(Color Model)+0x000+0x004+0x008ChunkID = 0x00000001
Length = (Image data size)+0x000+0x004+0x008

Always output+0x010+0x014+0x018+0x01C+0x020+0x024+0x028+0x02C+0x030+0x034+0x038ChunkID = 0x00000100
Length = 0x08
FrameBurstTriggerCount
ChunkID = 0x80001001
Length = 0x04
ExposureTime
ChunkID = 0x4004003C
Length = 0x04
Gain
ChunkID = 0x4004007C
Length = 0x04
WhiteBalanceR
ChunkID = 0x4005007C
Length = 0x04
WhiteBalanceB
ChunkID = 0x4005009C
Length = 0x04
LineStatusAll
ChunkID = 0x4009007C
Length = 0x04
SequentialShutterNumber
ChunkID = 0x80002000
Length = 0x04
SequentialShutterElement
ChunkID = 0x80002001
Length = 0x04

+0x010+0x014+0x018+0x01C+0x020+0x024+0x028+0x02C+0x030+0x034+0x038+0x03C+0x040+0x044+0x048+0x04C+0x050+0x054+0x058+0x05C+0x060+0x064+0x068+0x06C+0x070+0x074+0x078

Depends on camera mode

+0x03C+0x040+0x044+0x048+0x04C+0x050+0x054+0x058+0x05C+0x060+0x160+0x164BlockID

UserArea (256 Bytes)
ChunkID = 0x80000000
Length = 0x100

Always output (Color Model)

Depends on register setting+0x178+0x17C

Chunk Data Structure
159 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● GenICam NodeInterface

LengthByte / [bit]Access

IBoolean

4

R/W

Sets the activation of Chunk function.

ChunkSelector

IEnumeration

4

R/W

Select which Chunk to enable or control.

ChunkEnable

IBoolean

4

R/W

Enables the inclusion of the selected Chunk data in the payload of

Name
ChunkModeActive

Description

the image.
ChunkUserAreaLength

IInteger

4

R

Indicates the length of ChunkUserAreaTable.

ChunkUserAreaTable

IString

256

R/W

Set the free user space.(Maximum:256byte)

ChunkFrameID

IInteger

8

R

Returns the Block ID of the frame included in the Chunk data.

ChunkExposureTime

IFloat4

R

Returns the ExposureTime of the frame included in the Chunk data.

ChunkGain

IFloat4

R

Returns the Gain of the frame included in the Chunk data.

ChunkWhiteBalanceR

IFloat4

R

Returns the WhiteBalanceR of the frame included in the Chunkdata.

ChunkWhiteBalanceB

IFloat4

R

Returns the WhiteBalanceB of the frame included in the Chunkdata.

ChunkLineStatusAll

IInteger

4

R

Returns the LineStatusAll of the frame included in the Chunk data.

ChunkFrameBurstTriggerCount

IInteger

4

R

Returns the FrameBurstTriggerCount of the frame included in the
Chunk data.

ChunkSequentialShutterNumber

IInteger

4

R

Returns the SequentialShutterNumbere of the frame included in the
Chunk data.

ChunkSequentialShutterElement

IInteger

4

R

Returns the SequentialShutterElement of the frame included in the
Chunk data.

160 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● IIDC2 Register
Register
ChunkModeActive

Field

Address

LengthByte /[bit]

AccessDescription

Implemented

0x21D020[31]

R

Returns the state whether the function is implemented.

BitWritable

0x21D02C

4

R[0]:Off[1]:OnChunkEnableOfVendorSpecificValue

0x21D030

4

R/W

Sets the activation of chunk feature.

Implemented

0x21D040[31]

R

Returns the state whether the function is implemented.

BitWritable

0x21D04C

4

R[0] : BlockID[8] : FrameBurstTriggerCount[9] : SequentialShutterNumber[10] : SequentialShutterElement[24] : UserArea

ChunkEnableOfCat4

Value

0x21D050

4

R/W

Sets the activation of chunk data.

Implemented

0x21D0E0[31]

R

Returns the state whether the function is implemented.

BitWritable

0x21D0EC

4

R[0] : ExposureTime[2] : Gain

ChunkEnableOfCat5

Value

0x21D0F0

4

R/W

Sets the activation of chunk data.

Implemented

0x21D100[31]

R

Returns the state whether the function is implemented.

BitWritable

0x21D10C

4

R[2] : WhiteBalaceR[3] : WhiteBalaceB

ChunkEnableOfCat9

ChunkUserArea

Value

0x21D110

4

R/W

Sets the activation of chunk data.

Implemented

0x21D180[31]

R

Returns the state whether the function is implemented.

BitWritable

0x21D18C

4

R[2] : LineStatusAll

Value

0x21D190

4

R/W

Sets the activation of chunk data.

Implemented

0x21D7F0[31]

R

Returns the state whether the function is implemented.

NumberOfElements

0x21D7FC[30:0]

R

Returns the length (in bytes) of ChunkUserArea Value.

Value[0]0x21D800

lengthR/W

Sets the ASCII string of ChunkUserArea.

…

…

…

Value[last]

0x21D800

R/W

Sets the ASCII string of ChunkUserArea.

+NumberOf
Elements-4

161 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API

Control ExposureTime using dedicated API.
API name

Description

GetCamChunkModeActive

Get current statusof chunk data output mode

SetCamChunkModeActive

Set chunk data output mode

Please refer to [Controlling camera feature functions] in [TeliCamAPI Library manual] for more detail.

GenICam function API
Control Chunk using GenICam API.
Chunk
1. Close image stream.
2. Sets the activation of Chunk feature by ‘ChunkModeActive’.
3. Sets the activation of Chunk data by ‘ChunkSelector’ and ‘ChunkEnable’.
Most of the Chunk data has been fixed to output.
4. Sets the user string to ‘ChunkUserAreaTable’. (optional)
5. Open image stream.
6. Capture image stream.
TeliCamAPI provides streaming functions including command handling and buffer handling tocapture image stream simply.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual]and [GrabStreamSimple] sample code in your TeliCamSDK install folder.
7. Extract Chunk data using GenICam API.
7-1. Allocate memory by ‘Chunk_AttachedBuffer’ .
7-2. Read Chunk data.

162 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// GenICam node handle
CAM_NODE_HANDLE hMode = NULL;
CAM_NODE_HANDLE hSelector = NULL;
CAM_NODE_HANDLE hEnable = NULL;
CAM_NODE_HANDLE hFrameID = NULL;
CAM_NODE_HANDLE hExposureTime = NULL;
CAM_NODE_HANDLE hUserAreaTable = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "ChunkModeActive", &hMode);
Nd_GetNode(s_hCam, "ChunkSelector", &hSelector);
Nd_GetNode(s_hCam, "ChunkEnable", &hEnable);
Nd_GetNode(s_hCam, "ChunkFrameID", & hFrameID);
Nd_GetNode(s_hCam, "ChunkExposureTime", &hExposureTime);
Nd_GetNode(s_hCam, "ChunkUserAreaTable", &hUserAreaTable);// 2.Activate ChunkModeActive
Nd_SetBoolValue(s_hCam, hMode, true);//3.Enable ChunkSelector
Nd_SetEnumStrValue(s_hCam, hSelector, "ExposureTime");
Nd_SetBoolValue(s_hCam, hEnable, true);
Nd_SetEnumStrValue(s_hCam, hSelector, " UserArea");
Nd_SetBoolValue(s_hCam, hEnable, true);// 4.Set the user string
Nd_SetStrValue(s_hCam, hUserAreaTable, "Test");// 5.6.Open and capture image
Strm_ReadCurrentImage(hStrm, pvPayloadBuf, &uiPyldSize, &sImageInfo);// 7-1. Attach Buffer
Chunk_AttachBuffer(s_hStrm, pvPayloadBuf, PyldSize)// 7-2.Get FrameID of Chunk data.
int64_t fid= 0;
Nd_GetIntValue(s_hCam, hFID, &fid);// 7-2.Get Exposure Time of Chunk data.
float64_t exptime = 0;
Nd_GetFloatValue(s_hCam, hExposureTime, &exptime);// 7-2.Get User Area data of Chunk data.
char userarea[256];
Uint32_t uiSize = 256;
Nd_GetStrValue(s_hCam, hUserAreaTable, &userarea, &uiSize);

Please refer to [INode functions], [IInteger node functions], [IBoolean node functions] and [IEnumeration
node functions] in [TeliCamAPI Library manual] for more detail.

163 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Register access API
Control Chunk by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

Chunk
1. Close image stream.
2. Sets the activation of Chunk feature.
Write to ‘Value’ field of ‘ChunkModeActive’ register.
3. Sets the activation of Chunk data.
Write to ‘Value’ field of ‘ChunkEnableOfVendorSpecific‘, ‘ChunkEnableOfCat4’,‘ChunkEnableOfCat5’ and ‘ChunkEnableOfCat9’ register.
4. Sets the user string. (optional)
Write to ‘Value[0]’ to ‘Value[last]’ field of ‘ChunkUserArea‘ register.
5. Open image stream.
6. Capture image stream.
TeliCamAPI provides streaming functions including command handling and buffer handling tocapture image stream simply.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual] and[GrabStreamSimple] sample code in your TeliCamSDK install folder.

164 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

7. Extract Chunk data using GenICam API.
// 2.Activate ChunkModeActive
int32_t active = 1;
Cam_WriteReg(s_hCam, 0x21D030,1, &active);// 3.Enable Chunk
int32_t cat4 = 5;
Cam_WriteReg(s_hCam, 0x21D0F0,1, &cat4);// 5.6.Open and capture image
Strm_ReadCurrentImage(hStrm, pvPayloadBuf, &uiPyldSize, &sImageInfo);// 7-1. Attach Buffer
Chunk_AttachBuffer(s_hStrm, pvPayloadBuf, PyldSize)// 7-2.Get FrameID of Chunk data.
int64_t fid= 0;
Nd_GetIntValue(s_hCam, hFID, &fid);// 7-2.Get Exposure Time of Chunk data.
float64_t exptime = 0;
Nd_GetFloatValue(s_hCam, hExposureTime, &exptime);// 7-2.Get User Area data of Chunk data.
char userarea[256];
uint32_t uiSize = 256;
Nd_GetStrValue(s_hCam, hUserAreaTable, &userarea, &uiSize);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.

165 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/SequentialShutterControl
Sequential Shutter function performs sequential capturing with applying the settings of UserSet that havebeen made entry in advance. This feature is not supported when the ShortExposureMode is enable (ON).
Entry1 = UserSet1

Entry2 = UserSet4

Entry3 = UserSet2

Entry1 = UserSet1

ExposureTime = 10ms...

ExposureTime = 2ms...

ExposureTime = 20ms...

ExposureTime = 10ms...

Sequence
Index = 1

Sequence
Index = 2

Sequence
Index = 3

Sequence
Index = 1

Exposure3

Exposure4

Sensor
Frame

...
...

SequentialShutterTerminateAt = 3

Exposure
Exposure1

Exposure2

USB
Streaming

Frame1

Frame2

Frame3

Frame4

Sequential Shutter● GenICam NodeInterface

LengthByte / [bit]AccessIEnumeration

4

R/W

Sets the activation of Sequential Shutter function.

SequentialShutterTerminateAt

IInteger

4

R/W

Sets the number of Index to repeat the sequence.

SequentialShutterIndex

IInteger

4

R/W

Sets the sequence number to register.

SequentialShutterEntry

IInteger

4

R/W

Sets the UserSet number to register to the sequence.

Field

Address

LengthByte / [bit]AccessDescription

Implemented

0x21F300[31]R

Returns the state whether the function is implemented.

ListOfElements

0x21F30C

4

R[0] : Off

Name
SequentialShutterEnable

Description● IIDC2 Register
Register
SequentialShutterEnable[1] : On

SequentialShutterTerminateAt

SequentialShutterSequenceTabl

Value

0x21F31C

4

R/W

Sets the activation of Sequential Shutter function.

Implemented

0x21F320[31]

R

Returns the state whether the function is implemented.

Value

0x21F33C

4

R/W

Sets the number of Tables to repeat the sequence.

Value[0]0x500040

4

R/W

Sets the UserSet number to register to the firstesequence.
Value[1]0x500044

4

R/W

Sets the UserSet number to register to the second
sequence.

…

…

…

…

…

Value[15]0x500078

4

R/W

Sets the UserSet number to register to the 16th
sequence.

166 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● Control with TeliCamSDKCamera feature API
Control SequentialShutter using dedicated API.
API name

Description

GetCamSequentialShutterEnable

Get activation status

SetCamSequentialShutterEnable

Set activation status

GetCamSequentialShutterTerminateAtMinMax

Get minimum and maximum value

GetCamSequentialShutterTerminateAt

Get current SequentialShutterTerminateAt value

SetCamSequentialShutterTerminateAt

Set new SequentialShutterTerminateAt value

GetCamSequentialShutterIndexMinMax

Get minimum and maximum value

GetCamSequentialShutterEntryMinMax

Get minimum and maximum value

GetCamSequentialShutterEntry

Get current SequentialShutterEntry value

SetCamSequentialShutterEntry

Set new SequentialShutterEntry value

GenICam function API
Control SequentialShutter using GenICam API.
SequentialShutter
1. Set the camera parameters and save them to UserSet. Repeat this as you required.
2. Set the sequence number to register to ’SequentialShutterIndex’ and Sets the UserSet
number to register to the sequence to ‘SequentialShutterEntry’. Repeat this as you required.
3. Set the number of Index to repeat the sequence to ’SequentialShutterTerminateAt’.
4. Set the activation of SequentialShutter function by ‘SequentialShutterEnable’.
Integer value and string value of Enumeration are as follows.
IntegerString

0

Off

1

On

5. Capture image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual]and [GrabStreamSimple] sample code in your TeliCamSDK install folder.

167 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

// 1.Set the camera parameters and save them to UserSet.
...
// GenICam node handle
CAM_NODE_HANDLE hIndex = NULL;
CAM_NODE_HANDLE hEntry = NULL;
CAM_NODE_HANDLE hTerminateAt = NULL;
CAM_NODE_HANDLE hEnable = NULL;// Retrieve GenICam node.
Nd_GetNode(s_hCam, "SequentialShutterIndex", &hIndex);
Nd_GetNode(s_hCam, "SequentialShutterEntry", &hEntry);
Nd_GetNode(s_hCam, "SequentialShutterTerminateAt", &hTerminateAt);
Nd_GetNode(s_hCam, "SequentialShutterEnable", &hEnable);
int64_tint64_tentry[] = {1,4,2};
index;// Sequence = {UserSet1,UserSet4,UserSet2}

for(index=0; index<3; index++){// 2.Set SequentialShutterIndex and SequentialShutterEntry.
Nd_SetIntValue(s_hCam, hIndex, index+1); // 1 origin
Nd_SetIntValue(s_hCam, hEntry, entry[index]);}// 3.Set SequentialShutterTerminateAt.
Nd_SetIntValue(s_hCam, hTerminateAt, index); // 3 UserSet will be repeated.
// 4.Set the activation of SequentialShutter function by 'SequentialShutterEnable'.
Nd_SetEnumStrValue(s_hCam, hEnable, "On");

Please refer to [INode functions], [IInteger node functions] and [IEnumeration node functions] in[TeliCamAPI Library manual] for more detail.

Register access API
Control SequentialShutter by accessing IIDC2 registers directly.
API name

Description

Cam_ReadReg

Read register value

Cam_WriteReg

Write register value

1. Set the camera parameters and save them to UserSet. Repeat this as you required.
2. Sets the UserSet number to register to the sequence.
Write to ‘Value[0]’ to ‘Value[15]’ of ‘SequentialShutterSequenceTable’.
The index of ‘Value’ register means sequence index. (0 origin)
3. Set the number of Index to repeat the sequence.
Write to ‘Value’ field of ’SequentialShutterTerminateAt’.
4. Set the activation of SequentialShutter function.
Write to ‘Value’ field of ’SequentialShutterEnable’ register to activate LUT function.

168 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

5. Capture image stream.
To start and stop capturing image is the same way as AcquisitionControl.
Please refer to [Camera streaming functions] in [TeliCamAPI Library manual]and [GrabStreamSimple] sample code in your TeliCamSDK install folder.
// 1.Set the camera parameters and save them to UserSet.
...
uint64_t
uint32_t
uint32_t

addr = 0x500040;
entry[] = {1,4,2};
index, dat;// Sequence = {UserSet1,UserSet4,UserSet2}

for(index=0; index<3; index++,addr+=4){// 2.Set SequentialShutterIndex and SequentialShutterEntry.
Cam_WriteReg(s_hCam, addr, 1, &entry[index]);}// 3.Set SequentialShutterTerminateAt.
Cam_WriteReg(s_hCam, 0x21F33C, 1, &index); // 3 UserSet will be repeated.
// 4.Set the activation of SequentialShutter function.
dat = 1;
Cam_WriteReg(s_hCam, 0x21F31C, 1, &dat);

Please refer to [Camera functions] in [TeliCamAPI Library manual] for more detail.
Minimum/Maximum Value
SequentialShutterIndex

setting value

Minimum (*)

1

Maximum

16* initial factory setting

SequentialShutterEntry

setting value

Minimum (*)

1

Maximum15* initial factory setting

169 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

● NoteThe following table is the list of registers applied to “SequentialShutter”.
Table: List of registers to be applied to SequentialShutter
Category
ImageFormatControl

RegisterOffsetX

Category
AnalogControl

Register
Gain

OffsetY

BlackLevel

ExposureControl

ExposureTime

Gamma

DigitalIOControl

UserOutputValueAllSharpness

LineSource

BalanceRatio

TimerDuration

ColorCorrectionMatrix

CounterAndTimerControl

TimerDelay

LUTControl

170 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

LUTEnable

DAA00195C

https://www.toshiba-teli.co.jp/en/

Appendix
UserSetSave and UserSetQuickSave difference
If you want to change multiple Camera Settings (e.g. ROI setting) at once, UserSet feature is useful.
Application needs to save the camera settings in UserSet memory in advance or in initialization stage.
By UserSetSave, UserSet is stored to non-volatile flash memory.
It takes about 700ms to execute UserSetSave because Non-volatile flash memory needs to be erased before
writing. If you want to switch over multiple different settings in run time, overhead time of UserSetSave isinevitable.

Camera

700ms

Exposure

UserSet #1

USB BusUserSetLoad #3

Apply
#2

UserSet have to be loded after
Completion of Image Reception

Apply
#3

UserSet #2

Frame #1

Software Trigger

UserSetLoad #2

Apply
#1

Software Trigger

UserSetLoad #1

Software Trigger

UserSetSave #3

Camera Setting

UserSetSave #2

Camera Setting

UserSetSave #1

Application

Camera Setting

Overhead

UserSet #3

Frame #2

Frame #3

Tact Time

Overhead- ImageSize- ExposureTime- Gain
- ...

Save

FPGA

UserSet1
UserSet1
UserSetSerial Flash171 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

By UserSetQuickSave, UserSet is stored to internal RAM. It takes less than 100us in execution.
It can reduce the overhead time of UserSetSave greatly.
You can also save UserSets to Serial Flash if necessary by UserSetSave.

- ImageSize- ExposureTime- Gain
- ...

FPGA

Quick
Save

Save to Serial Flash
if necessary.
UserSet1
UserSet1
UserSetInternal RAM

172 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Save

UserSet1
UserSet1
UserSetSerial FlashDAA00195C

https://www.toshiba-teli.co.jp/en/

MultiFrame and Bulk function differenceThis section describes the difference between MultiFrame function of AcquisitionMode and Bulk function of
TriggerSequence.
- MultiFrame function sets limits to the number of frames to transfer with AcquisitionFrameCount register.
- Bulk function sets limits to the number of frames to exposure with TriggerAdditionalParameter register.

- MultiFrame function in Normal Shutter mode (TriggerMode = Off)
Camera transfers “AcquisitionFrameCount” frame(s).
AcquisitionMode = MultiFrame
AcquisitionFrameCount = 3
TriggerMode = Off
Start

Stop

Start

Acquisition
Command

VD
AcquisitionFrameRate
Counter is reset.

Exposure
Frame 1

Frame 2

Frame 3

Frame 4

*Exposure overlaps sensor readout.

This exposure isdiscarded.

Frame 1

Streamstops

USB Streaming
Frame 1

Frame 2

Frame 3

Frame 1

AcquisitionFrameCount173 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

- MultiFrame function in Random Trigger Shutter mode (TriggerMode = On, TriggerSequence = 0 or 1)
Camera transfers “AcquisitionFrameCount” frame(s). It requires “AcquisitionFrameCount” time(s) of trigger.
AcquisitionMode = MultiFrame
AcquisitionFrameCount = 3
TriggerMode = On
TriggerSequence = 0 or 1
Start

Stop

Start

Acquisition
Command
The trigger can be input in arbitrary timing.

TriggerCounter is reset.

Exposure
Frame 1

Frame 2

Frame 3

*Exposure overlaps sensor readout.

Frame 4

*Exposure time is determined by ExposureTime setting in TriggerSequence0.
*Exposure time is determined by the pulse width of the trigger signal in TriggerSequence 1.

This exposure isdiscarded.

Frame 1

Streamstops

USB Streaming
Frame 1

Frame 2

Frame 3

Frame 1

AcquisitionFrameCount- Bulk function (TriggerMode = On, TriggerSequence = 6)
Camera transfers “TriggerAdditionalParameter” frame(s) by a single trigger.
AcquisitionMode = Continuous
TriggerMode = On
TriggerSequence = 6
TriggerAdditionalParameter = 3
Start

Stop

Start

Acquisition
Command
The trigger can be input in arbitrary timing.

Trigger

VD
AcquisitionFrameRate

Counter is reset.

Exposure
Frame 1

Frame 2

Frame 3

Frame 1

TriggerAdditionalParameter*Exposure overlaps sensor readout.
*Exposure time is determined by ExposureTime setting.
Streamstops

USB Streaming
Frame 1

Frame 2174 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

Frame 3

Frame 1

DAA00195C

https://www.toshiba-teli.co.jp/en/

● NoteIn Bulk function, you may want to set “Continuous” to “AcquisitionMode” register.
You can set “MultiFrame”, but acquisition frame number is limited by “AcquisitionFrameCount.
AcquisitionMode = MultiFrame
AcquisitionFrameCount = 2
TriggerMode = On
TriggerSequence = 6
TriggerAdditionalParameter = 3
Start

Stop

Start

Acquisition
Command
The trigger can be input in arbitrary timing.

Trigger

VD
AcquisitionFrameRate
Counter is reset.

Exposure
Frame 1

Frame 2

Frame 3

TriggerAdditionalParameter

This exposure isdiscarded.

Frame 1

*Exposure overlaps sensor readout.
*Exposure time is determined by ExposureTime setting.
Streamstops

USB Streaming
Frame 1

Frame 2

Frame 1

AcquisitionFrameCount

175 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Warranty rules● Warranty term
Warranty term is 36 months after your purchase. We may assume the date of the purchase from ourshipping date when the date is unidentified.

● Limited Warranty
Free warranty is not applicable for the troubles, damages or losses caused by the cases of the followings,
even if it is during the warranty term.
1. Natural exhaust, wear or degradation of a component parts
2. Handling against the instructions and conditions described in the instruction manual
3. Remodeling, adjustment and the part exchange. (including the opening of the enclosure box and thealteration)
4. Using the accessories not included with the product or our non-designated optional articles
5. Damages caused during the transportation or deficiency of the handling such as drop or fall of the
products after the products having been transferred to customers, leaving the products to corrosive
environment such as sunlight, fire, sand, soil, heat, moisture, or an inappropriate storing method
6. A fire, an earthquake, a flood, a lightning, or other natural disasters, pollution and a short circuit,abnormal voltage, excessive physical pressure, theft, other accident
7. When connected to a product which is not recommended
8. When connected to the power supply which is not suitable
9. Forgery product, products which does not have proper serial number, products of which serial number
is forged, damaged or deleted
10. All defects that happened after the expiration for a warranty term

176 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/

Repair● Repair methods
Exchange to a replacement or an equal function product.

● Repair request methods
On the occasion of a repair request, please download the "Failure situation report sheet" from our website,
fill in the necessary items and return it together with the defective product.
Repair Request Methods
https://www.toshiba-teli.co.jp/en/support/contact/failure_situation.htm
1. Please read the following instructions carefully.Please return our product alone, taking out of yourequipment in case that our product is installed to an equipment
2. We are unable to return the information such as your own serial numbers, control number, theidentification seal, if it is attached to the returned products. Please keep record before you return the
product.
3. As the data saved in the camera will not be kept after the repair, please take out data before return.
4. We are unable to accept the cancellation after the repair request by the customer's reason.
5. About the repair product shipping expenses, please bear the charges when you return the product tous. We bear the charges to you from us only for a warranty period.
6. We are unable to accept your request of a delivery date and time of the product return, or the delivery
method.
7. We are unable to accept a trouble factor investigation, the request of the repair report.
8. We accept a repair of out of warranty product, if it is reparable.
9. The proprietary rights of the repair request products after the exchange repair belong to us.
10. The immunity from responsibility of the product is applied in the repair completion products.
* Please refer for the inquiry about the software to our homepage or sales personnel.

177 / 177

Copyright © 2018 - 2020 Toshiba Teli Corporation, All rights reserved.

DAA00195C

https://www.toshiba-teli.co.jp/en/