|
cds
2.3.1
|
Map based on Ellen's et al binary search tree. More...
#include <cds/container/impl/ellen_bintree_map.h>
Public Types | |
| typedef GC | gc |
| Garbage collector. | |
| typedef Key | key_type |
| type of a key stored in the map | |
| typedef T | mapped_type |
| type of value stored in the map | |
| typedef std::pair< key_type const, mapped_type > | value_type |
| Key-value pair stored in leaf node of the mp. | |
| typedef Traits | traits |
| Map traits. | |
| typedef implementation_defined | key_comparator |
key compare functor based on Traits::compare and Traits::less | |
| typedef base_class::item_counter | item_counter |
| Item counting policy. | |
| typedef base_class::memory_model | memory_model |
Memory ordering, see cds::opt::memory_model . | |
| typedef base_class::node_allocator | node_allocator_type |
| allocator for maintaining internal node | |
| typedef base_class::stat | stat |
| internal statistics type | |
| typedef traits::copy_policy | copy_policy |
| key copy policy | |
| typedef traits::back_off | back_off |
| Back-off strategy. | |
| typedef traits::allocator | allocator_type |
| Allocator for leaf nodes. | |
| typedef base_class::node_allocator | node_allocator |
| Internal node allocator. | |
| typedef base_class::update_desc_allocator | update_desc_allocator |
| Update descriptor allocator. | |
| typedef gc::template guarded_ptr< leaf_node, value_type, details::guarded_ptr_cast_set< leaf_node, value_type > > | guarded_ptr |
| Guarded pointer. | |
| Public Types inherited from cds::intrusive::EllenBinTree< GC, Key, T, Traits > | |
| typedef GC | gc |
| Garbage collector. | |
| typedef Key | key_type |
type of a key to be stored in internal nodes; key is a part of value_type | |
| typedef T | value_type |
| type of value stored in the binary tree | |
| typedef Traits | traits |
| Traits template parameter. | |
| typedef traits::hook | hook |
| hook type | |
| typedef hook::node_type | node_type |
| node type | |
| typedef traits::disposer | disposer |
| leaf node disposer | |
| typedef traits::back_off | back_off |
| back-off strategy | |
| typedef gc::template guarded_ptr< value_type > | guarded_ptr |
| Guarded pointer. | |
| typedef implementation_defined | key_comparator |
key compare functor based on Traits::compare and Traits::less | |
| typedef get_node_traits< value_type, node_type, hook >::type | node_traits |
| Node traits. | |
| typedef traits::item_counter | item_counter |
| Item counting policy. | |
| typedef traits::memory_model | memory_model |
Memory ordering, see cds::opt::memory_model . | |
| typedef traits::stat | stat |
| internal statistics type | |
| typedef traits::key_extractor | key_extractor |
| key extracting functor | |
| typedef traits::node_allocator | node_allocator |
| Allocator for internal node. | |
| typedef traits::update_desc_allocator | update_desc_allocator |
| Update descriptor allocator. | |
Public Member Functions | |
| EllenBinTreeMap () | |
| Default constructor. | |
| ~EllenBinTreeMap () | |
| Clears the map. | |
| template<typename K > | |
| bool | insert (K const &key) |
| Inserts new node with key and default value. More... | |
| template<typename K , typename V > | |
| bool | insert (K const &key, V const &val) |
| Inserts new node. More... | |
| template<typename K , typename Func > | |
| bool | insert_with (const K &key, Func func) |
| Inserts new node and initialize it by a functor. More... | |
| template<typename K , typename... Args> | |
| bool | emplace (K &&key, Args &&... args) |
For key key inserts data of type value_type created in-place from args . More... | |
| template<typename K , typename Func > | |
| std::pair< bool, bool > | update (K const &key, Func func, bool bAllowInsert=true) |
| Updates the node. More... | |
| template<typename K > | |
| bool | erase (K const &key) |
Delete key from the map. More... | |
| template<typename K , typename Less > | |
| bool | erase_with (K const &key, Less pred) |
Deletes the item from the map using pred predicate for searching. More... | |
| template<typename K , typename Func > | |
| bool | erase (K const &key, Func f) |
Delete key from the map. More... | |
| template<typename K , typename Less , typename Func > | |
| bool | erase_with (K const &key, Less pred, Func f) |
Deletes the item from the map using pred predicate for searching. More... | |
| guarded_ptr | extract_min () |
| Extracts an item with minimal key from the map. More... | |
| guarded_ptr | extract_max () |
| Extracts an item with maximal key from the map. More... | |
| template<typename Q > | |
| guarded_ptr | extract (Q const &key) |
| Extracts an item from the tree. More... | |
| template<typename Q , typename Less > | |
| guarded_ptr | extract_with (Q const &key, Less pred) |
Extracts an item from the map using pred for searching. More... | |
| template<typename K , typename Func > | |
| bool | find (K const &key, Func f) |
Find the key key . More... | |
| template<typename K , typename Less , typename Func > | |
| bool | find_with (K const &key, Less pred, Func f) |
Finds the key val using pred predicate for searching. More... | |
| template<typename K > | |
| bool | contains (K const &key) |
Checks whether the map contains key . More... | |
| template<typename K , typename Less > | |
| bool | contains (K const &key, Less pred) |
Checks whether the map contains key using pred predicate for searching. More... | |
| template<typename Q > | |
| guarded_ptr | get (Q const &key) |
Finds key and returns the item found. More... | |
| template<typename Q , typename Less > | |
| guarded_ptr | get_with (Q const &key, Less pred) |
Finds key with predicate pred and returns the item found. More... | |
| void | clear () |
| Clears the map (not atomic) | |
| bool | empty () const |
| Checks if the map is empty. More... | |
| size_t | size () const |
| Returns item count in the set. More... | |
| stat const & | statistics () const |
| Returns const reference to internal statistics. | |
| bool | check_consistency () const |
| Checks internal consistency (not atomic, not thread-safe) More... | |
| Public Member Functions inherited from cds::intrusive::EllenBinTree< GC, Key, T, Traits > | |
| EllenBinTree () | |
| Default constructor. | |
| ~EllenBinTree () | |
| Clears the tree. | |
| bool | insert (value_type &val) |
| Inserts new node. More... | |
| template<typename Func > | |
| bool | insert (value_type &val, Func f) |
| Inserts new node. More... | |
| template<typename Func > | |
| std::pair< bool, bool > | update (value_type &val, Func func, bool bAllowInsert=true) |
| Updates the node. More... | |
| bool | unlink (value_type &val) |
Unlinks the item val from the tree. More... | |
| template<typename Q > | |
| bool | erase (const Q &key) |
| Deletes the item from the tree. More... | |
| template<typename Q , typename Less > | |
| bool | erase_with (const Q &key, Less pred) |
Delete the item from the tree with comparing functor pred . More... | |
| template<typename Q , typename Func > | |
| bool | erase (Q const &key, Func f) |
| Deletes the item from the tree. More... | |
| template<typename Q , typename Less , typename Func > | |
| bool | erase_with (Q const &key, Less pred, Func f) |
Delete the item from the tree with comparing functor pred . More... | |
| guarded_ptr | extract_min () |
| Extracts an item with minimal key from the tree. More... | |
| guarded_ptr | extract_max () |
| Extracts an item with maximal key from the tree. More... | |
| template<typename Q > | |
| guarded_ptr | extract (Q const &key) |
| Extracts an item from the tree. More... | |
| template<typename Q , typename Less > | |
| guarded_ptr | extract_with (Q const &key, Less pred) |
Extracts an item from the tree using pred for searching. More... | |
| template<typename Q > | |
| bool | contains (Q const &key) const |
Checks whether the set contains key . More... | |
| template<typename Q , typename Less > | |
| bool | contains (Q const &key, Less pred) const |
Checks whether the set contains key using pred predicate for searching. More... | |
| template<typename Q , typename Func > | |
| bool | find (Q &key, Func f) const |
Finds the key key . More... | |
| template<typename Q , typename Less , typename Func > | |
| bool | find_with (Q &key, Less pred, Func f) const |
Finds the key key with comparing functor pred . More... | |
| template<typename Q > | |
| guarded_ptr | get (Q const &key) const |
Finds key and returns the item found. More... | |
| template<typename Q , typename Less > | |
| guarded_ptr | get_with (Q const &key, Less pred) const |
Finds key with predicate pred and returns the item found. More... | |
| bool | empty () const |
| Checks if the tree is empty. | |
| void | clear () |
| Clears the tree (thread safe, not atomic) More... | |
| void | unsafe_clear () |
| Clears the tree (not thread safe) More... | |
| size_t | size () const |
| Returns item count in the tree. More... | |
| stat const & | statistics () const |
| Returns const reference to internal statistics. | |
| bool | check_consistency () const |
| Checks internal consistency (not atomic, not thread-safe) More... | |
Additional Inherited Members | |
| Static Public Attributes inherited from cds::intrusive::EllenBinTree< GC, Key, T, Traits > | |
| static constexpr const size_t | c_nHazardPtrCount = 9 |
| Count of hazard pointer required for the algorithm. | |
| Protected Attributes inherited from cds::intrusive::EllenBinTree< GC, Key, T, Traits > | |
| item_counter | m_ItemCounter |
| item counter | |
| stat | m_Stat |
| internal statistics | |
Map based on Ellen's et al binary search tree.
EllenBinTreeMap is an unbalanced leaf-oriented binary search tree that implements the map abstract data type. Nodes maintains child pointers but not parent pointers. Every internal node has exactly two children, and all data of type std::pair<Key const, T>
currently in the tree are stored in the leaves. Internal nodes of the tree are used to direct find
operation along the path to the correct leaf. The keys (of Key
type) stored in internal nodes may or may not be in the map. Unlike EllenBinTreeSet keys are not a part of T
type. The map can be represented as a set containing std::pair< Key const, T>
values.
Due to extract_min
and extract_max
member functions the EllenBinTreeMap
can act as a priority queue. In this case you should provide unique compound key, for example, the priority value plus some uniformly distributed random value.
O(log N)
for uniformly distributed random keys, but in the worst case the complexity is O(N)
.Template arguments :
GC
- safe memory reclamation (i.e. light-weight garbage collector) type, like cds::gc::HP
, cds::gc::DHP
Key
- key type. Should be default-constructibleT
- value type to be stored in tree's leaf nodes.Traits
- map traits, default is ellen_bintree::traits
It is possible to declare option-based tree with ellen_bintree::make_map_traits
metafunction instead of Traits
template argument.<cds/container/impl/ellen_bintree_map.h>
header file directly. There are header file for each GC type:<cds/container/ellen_bintree_map_hp.h>
- for Hazard Pointer GC cds::gc::HP<cds/container/ellen_bintree_map_dhp.h>
- for Dynamic Hazard Pointer GC cds::gc::DHP<cds/container/ellen_bintree_map_rcu.h>
- for RCU GC (see RCU-based EllenBinTreeMap)
|
inline |
Checks internal consistency (not atomic, not thread-safe)
The debugging function to check internal consistency of the tree.
|
inline |
Checks whether the map contains key
.
The function searches the item with key equal to key
and returns true
if it is found, and false
otherwise.
|
inline |
Checks whether the map contains key
using pred
predicate for searching.
The function is similar to contains( key )
but pred
is used for key comparing. Less
functor has the interface like std::less
. Less
must imply the same element order as the comparator used for building the set.
|
inline |
For key key
inserts data of type value_type
created in-place from args
.
Returns true
if inserting successful, false
otherwise.
|
inline |
Checks if the map is empty.
Emptiness is checked by item counting: if item count is zero then the map is empty.
|
inline |
|
inline |
|
inline |
Deletes the item from the map using pred
predicate for searching.
The function is an analog of erase(K const&) but pred
is used for key comparing. Less
functor has the interface like std::less
. Less
must imply the same element order as the comparator used for building the map.
|
inline |
Deletes the item from the map using pred
predicate for searching.
The function is an analog of erase(K const&, Func) but pred
is used for key comparing. Less
functor has the interface like std::less
. Less
must imply the same element order as the comparator used for building the map.
|
inline |
Extracts an item from the tree.
The function searches an item with key equal to key
in the tree, unlinks it, and returns a guarded pointer to an item found. If the item is not found the function returns an empty guarded_ptr
.
The guarded pointer prevents deallocation of returned item, see cds::gc::guarded_ptr
for explanation.
guarded_ptr
object uses the GC's guard that can be limited resource.
|
inline |
Extracts an item with maximal key from the map.
If the map is not empty, the function returns a guarded pointer to maximal value. If the map is empty, the function returns an empty guarded_ptr
.
The guarded pointer prevents deallocation of returned item, see cds::gc::guarded_ptr
for explanation.
guarded_ptr
object uses the GC's guard that can be limited resource.
|
inline |
Extracts an item with minimal key from the map.
If the map is not empty, the function returns an guarded pointer to minimum value. If the map is empty, the function returns an empty guarded_ptr
.
The guarded pointer prevents deallocation of returned item, see cds::gc::guarded_ptr
for explanation.
guarded_ptr
object uses the GC's guard that can be limited resource.
|
inline |
Extracts an item from the map using pred
for searching.
The function is an analog of extract(Q const&) but pred
is used for key compare. Less
has the interface like std::less
. pred
must imply the same element order as the comparator used for building the map.
|
inline |
|
inline |
Finds the key val
using pred
predicate for searching.
The function is an analog of find(K const&, Func) but pred
is used for key comparing. Less
functor has the interface like std::less
. Less
must imply the same element order as the comparator used for building the map.
|
inline |
Finds key
and returns the item found.
The function searches the item with key equal to key
and returns the item found as a guarded pointer. If key
is not foudn the function returns an empty guarded_ptr
.
The guarded pointer prevents deallocation of returned item, see cds::gc::guarded_ptr
for explanation.
guarded_ptr
object uses the GC's guard that can be limited resource.
|
inline |
Finds key
with predicate pred
and returns the item found.
The function is an analog of get(Q const&) but pred
is used for key comparing. Less
functor has the interface like std::less
. pred
must imply the same element order as the comparator used for building the map.
|
inline |
Inserts new node with key and default value.
The function creates a node with key
and default value, and then inserts the node created into the map.
Preconditions:
K
. In trivial case, K
is equal to key_type.Returns true
if inserting successful, false
otherwise.
|
inline |
Inserts new node.
The function creates a node with copy of val
value and then inserts the node created into the map.
Preconditions:
key_type
should be constructible from key
of type K
.value_type
should be constructible from val
of type V
.Returns true
if val
is inserted into the map, false
otherwise.
|
inline |
Inserts new node and initialize it by a functor.
This function inserts new node with key key
and if inserting is successful then it calls func
functor with signature
The argument item
of user-defined functor func
is the reference to the map's item inserted:
item.first
is a const reference to item's key that cannot be changed.item.second
is a reference to item's value that may be changed.The key_type should be constructible from value of type K
.
The function allows to split creating of new item into two part:
key
;func
functorThis can be useful if complete initialization of object of value_type
is heavyweight and it is preferable that the initialization should be completed only if inserting is successful.
|
inline |
Returns item count in the set.
Only leaf nodes containing user data are counted.
The value returned depends on item counter type provided by Traits
template parameter. If it is atomicity::empty_item_counter
this function always returns 0.
The function is not suitable for checking the tree emptiness, use empty()
member function for this purpose.
|
inline |
Updates the node.
The operation performs inserting or changing data with lock-free manner.
If the item val
is not found in the map, then val
is inserted iff bAllowInsert
is true
. Otherwise, the functor func
is called with item found. The functor func
signature is:
with arguments:
bNew
- true
if the item has been inserted, false
otherwiseitem
- item of the mapThe functor may change any fields of the item.second
that is mapped_type; however, func
must guarantee that during changing no any other modifications could be made on this item by concurrent threads.
Returns std::pair<bool, bool> where first
is true
if operation is successful, i.e. the node has been inserted or updated, second
is true
if new item has been added or false
if the item with key
already exists.


--- layout: post title: Debt in Europe [Infographic] date: 2010-05-05 22:06:00.000000000 -05:00 comments: true categories: - Finance - Infographic - the economy published: true ---
The New York Times has a wonderful post that illustrates the web of debt weaved in Europe.
To read the full post, click here.


{% load static %}
Dashboard
Records
Accounts
User Accounts
Applicants
Students
Instructor
Admin
Skills Assessment
Appointments
Reports and CMS
Reports
Report Types
Enrolment Prediction
Skills Assessment Report
Settings
Settings
Course Details
Rooms
Driving Guidelines
Website Images
System Settings
3+
Notifications
December 12, 2019
A new monthly report is ready to download!
December 7, 2019
$290.29 has been deposited into your account!
December 2, 2019
Spending Alert: We've noticed unusually high spending for your account.
Show All Notifications
7
Messages
Hi there! I am wondering if you can help me with a problem I've been having.
Emily Fowler · 58m
I have the photos that you ordered last month, how would you like them sent to you?
Jae Chun · 1d
Last month's report looks great, I am very happy with the progress so far, keep up the good work!
Morgan Alvarez · 2d
Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...
Chicken the Dog · 2w
Read More Messages
{{ username }}
Profile
Activity Log
Logout
{% block body %} {% endblock %}
Ready to Leave?
×
Select "Logout" below if you are ready to end your current session.


The ‘Alien’ Yeezy Boost 380 is Now Live on StockX
by SLAM StaffThe “Alien” Yeezy Boost 380 is now available on StockX.
Originally the Yeezy Boost 350 V3, Ye’s newest silhouette in his Three Stripes line was given its own name. The sneaker, which features the same shape as the 350s, comes with a never-before-seen PrimeKnit pattern on the upper and doesn’t come with the popular lateral side strip. There’s also an upgraded Boost midsole and an engineered outsole grip that adds the finishing touches on the sneaker.
The Price Premium (over original retail price) is at 239.1% and has an average sale price of $722. Hit StockX to grab your pair.


Warning - merging is quite drastic. All references to this enzyme type in Reaction, Sequences and Activity data will be overwritten with the the merged type, and this entry will be deleted.


→ If you encounter a token that is not responsing, move to the toybox and then back to the toypad ← Create characters and vehicles with boxes at the top then drag them to the toy pad.
Drag an entry to move it to the pad


The Dog!!!
I'm the war doooooog! Fuck-off!
Some of my favorite places
The battlefield
The dog park
The fire hydrant
Make sure to follow me on
Instagram


Image Acquisition Interface for BitFlow Boards
|
Interface:
|
BitFlow
|
|
Revision:
|
13.0.3
|
|
Date:
|
2018-10-23
|
General
This page provides the documentation of the HALCON BitFlow interface for the
BitFlow frame grabber boards Alta-AN, Karbon-CL,
Karbon-CXP, Cyton-CXP, Neon-CL, RoadRunner, RoadRunner-CL, R3, and R3-CL.
Please note, that the RoadRunner-CL, R3, R3-CL boards are only supported
by Windows 32-Bit. Although Raven, R64, and R64e-CL boards are still
supported by this interface they are no more actively tested as they are out
of production.
Registered customers can download the
latest revision of this interface from the
MVTec WWW server.
System Requirements
- Intel compatible PC with Windows 7 (32-bit or 64-bit)
or newer that is also supported by the vendor-specific SDK.
- Successfully installed BitFlow driver
BitFlow.sys (BitFlow SDK version 6.30).
If you do not have this driver version, please contact BitFlow
or the vendor from which you bought the frame grabber board.
- BitFlow DLLs R2D.dll, Gn2.dll,
CiD.dll, and BFD.dll.
These DLLs must be in your search path %PATH%. If you do not have these
DLLs, please contact BitFlow or the vendor from which you bought the
frame grabber board.
- HALCON image acquisition interface hAcqBitFlow.dll or
hAcqBitFlowxl.dll, respectively.
If you have properly installed the interface, both DLLs should reside
in bin\%HALCONARCH% within the HALCON base directory
%HALCONROOT% you have chosen during the installation of HALCON.
Installation
Only when installing or updating the interface manually follow these steps:
- Windows: Extract the archive containing the interface files to the
HALCON base directory %HALCONROOT% (Note: Administrator privileges may be
required for this step). Additionally, you have to move the interface
examples to the directory %HALCONEXAMPLES% manually.
Features
- Multiple frame grabber boards.
- Multiple compatible cameras per board (port switching).
- Synchronous and asynchronous grabbing.
- External trigger (with software override of the camera configuration
file).
- Up to 1000 frame buffers (e.g., for volatile and/or continuous grabbing).
- Completely asynchronous grabbing of up to 40 images (with or without
external triggering; see parameter 'continuous_grabbing' and the
corresponding section below).
- Support of multiple analog and digital cameras based on the BitFlow
camera configuration files.
- (Partial) software control of the number of bits per pixel
(with software override of the camera configuration file).
- Support of the digital output lines.
- Support of line scan cameras.
- Writing and reading of LUTs.
- Dynamically changing the frame size of the grabbed image.
- Support of start/stop trigger mode (for line scan cameras connected to
RoadRunner or RoadRunner CL boards).
- Serial communication with Camera Link cameras.
- Support of user-specific callback function.
Limitations
- Only one image acquisition instance per frame grabber board (however, multiple compatible cameras can be accessed using port switching).
- No subsampling or cropping of image parts through the HALCON interface.
This feature is supported through the use of camera files.
| Parameter |
Value List |
Type |
Kind |
Description |
| 'bits_per_channel' |
[8, 10, 12] |
integer |
pre-defined |
Values for bits per channel. |
| 'camera_type' |
['CAMFILE:', 'cam;r64;rcl;rvc;anlg;bfml;kcxp', '<camera_path>', 'default'] |
string |
pre-defined |
Syntax for camera configuration file and default value. |
| 'color_space' |
['gray', 'rgb'] |
string |
pre-defined |
Values for color space. |
| 'defaults' |
[1, 1, 0, 0, 0, 0, 'progressive', -1, 'gray', -1.0, 'false', 'default', 'default', 0, 1]
|
mixed |
pre-defined |
Default values for open_framegrabber. |
| 'device' |
['RoadRunner:0', 'RoadRunner:1', 'RoadRunner:2', 'RoadRunner:3', 'Gn2:0', 'Gn2:1', 'Gn2:2', 'Gn2:3',
'default']
|
string |
dynamic |
Pre-defined list of possible device IDs. |
| 'external_trigger' |
['false', 'true'] |
string |
pre-defined |
Values for the external trigger. |
| 'field' |
[] |
|
|
Unused. |
| 'general' |
[] |
string |
pre-defined |
Information about the HALCON BitFlow interface. |
| 'generic' |
[] |
|
|
Unsupported query. |
| 'horizontal_resolution' |
1 |
integer |
pre-defined |
Value list for horizontal resolution. |
| 'image_height' |
[] |
|
|
Unsupported query. |
| 'image_width' |
[] |
|
|
Unsupported query. |
| 'info_boards' |
['device:<device_id>'] |
string |
dynamic |
Returns a list of installed BitFlow boards. |
| 'parameters' |
['<parameters>'] |
string |
pre-defined |
Pre-defined parameters of the HALCON interface. |
| 'parameters_readonly' |
['<parameters>'] |
string |
pre-defined |
Pre-defined read-only parameters of the HALCON interface. |
| 'parameters_writeonly' |
['<parameters>'] |
string |
pre-defined |
Pre-defined write-only parameters of the HALCON interface. |
| 'port' |
[0, 1, 2, 3] |
integer |
pre-defined |
Pre-defined list of possible port numbers. |
| 'revision' |
'<revision>' |
string |
pre-defined |
Revision number of the BitFlow interface. |
| 'start_column' |
[] |
|
|
Unsupported query. |
| 'start_row' |
[] |
|
|
Unsupported query. |
| 'vertical_resolution' |
1 |
integer |
pre-defined |
Value list for vertical resolution. |
| Parameter |
Values |
Default |
Type |
Description |
| Name |
'BitFlow' |
|
string |
Name of the HALCON interface. |
| HorizontalResolution |
1, <width> |
1 |
integer |
Desired image resolution. Use '1' for full resolution or the corresponding absolute value (depending on your camera).
|
| VerticalResolution |
1, <height> |
1 |
integer |
Desired image resolution. Use '1' for full resolution or the corresponding absolute value (depending on your camera).
|
| ImageWidth |
0 |
0 |
integer |
Width of the desired image part ('0' stands for the complete image).
|
| ImageHeight |
0 |
0 |
integer |
Height of the desired image part ('0' stands for the complete image).
|
| StartRow |
0 |
0 |
integer |
Row coordinate of the upper left pixel within the desired image part.
|
| StartColumn |
0 |
0 |
integer |
Column coordinate of the upper left pixel within the desired image part.
|
| Field |
--- |
|
|
Ignored. |
| BitsPerChannel |
-1, 8, 10, 12 |
-1 |
integer |
Number of bits per channel. By specifying the default '-1' the corresponding setting of the camera configuration file is used.
|
| ColorSpace |
'gray', 'rgb' |
'gray' |
string |
Desired color space of the HALCON image. If BitsPerChannel is set to -1, the value is ignored and overwritten by the settings of the camera
configuration file.
|
| Generic |
--- |
|
|
Ignored. |
| ExternalTrigger |
'false', 'true' |
'false' |
string |
Status of the external trigger. |
| CameraType |
'<file>', 'default' |
'default' |
string |
This parameter is used to specify the camera configuration file (e.g., 'BfSynth256E1.cam' (RoadRunner) or 'Generic-Synthetic-1024x1024-1T.r64' (Neon)
for a synthetic test image). If you specify 'default' the first camera
you have set with SysReg is used.
For Gen2 boards you can also provide a mode when passing the configuration file
using<EMAIL_ADDRESS>where 'mode' is one of the modes from the BFML file.
If a mode is not provided with the configuration file then the default mode
will be used.
|
| Device |
'<BoardType>:<nr>', 'default' |
'default' |
string |
Type ('Gen2' or 'RoadRunner') and number ('0', '1', '2' ...) of the frame grabber board (passed as one string!), e.g.,
'RoadRunner:1' or 'Gn2:0'.
Note that R3 boards are treated in the way as RoadRunner boards
and that Alta, Karbon and Neon boards are treated in the way
as the legacy R64 boards. If you specify 'default' the interface
automatically selects the first board.
|
| Port |
<port> |
0 |
integer |
The number attached to the desired camera via the BitFlow configuration program SysReg (starting with 0 for the first camera). Only
evaluated in case the CameraType parameter has been set to 'default'.
|
| LineIn |
--- |
|
|
Ignored. |
| Parameter |
Values |
Default |
Type |
Description |
| 'cc:X' |
<command> |
|
integer |
Low CPU usage write to the CCx_CON register |
| 'continuous_grab_timeout' |
<milliseconds> |
5000 |
integer |
Specifies the desired timeout (milliseconds) for aborting an acquisition when in continuous grabbing mode. This timeout is used only by
the internal grabbing thread, it must see an image within this amount
of time. If not, it will abort acquisition. This timeout is not used
by the grab_image() functions. If -1 is specified, the timeout is set to
INFINITE.
|
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
Activates or deactivates 'continuous grabbing'. For details, please see the corresponding section below.
|
| 'ctab_fill' |
['index <index>: num_entries <num>: mask <mask>: value <value>'] |
|
string |
Ctab_fill parameter writes a masked CTAB fill value to the Camera Control Table. The following parameters must be specified:
- index - A decimal number indicating the offset into the CTAB table.
- num_entries - A decimal number, of the number of CTAB values to write.
- mask - The CTAB extraction mask value which can be one of the following:
- 0xFFFF - R64CTab
- 0x00FF - R64HCTab
- 0xFF00 - R64VCTab
- 0x0001 - R64HCTabHStart
- 0x0002 - R64HCTabHReset
- 0x0004 - R64HCtabENHLoad
- 0x0008 - R64HCTabReserved
- 0x0010 - R64HCTabGPH0
- 0x0020 - R64HCTabGPH1
- 0x0040 - R64HCTabGPH2
- 0x0080 - R64HCTabGPH3
- 0x0100 - R64VCTabVStart
- 0x0200 - R64VCTabVReset
- 0x0400 - R64VCtabENVLoad
- 0x0800 - R64VCtabIRQ
- 0x1000 - R64VCTabGPV0
- 0x2000 - R64VCTabGPV1
- 0x4000 - R64VCTabGPV2
- 0x8000 - R64VCTabGPV3
- value - A hex value to fill the CTAB table with.
Note that this parameter is a write-only parameter!
Example: set_framegrabber_param(..., 'ctab_fill',
'index 0:num_entries 256:mask 0xffff:value 0x0000')
|
| 'dma_direction' |
'bottom-up', 'top-down' |
'top-down' |
string |
Read-out direction of the image. |
| 'do_abort_grab' |
--- |
|
|
Aborts the current image acquisition. |
| 'do_comm_close' |
--- |
|
|
Closes the comm port. |
| 'do_comm_flush' |
--- |
|
|
Discards any bytes that are available in the input buffer of the comm port. |
| 'do_comm_open' |
--- |
|
|
Opens and initializes the comm port for use on the board. The comm port will always be opened with 9600 baud, 8 data bits, no parity, and 1 stop bit. The
default timeout is 1 second.
|
| 'do_comm_param' |
'<string>' |
|
string |
Parameters for serial communication, separated by colons. The following parameters can be specified:
- timeout: timeout in milliseconds.
- baud_rate: baud rate. Valid baud rates are 9600, 19200, 38400,
57600, 115200, 230400.
- parity: parity to be used. N=No parity, E=Even parity,
O=Odd parity.
- data_bits: size of the data. 5="5" bit data, 6 = 6 bit data,
7 = 7 bit data, 8 = 8 bit data.
- stop_bits: number of stop bits. 1 = 1 stop bit, 15 = 1.5 stop bits,
2 = 2 stop bits
Example:
set_framegrabber_param(..., 'comm_param', 'baud_rate 9600:data_bits
8:parity N')
|
| 'do_comm_write' |
<message> |
|
mixed |
Writes message to comm port. Note that message can either be a string value or a tuple of integers. The latter case also allows the writing of NULL
characters. Examples: set_framegrabber_param(..., 'do_comm_write',
'TR="2"\r\n'), set_framegrabber_param(..., 'do_comm_write',
[0, 127, 128])
|
| 'do_flush_buffers' |
--- |
|
|
Discards all image buffers in the output buffer queue in continuous grabbing mode.
|
| 'do_force_trigger' |
--- |
|
|
Generate a software trigger signal for the camera. |
| 'encoder_scan_step' |
0 ... 1023 |
|
integer |
Encoder divider value. |
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
Desired timeout (milliseconds) for aborting a pending grab. If -1 is specified, the timeout is set to INFINITE.
|
| 'hardware_exception_thread' |
'disable', 'enable' |
'disable' |
string |
Start/stop hardware exception thread to reset acquisition in continuous grabbing mode when there is a hardware exception.
|
| 'image_height' |
<height> |
|
integer |
Dynamically change the current image height of the grabbed image. This feature is limited to use with only free run camera files (see also the
comments to CiAqFrameSize in the BitFlow SDK Reference).
|
| 'image_width' |
<width> |
|
integer |
Dynamically change the current image width of the grabbed image. This value has to be a multiple of 4 and is limited to use with only free run camera
files (see also the comments to CiAqFrameSize in the BitFlow SDK Reference).
|
| 'lut' |
'disable', 'enable' |
'disable' |
string |
State of the lookup table. |
| 'out:X' |
'high', 'low' |
|
string |
State of one of the digital output lines (with X = 0, 1, or 2 for RoadRunner/R3-DIF family; RoadRunner/R3 CL family).
The default depends on the board settings.
|
| 'overflow_thread' |
'disable', 'enable' |
'disable' |
string |
Start/stop overflow thread to reset acquisition in continuous grabbing mode when there is an overflow exception.
|
| 'overwrite_method' |
'abort', 'ignore' |
'abort' |
string |
Specify how the interface should handle situations where the external trigger is received faster than the images are read by the application in
continuous grabbing mode (see also the corresponding section below).
|
| 'port' |
<port> |
|
integer |
Switch to the camera with the specified number (attached via the BitFlow configuration program SysReg - starting with 0 for the first camera).
Using this port switching you can access multiple cameras with one frame
grabber board (see below).
|
| 'read_buf_size' |
0...32768 |
0 |
integer |
Number of bytes to read from the read buffer of an open comm port. This will most likely be set before each read, unless the message from the
camera is always the same size.
|
| 'register_index_poke:xx' |
<value> |
|
integer |
Writes the given value of to register or bitfield index. The index is obtained by calling register_index_get. This function
uses very little CPU and can be used during CPU intensive operations
|
| 'register_poke:xx' |
<value> |
|
integer |
Writes the given value to a register or bitfield. The bitfield names and the purpose are described in the hardware reference manual
for the frame grabber being used. Note that this function is somewhat
CPU intensive and should not be used during intensive processing.
|
| 'resnap' |
'false', 'true' |
'false' |
string |
Specifies whether to reset the DMA engine and to try a second snap in case of an overflow. Note that in continuous grabbing mode you can use the parameter
'overflow_thread' to reset acquisition when there is an overflow exception.
|
| 'ring_buffer_stop_margin' |
|
1 |
integer |
This parameter controls the 'protection zone' used to look ahead when a buffer is about to be overwritten. When 'continuous_grabbing'
is enable, the frame grabber acquires automatically into a circular set
of buffers. There is a thread that watches acquisition and makes sure that
buffers which have not yet been processed by the user's program are not
overwritten by new images. If a buffers is about to be overwritten, acquisition
is aborted. If the frame rate is high and/or the CPU is very busy, the thread
might not get serviced in time to protect unprocessed buffers. By increasing the
size, the overwrite protection can still be maintained under these conditions.
This parameters only is used with 'continuous_grabbing' is enabled.
|
| 'serial_baudrate' |
<baud> |
9600 |
integer |
Baud rate for serial communication. |
| 'serial_message' |
'<string>' |
|
string |
Sends the string via the serial interface, see also 'do_comm_write'. |
| 'serial_message_buf_size' |
1 ... 32767 |
1024 |
integer |
Maximum buffer size for receive strings via 'serial_message'. |
| 'serial_terminate_code' |
0...255 |
LF(0x0A) |
integer |
Termination character of the receive string. If you call get_framegrabber_param with the parameter 'serial_message', the receive
process is finished by receiving this character.
|
| 'serial_timeout' |
<milliseconds> |
1000 |
integer |
Timeout for serial communication (in milliseconds). |
| 'serial_write_delay' |
<milliseconds> |
0 |
integer |
Timeout in milliseconds for serial write operations. |
| 'software_trigger' |
'disable', 'enable' |
'disable' |
string |
Enables or disables the software trigger mode (shot grabbing). Note that the software trigger mode can only be used with a one shot camera file.
|
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
By default a new asynchronous grab command is automatically given to the acquisition device at the end of grab_image_async. If the parameter
'start_async_after_grab_async' is set to 'disable', this new grab command
is omitted.
|
| 'start_column' |
0 ... <max> |
|
integer |
Column coordinate of the upper left pixel within the desired image part.
|
| 'start_row' |
0 ... <max> |
|
integer |
Row coordinate of the upper left pixel within the desired image part.
|
| 'trigger_timeout' |
<milliseconds> |
60000 |
integer |
Timeout (milliseconds passed as an integer) for aborting a pending grab when waiting for an external trigger.
|
| 'volatile' |
'disable', 'enable' |
'disable' |
string |
Grayscale only. In the volatile mode the two image acquisition interface buffers are used directly to store HALCON images. This is the
fastest mode avoiding to copy raw images in memory. However, be aware that
older images are overwritten again and again as a side-effect. Thus, you
can only process one image while you grab another image. Older images are
invalid!
|
| 'wait_frame_exposure_timeout' |
<milliseconds> |
1000 |
integer |
Sets the timeout [ms] used by 'wait_frame_exposure'. |
There may exist additional read-only parameters with the following postfixes:
- '_description': These parameters provide the tool-tip of the
corresponding parameter as a string.
- '_range': These parameters provide the minimum, maximum,
step width, and default values for the corresponding integer or float
parameter as a tuple with 4 elements, e.g.,
get_framegrabber_param(.., 'Shutter_range', ..) will return
the output tuple [min, max, step, default].
- '_values': These parameters provide the valid value list for
the corresponding parameter as a tuple, e.g.,
get_framegrabber_param(.., 'volatile_values', ..) will return
the output tuple ['enable', 'disable'].
All these postfixed parameter names are not returned when calling
info_framegrabber(.., 'parameters', ..) and are used
to enable the easy parameterization via a generic graphical user
interface, particularly the HDevelop Image Acquisition Assistant.
| Parameter |
Values |
Default |
Type |
Kind |
Description |
| 'available_callback_types' |
['<callback_type>'] |
|
string |
dynamic |
Query all callback types which are supported by this interface. |
| 'bits_per_channel' |
-1, 8, 10, 12 |
-1 |
integer |
pre-defined |
Number of bits per channel of the resulting HALCON image. In case of -1 the current bit depth of the camera is used. By specifying a value greater than 8 the
grabbed images are delivered as uint2 images.
|
| 'camera_connected' |
'false', 'true' |
|
string |
pre-defined |
Query the presence of the connected camera. |
| 'camera_type' |
'<default>' |
'default' |
string |
pre-defined |
Name of the camera configuration file. |
| 'color_space' |
'<color_space>' |
'gray' |
string |
pre-defined |
Desired color space and thus the number of image channels of the resulting HALCON image.
|
| 'comm_read_int' |
[<int1>, ..., <intN>] |
|
integer |
dynamic |
Returns the N number of bytes set by read_buf_size from an open comm port. This command will return when the read_buf_size of bytes are available or
when the serial timeout period has passed. Upon success, read_buf_size
number of bytes will be returned as a tuple of N integer values. In an
error case, no data is returned. Note that this parameter allows also the
reading of NULL characters.
|
| 'comm_read_str' |
<camera_response> |
|
integer |
dynamic |
Returns the number of bytes set by read_buf_size from an open comm port. This command will return when the read_buf_size of bytes are available or when
the serial timeout period has passed. Upon success, read_buf_size number of
bytes will be returned as a string. In an error case, no data is returned.
|
| 'continuous_grab_timeout' |
<milliseconds> |
5000 |
integer |
pre-defined |
Returns the current continuous grabbing timeout value in milliseconds. |
| 'continuous_grabbing' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Activates or deactivates 'continuous grabbing'. For details, please see the corresponding section below.
|
| 'device' |
'<device_id>' |
'default' |
string |
dynamic |
Current device ID. |
| 'dma_direction' |
'bottom-up', 'top-down' |
'top-down' |
string |
pre-defined |
Read-out direction of the image. |
| 'encoder_scan_step' |
0 ... 1023 |
|
integer |
dynamic |
Encoder divider value. |
| 'external_trigger' |
'false', 'true' |
'false' |
string |
pre-defined |
Status of the external trigger. |
| 'field' |
'<default>' |
'progressive' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'firmware_directory' |
<value> |
|
string |
dynamic |
Returns the path of the default firmware directory. |
| 'firmware_file_name' |
<value> |
|
string |
dynamic |
Returns the file name of the used firmware. |
| 'generic' |
<default> |
-1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
pre-defined |
Current grab timeout in milliseconds. |
| 'hardware_exception_count' |
<num> |
|
integer |
dynamic |
Returns the number of hardware exceptions that have occurred. |
| 'hardware_exception_thread' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Start/stop hardware exception thread to reset acquisition in continuous grabbing mode when there is a hardware exception.
|
| 'horizontal_resolution' |
<resolution> |
1 |
integer |
pre-defined |
Current value of horizontal resolution. |
| 'image_height' |
<height> |
0 |
integer |
pre-defined |
Height of the desired image part ('0' stands for the complete image).
|
| 'image_width' |
<width> |
0 |
integer |
pre-defined |
Width of the desired image part ('0' stands for the complete image).
|
| 'in:X' |
'high', 'low' |
|
string |
pre-defined |
Returns the desired state of one of the digital input lines (with X = 0 for a RoadRunner, X = 1 or 2 for a RoadRunner CL).
|
| 'line_in' |
<default> |
1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'lut' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
State of the lookup table. |
| 'name' |
'BitFlow' |
|
string |
pre-defined |
Name of the HALCON interface. |
| 'next_buffer_acquired' |
<buffer> |
|
integer |
dyanmic |
Returns the index of the next acquired buffer in continuous grabbing mode. The buffer number is between 0 and the number of allocated buffers.
|
| 'next_buffer_acquired_abs' |
<num> |
|
integer |
dynamic |
Returns the buffer index that is being returned by the next call of grab_image or grab_image_async in continuous
grabbing mode. The incrementation is done continuously. The returned
buffer number will be between 0 and 2^32.
|
| 'next_buffer_returned' |
<buffer> |
|
integer |
dynamic |
Returns the buffer index that is being returned by the next call of grab_image or grab_image_async in continuous grabbing mode. The buffer
number is between 0 and the number of allocated buffers.
|
| 'num_buffers' |
2 - 1000 |
2 |
integer |
pre-defined |
Number of buffers used for the image acquisition. |
| 'num_buffers_overwritten' |
<value> |
|
integer |
dynamic |
Returns the number of overwritten buffers. Only active, if the overwrite method is set.
|
| 'num_free_buffers' |
<num> |
|
integer |
dynamic |
Returns the number of free buffers in continuous grabbing mode. |
| 'out:X' |
'high', 'low' |
|
string |
pre-defined |
State of one of the digital output lines (with X = 0, 1, or 2 for RoadRunner/R3-DIF family; RoadRunner/R3 CL family).
The default depends on the board settings.
|
| 'overflow_count' |
<num> |
|
integer |
dynamic |
Returns the number of overflows that have occurred. |
| 'overflow_thread' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Start/stop overflow thread to reset acquisition in continuous grabbing mode when there is an overflow exception.
|
| 'overwrite_method' |
'abort', 'ignore' |
'abort' |
string |
pre-defined |
Specify how the interface should handle situations where the external trigger is received faster than the images are read by the application in
continuous grabbing mode (see also the corresponding section below).
|
| 'port' |
<port> |
0 |
integer |
pre-defined |
Current port number. |
| 'read_buf_size' |
0...32768 |
0 |
integer |
dynamic |
Number of bytes to read from the read buffer of an open comm port. This will most likely be set before each read, unless the message from the
camera is always the same size.
|
| 'register_index_get:xx' |
<value> |
|
integer |
dynamic |
Returns a register which can be used for quick access (i.e. with low CPU usage) to registers. The index returned from this function can be used
with both register_index_poke and register_index_peek. The bitfield
names and the purpose are described in the hardware reference manual
for the frame grabber being used. Note that this function is somewhat
CPU intensive and should not be used during intensive processing.
|
| 'register_index_peek:xx' |
<value> |
|
integer |
dynamic |
Returns the current value of a register or bitfield index. The index is obtained by calling register_index_get. This function
uses very little CPU and can be used during CPU intensive operations
|
| 'register_peek:xx' |
<value> |
|
integer |
dynamic |
Returns the current value of a register or bitfield. The bitfield names and the purpose are described in the hardware reference manual
for the frame grabber being used. Note that this function is somewhat
CPU intensive and should not be used during intensive processing.
|
| 'resnap' |
'false', 'true' |
'false' |
string |
pre-defined |
Specifies whether to reset the DMA engine and to try a second snap in case of an overflow. Note that in continuous grabbing mode you can use the parameter
'overflow_thread' to reset acquisition when there is an overflow exception.
|
| 'revision' |
'<revision>' |
|
string |
pre-defined |
Revision number of the BitFlow interface. Further the build date of the interface will be listed.
|
| 'ring_buffer_stop_margin' |
|
1 |
integer |
pre-defined |
This parameter controls the 'protection zone' used to look ahead when a buffer is about to be overwritten. When 'continuous_grabbing'
is enable, the frame grabber acquires automatically into a circular set
of buffers. There is a thread that watches acquisition and makes sure that
buffers which have not yet been processed by the user's program are not
overwritten by new images. If a buffers is about to be overwritten, acquisition
is aborted. If the frame rate is high and/or the CPU is very busy, the thread
might not get serviced in time to protect unprocessed buffers. By increasing the
size, the overwrite protection can still be maintained under these conditions.
This parameters only is used with 'continuous_grabbing' is enabled.
|
| 'sdk_build' |
<value> |
|
string |
dynamic |
Returns the build version. |
| 'sdk_revision' |
<value> |
|
string |
dynamic |
Returns the version number of the SDK. |
| 'serial_baudrate' |
<baud> |
9600 |
integer |
dynamic |
Baud rate for serial communication. |
| 'serial_message' |
'<string>' |
|
string |
dynamic |
Receives a string via the serial interface, see also 'comm_read_str'. |
| 'serial_message_buf_size' |
1 ... 32767 |
1024 |
integer |
dynamic |
Maximum buffer size for receive strings via 'serial_message'. |
| 'serial_terminate_code' |
0...255 |
LF(0x0A) |
integer |
dynamic |
Termination character of the receive string. If you call get_framegrabber_param with the parameter 'serial_message', the receive
process is finished by receiving this character.
|
| 'serial_timeout' |
<milliseconds> |
1000 |
integer |
dynamic |
Timeout for serial communication (in milliseconds). |
| 'serial_write_delay' |
<milliseconds> |
0 |
integer |
dynamic |
Timeout in milliseconds for serial write operations. |
| 'software_trigger' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Enables or disables the software trigger mode (shot grabbing). Note that the software trigger mode can only be used with a one shot camera file.
|
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
pre-defined |
Status of 'start_async_after_grab_async'. |
| 'start_column' |
<column> |
0 |
integer |
pre-defined |
Returns the current start column of the HALCON image. |
| 'start_row' |
<row> |
0 |
integer |
pre-defined |
Returns the current start row of the HALCON image. |
| 'trigger_timeout' |
<milliseconds> |
60000 |
integer |
dynamic |
Timeout (milliseconds passed as an integer) for aborting a pending grab when waiting for an external trigger.
|
| 'vertical_resolution' |
<resolution> |
1 |
integer |
pre-defined |
Current value of vertical resolution. |
| 'volatile' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Grayscale only. In the volatile mode the two image acquisition interface buffers are used directly to store HALCON images. This is the
fastest mode avoiding to copy raw images in memory. However, be aware that
older images are overwritten again and again as a side-effect. Thus, you
can only process one image while you grab another image. Older images are
invalid!
|
| 'wait_frame_exposure' |
<num> |
|
integer |
dynamic |
Returns if the exposure of the camera has finished. If the value 0 is returned, an error occurred. The return value 1 indicates,
that a timeout was reached (see 'wait_frame_exposure_timeout).
In case of success, the value 2 is returned.
|
| 'wait_frame_exposure_timeout' |
<milliseconds> |
1000 |
integer |
dynamic |
Sets the timeout [ms] used by 'wait_frame_exposure'. |
Set the lookup-table values if LUTs are supported by the used board. Note that also the number of 'bits_per_channel' is important for the number
of input values.
Query the lookup-table values.
All actually supported callback types of a specific image acquisition device can be queried by calling
get_framegrabber_param with the parameter
'available_callback_types'.
Once the callback is registered, on every occurrence of the underlying
event (e.g., the notification that the exposure has finished) the
specified callback function will be called. If the callback function is
set to NULL, the corresponding callback will be unregistered.
The signature of the callback function is
Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context,
void *UserContext) and uses the following parameters:
- AcqHandle
Acquisition handle of the corresponding image acquisition instance.
- Context
Optional context data of the specific callback. In the BitFlow
interface, this parameter is not used, i.e., Context is set to NULL.
- UserContext
User context as set via set_framegrabber_callback.
Using user-callback functions
Note that the execution time of a user-specific callback function should
always be as short as possible since during the execution of a callback
function the handling of further internal callbacks might be blocked.
This can be achieved by removing the current processing from the
user-specific callback function to a separate thread that is controlled
via signals or events.
| Type |
Description |
| 'exposure_end' |
Corresponds to the end of the exposure. |
| 'transfer_end' |
Corresponds to the end of the image DMA. |
grab_image starts a new synchronous grab. See also
grab_image. Note that
the interface converts the image from the device to the desired image format
specified by the parameters 'image_width', 'image_height', 'start_row',
'start_column', 'bits_per_channel', and 'color_space'.
grab_image_async returns an image and starts the next asynchronous grab. See also
grab_image_async.
Note that
the interface converts the image from the device to the desired image format
specified by the parameters 'image_width', 'image_height', 'start_row',
'start_column', 'bits_per_channel', and 'color_space'.
Not supported by this interface.
Not supported by this interface.
Multiple Cameras (Port Switching)
It is possible to connect more than one camera to a BitFlow board. You will need specific camera configuration files to do this, which have to be
installed in your system with the BitFlow configuration program
SysReg (please contact BitFlow for details). SysReg attaches a
number to each camera (starting with 0). This number is used as
port
parameter in the HALCON interface. To access a specific camera, you have to
specify the corresponding port. This setting can be changed dynamically
using the operator
set_framegrabber_param (port switching). However, in
this case the used cameras must be
compatible, that is of the same
type or with similar features (if in doubt please contact your local vendor
or BitFlow).
With this mechanism you can access multiple cameras with one frame grabber
handle. Note that a pending asynchronous job is aborted when changing
the port. Therefore, it does not make much sense to use
grab_image_async
in combination with port switching. Please note further the simple
HDevelop example program
bitflow_2ports.dev you will find in
%HALCONROOT%\examples\hdevelop\Image\Acquisition.
Continuous Grabbing
The continuous grabbing mode is used for completely asynchronous grabbing with or without external triggering: If you activate this mode via
set_framegrabber_param(..., 'continuous_grabbing', 'enable')
images will be acquired (with each trigger if triggering is enabled) and
stored in N buffers in a cyclic way
without any additional explicit
software trigger like
grab_image. Thus, your HALCON application can process
other data without losing a frame. This is, for example, very useful for
the acquisition of images under specific lighting conditions which are
triggered by a sequence controller with a fixed timing. In continuous
grabbing mode both
grab_image and
grab_image_async simply will return the
next frame (or wait if it has not been acquired so far). Note that with the
standard asynchronous grabbing there can only be
one grab job
pending. Thus, you can only acquire one frame in parallel to processing,
e.g., the previous frame. Now you can acquire
N frames in parallel
with N between 2 and 1000 (as specified with the parameter
'num_buffers'). Note that you have to specify the desired number of
buffers via
set_framegrabber_param(...'num_buffers'...) before
enabling the continuous grabbing mode!
In this continuous grabbing mode you might encounter situations where the
images are acquired at a faster rate than they are read by your application.
Thus, the N buffers will fill up and finally you will encounter a buffer
that was not read so far, but should be overwritten by the next frame.
You can decide what to do in this situation via the parameter
'overwrite_method':
- 'abort':
Before overwriting any frame, abort the acquisition. This is the safest
method. The main user will be able to process any good buffers
still in the system before an error is returned.
- 'ignore':
Ignore the problem and overwrite the buffer. Thus, some of the older
frames that already have been acquired (but not processed so far) will
be lost.
HDevelop Examples
For this interface there are the following examples available:
- bitflow_2boards.hdev -
Grabbing images with two BitFlow frame grabber boards.
- bitflow_2ports.hdev -
Shows the usage of two cameras and port switching.
- bitflow.hdev -
Benchmark.
- bitflow_cont.hdev -
Parameterization of a BitFlow frame grabber board.
- bitflow_change_size.hdev -
Set different image sizes.
- bitflow_cl_serial_usage.hdev -
Shows the usage of serial communication of a BitFlow frame grabber board.
- bitflow_cont_async_oneshot.hdev -
Parameterization of a BitFlow frame grabber board.
- bitflow_cxp_register_poke_peek.hdev -
Read/write registers of a CXP BitFlow frame grabber board.
- bitflow_lut.hdev -
Setting a look-up table.
- bitflow_open_by_switch_connector.hdev -
Opening the board by sitch and connector.
- bitflow_register_poke_peek.hdev -
Read/write registers of a CL BitFlow frame grabber board.
- bitflow_simple.hdev -
A simple example to show the usage of the interface.
- bitflow_simple_sw_trigger.hdev -
Shows the usage of software trigger.
- bitflow_version.hdev -
Shows all versions.
C++ Examples
For this interface there is also a further C++ Visual Studio Project to demonstrate the usage of the operators
get_framegrabber_callback and
set_framegrabber_callback. Please check the directory
%HALCONEXAMPLES%\cpp\console\vs2005\. If you prefer building the example via
the console, please check the following folder %HALCONEXAMPLES%\cpp\console\.
With a Linux OS please use $HALCONEXAMPLES/cpp/console/.
C# Examples
Release Notes
- Revision 13.0.3 (Oct 23, 2018):
- The BitFlow SDK has been updated to 6.30.
- The technical dependency from the HALCON Library has been removed.
- When querying the 'camera_type' parameter if the camera file path
contained UNICODE characters it was not displayed correctly.
This problem has been fixed.
- The parameter 'ring_buffer_stop_margin' has been added.
- Revision 13.0.2 (Oct 20, 2017):
- Renamed the parameter 'do_abort_capture' to 'do_abort_grab'. The
parameter 'do_abort_capture' will continue to work for compatibility
but should be avoided.
- Information about the use of modes with Gen2 boards has been
added to the CameraType parameter in open_framegrabber.
- Revision 13.0.1 (Oct 28, 2016):
- HALCON 13 version of the interface.
- Revision 6.2 (Sep 28, 2016):
- The BitFlow SDK has been updated to 6.20.
- The parameter 'num_simultaneous_cameras' is no longer
supported. For backward compatibility it is still available,
but you get an error message, if you want to use it.
- The parameters 'do_comm_read_int' and 'do_comm_read_str' have
been renamed to 'comm_read_int' and 'comm_read_str'.
For backward compatibility the old names still work.
- Setting an empty value in set_framegrabber_param led to a crash.
This problem has been fixed.
- The example 'bitflow_2simultaneous' has been removed.
- The examples 'bitflow_2boards' and 'bitflow_cont'
have been adapted.
- The examples 'bitflow_change_size', 'bitflow_cl_serial_usage',
'bitflow_cont_async_oneshot', 'bitflow_cxp_register_poke_peek',
'bitflow_open_by_switch_connector', 'bitflow_register_poke_peek',
'bitflow_simple_sw_trigger', and 'bitflow_version' have been added.
- Revision 6.1 (Oct 20, 2015):
- The BitFlow SDK has been updated to 6.00.
- New board types Karbon-CXP and Cyton-CXP were added.
- New parameters 'num_buffers_overwritten', 'sdk_revision',
'sdk_build', 'firmware_file_name', 'firmware_directory' were added.
- The use of the serial communication led to a crash.
This problem has been fixed.
- This documentation did not list all available callback types.
This problem has been fixed.
- The legacy Raven and R64 and R64e-CL frame grabber families has
been removed from the documentation.
- Revision 6.0 (Oct 31, 2014):
- HALCON 12 version of the interface.
- Revision 5.2 (Aug 28, 2013):
- Adapted to BitFlow SDK 5.70.
- Added parameters 'cc:x', 'continuous_grab_timeout', 'register_peek',
'register_poke', 'register_index_peek', 'register_index_poke', and
'register_index_get'.
- Adapted implementation of the serial communication.
- Added functionality to handle 'exposure_end' callbacks.
- Added hint for support of older frame grabbers to section 'General'
in this document.
- Revision 5.1 (Oct 29, 2012):
- Fixed bug in grab_image_start that could lead to a deadlock
situation in combination with succeeding asynchronous image
acquisition operators.
- Revision 5.0 (May 15, 2012):
- HALCON 11 version of the interface (included in HALCON 11 DVD).
- Adapted to BitFlow SDK 5.60.
- Add new parameters 'next_buffer_acquired_abs',
'wait_frame_exposure' and 'wait_frame_exposure_timeout'.
- Fixed thread safety problem in grab_image and grab_image_async
that could occur if a pending grab was aborted via the 'do_abort_grab'
parameter of set_framegrabber_param.
- Revision 4.2 (Aug 27, 2010):
- Adapted to BitFlow SDK 5.30.
- Added parameters 'dma_direction', 'lut', 'serial_write_delay',
'start_column', and 'start_row'.
- Improved internal thread handling.
- Removed parameter 'show_internal_errors'; please use
set_system('do_low_error', ...) instead.
- HALCON 10 version of the interface (included in HALCON 10 DVD).
- Revision 4.1 (Jan 22, 2010):
- Add functionality to handle 'transfer_end' callbacks.
- Revision 4.0 (Dec 1, 2008):
- HALCON 9.0 version of the interface (included in HALCON 9.0 DVD).
- Bug fix in parameters 'do_comm_param' and 'ctab_fill'.
- Bug fix in get_framegrabber_param for the parameters
'overflow_thread' and 'hardware_exception_thread' to ensure
consistency with set_framegrabber_param.
- Revision 3.3 (Apr 22, 2008):
- Adaptation to BitFlow SDK 5.00 with support
of the new Alta-AN, Karbon-CL, and Neon-CL boards.
- New parameters 'start_async_after_grab_async',
'software_trigger', 'do_force_trigger', 'do_abort_capture',
'gport', 'encoder_scan_step', 'serial_timeout', 'serial_baudrate',
'serial_message', 'serial_terminate_code',
'serial_message_buf_size', 'ctab_fill', 'camera_connected',
'do_flush_buffers', and 'num_free_buffers'.
- Default value of parameter 'overwrite_method' changed to 'abort'.
- Default value of parameter 'show_internal_errors' changed to
'false'.
- Added read-only parameters with postfix '_description', '_range',
and '_values' to enable the easy parameterization via a generic
graphical user interface.
- Revision 3.2 (Feb 27, 2008):
- New parameter 'do_flush_buffers'.
- Revision 3.1 (Jan 30, 2008):
- Bug fix concerning the general serial communication with Camera Link
cameras (correct use of clserbit.lib instead of clallserial.lib).
- Revision 3.0 (May 15, 2007):
- HALCON 8.0 version of the interface (included in HALCON 8.0 DVD).
- Bug fix in parameter 'do_comm_param'.
- Revision 2.12 (Feb 02, 2007):
- Support of Windows XP x64 for R64 and R64e boards (using BitFlow SDK
version 4.80).
- Revision 2.11 (Aug 16, 2006):
- Support of 3x 10bpp and 3x 12bpp RGB cameras.
- Bug fix for 16bpp images.
- Revision 2.10 (Jan 18, 2006):
- Adaptation to the new BitFlow SDK 4.50 with support of the new R64e
boards.
- New parameters 'next_buffer_acquired' and 'next_buffer_returned'.
- Updated to Camera Link version 1.1 compliance.
- Revision 2.9 (Jul 27, 2005):
- HALCON 7.1 version of the interface (included in HALCON 7.1 CD).
- Speed-up for acquisition of RGB images (avoiding cache alignment
failures when converting the interleaved image data into HALCON image
objects).
- Revision 2.8 (Nov 24, 2004):
- The serial communication with Camera Link cameras now supports the
reading and writing of NULL characters. Thus, the parameter
'do_comm_write' accepts also a tuple of integer values. Furthermore,
the parameter 'do_comm_read' has been split into the two new
parameters 'comm_read_str' and 'comm_read_int' to allow the
reading of strings as well as the reading of integer tuples.
- The maximum number of used frame buffers has been increased to 1000.
- The query types 'bits_per_channel', 'camera_type', 'color_space',
'device', 'external_trigger', 'field', and 'port' for
info_framegrabber provide now specific value lists for the
corresponding parameters in open_framegrabber.
- Revision 2.7 (Aug 30, 2004):
- New parameters 'overflow_thread', 'hardware_exception_thread',
'overflow_count', and 'hardware_exception_count' to reset acquisition
in continuous grabbing mode when there is a hardware or overflow
exception.
- New parameters 'do_comm_param', 'do_comm_open', 'do_comm_close',
'do_comm_write', 'do_comm_read', 'do_comm_flush', and
'read_buf_size' to control the serial communication with Camera Link
cameras.
- Revision 2.6 (Jul 25, 2003):
- HALCON 7.0 version of the interface (included in HALCON 7.0 CD).
- Adaptation to the new BitFlow SDK 4.00 with support of the new R64
boards.
- Revision 2.5 (Nov 19, 2002):
- New parameter 'in:X' to query the state of the digital input lines
(GPIN).
- Revision 2.4 (Jul 4, 2002):
- Adaptation to the new BitFlow SDK 3.00 with support of the new R3 and
R3-CL boards.
- New parameter 'resnap' to enable a second grab in case of an overflow.
- Revision 2.3 (Aug 30, 2001):
- HALCON 6.1 version of the interface (included in HALCON 6.1 CD).
- Bug fix in open_framegrabber together with multi processor machines.
- Bug fix forces correct LUT setting with model 11 RoadRunner boards.
- Revision 2.2 (Jun 8, 2001):
- Adaptation to the new BitFlow SDK 2.50. Older revisions are no longer
supported!
- Support of start/stop trigger mode (for line scan cameras connected to
RoadRunner or RoadRunner CL boards).
- Dynamically changing the frame size of the grabbed image via
set_framegrabber_param.
- Default value of parameter 'overwrite_method' changed from 'abort' to
'holdoff'.
- Revision 2.1 (Nov 24, 2000):
- Bug fix in overriding the BitsPerChannel parameter during
open_framegrabber
- Automatic enabling of GPOUT when
set_framegrabber_param(...'out:X'...) is
called (regardless of the settings in the camera file).
- Revision 2.0 (Nov 14, 2000):
- Adaptation to the HALCON 6.0 image acquisition interface.
- Revision 1.2 (Nov 10, 2000):
- Bug fix in masking the LUT when using a 10 bit camera.
- Bug fix in continuous grabbing mode together with external triggering.
- Bug fix in cleaning up after an unsuccessful call of open_framegrabber
- Bug fix in switching between connected cameras.
- Revision 1.1 (Oct 27, 2000):
- Adaptation to the new BitFlow SDK 2.10. Older revisions are no longer
supported!
- In contrast to the old HALCON RoadRunner and HALCON Raven interfaces
the special long frame mode is no longer necessary. Therefore, the
parameters 'long_frames', 'long_frame_size', and 'qtab_part' are no
longer supported.
Legal disclaimer regarding hyperlinks:
This page may provide users with access by hypertext links to external, non-MVTec websites.
Any such access is provided with the understanding that the contents
of non-MVTec sites are beyond the control of MVTec Software GmbH, that
MVTec Software GmbH makes no representations whatsoever about such
sites, and that users shall proceed at their own risk.
MVTec Software GmbH is not responsible for the privacy practices or
the content of external, non-MVTec websites.
Copyright notes:
© Copyright MVTec Software GmbH. All rights reserved.
Unless otherwise stated, the copyright and similar rights in the
contents of this page, including but not limited to all text, designs
and images appearing herein, are copyrighted works owned by MVTec
Software GmbH.
"MVTec Software GmbH" and "HALCON" are registered trademarks of MVTec
Software GmbH.
All other brand names, designs, service marks and trademarks (whether
or not registered) referenced or used herein are the property of their
respective owners.


--- layout: post title: It's @brentmc79's birthday! date: 2009-12-04 05:00:12.000000000 -08:00 type: post published: true status: publish categories: [] tags: [] meta: {} author: ---
Happy birthday Brent. You're half way to 60. I'll make sure we do something old and boring this weekend when you visit.


Actions, resources, and condition keys for AWS Systems Manager
AWS Systems Manager (service prefix:
ssm
) provides the following service-specific resources, actions, and condition context keys for use in IAM permission policies.
References:
-
Learn how to configure this service .
-
View a list of the API operations available for this service .
-
Learn how to secure this service and its resources by using IAM permission policies.
Topics
Actions defined by AWS Systems Manager
You can specify the following actions in the
Action
element of an IAM policy statement. Use policies to grant permissions to perform an operation in AWS. When you use an action in a policy, you usually allow or deny access to the API operation or CLI command with the same name. However, in some cases, a single action controls access to more than one operation. Alternatively, some operations require several different actions.
The
Resource types
column of the Actions table indicates whether each action supports resource-level permissions. If there is no value for this column, you must specify all resources ("*") to which the policy applies in the
Resource
element of your policy statement. If the column includes a resource type, then you can specify an ARN of that type in a statement with that action. If the action has one or more required resources, the caller must have permission to use the action with those resources. Required resources are indicated in the table with an asterisk (*). If you limit resource access with the
Resource
element in an IAM policy, you must include an ARN or pattern for each required resource type. Some actions support multiple resource types. If the resource type is optional (not indicated as required), then you can choose to use one of the optional resource types.
The
Condition keys
column of the Actions table includes keys that you can specify in a policy statement's
Condition
element. For more information on the condition keys that are associated with resources for the service, see the
Condition keys
column of the Resource types table.
For details about the columns in the following table, see Actions table .
| Actions | Description | Access level | Resource types (*required) | Condition keys | Dependent actions |
|---|---|---|---|---|---|
| AddTagsToResource | Grants permission to add or overwrite one or more tags for a specified AWS resource | Tagging | |||
| AssociateOpsItemRelatedItem | Grants permission to associate RelatedItem to an OpsItem | Write | |||
| CancelCommand | Grants permission to cancel a specified Run Command command | Write | |||
| CancelMaintenanceWindowExecution | Grants permission to cancel an in-progress maintenance window execution | Write | |||
| CreateActivation | Grants permission to create an activation that is used to register on-premises servers and virtual machines (VMs) with Systems Manager | Write | |||
| CreateAssociation | Grants permission to associate a specified Systems Manager document with specified instances or other targets | Write | |||
| CreateAssociationBatch | Grants permission to combine entries for multiple CreateAssociation operations in a single command | Write | |||
| CreateDocument | Grants permission to create a Systems Manager SSM document | Write |
iam:PassRole |
||
| CreateMaintenanceWindow | Grants permission to create a maintenance window | Write | |||
| CreateOpsItem | Grants permission to create an OpsItem in OpsCenter | Write | |||
| CreateOpsMetadata | Grants permission to create an OpsMetadata object for an AWS resource | Write | |||
| CreatePatchBaseline | Grants permission to create a patch baseline | Write | |||
| CreateResourceDataSync | Grants permission to create a resource data sync configuration, which regularly collects inventory data from managed instances and updates the data in an Amazon S3 bucket | Write | |||
| DeleteActivation | Grants permission to delete a specified activation for managed instances | Write | |||
| DeleteAssociation | Grants permission to disassociate a specified SSM document from a specified instance | Write | |||
| DeleteDocument | Grants permission to delete a specified SSM document and its instance associations | Write | |||
| DeleteInventory | Grants permission to delete a specified custom inventory type, or the data associated with a custom inventory type | Write | |||
| DeleteMaintenanceWindow | Grants permission to delete a specified maintenance window | Write | |||
| DeleteOpsMetadata | Grants permission to delete an OpsMetadata object | Write | |||
| DeleteParameter | Grants permission to delete a specified SSM parameter | Write | |||
| DeleteParameters | Grants permission to delete multiple specified SSM parameters | Write | |||
| DeletePatchBaseline | Grants permission to delete a specified patch baseline | Write | |||
| DeleteResourceDataSync | Grants permission to delete a specified resource data sync | Write | |||
| DeleteResourcePolicy | Grants permission to delete a Systems Manager resource policy | Permissions management | |||
| DeregisterManagedInstance | Grants permission to deregister a specified on-premises server or virtual machine (VM) from Systems Manager | Write | |||
| DeregisterPatchBaselineForPatchGroup | Grants permission to deregister a specified patch baseline from being the default patch baseline for a specified patch group | Write | |||
| DeregisterTargetFromMaintenanceWindow | Grants permission to deregister a specified target from a maintenance window | Write | |||
| DeregisterTaskFromMaintenanceWindow | Grants permission to deregister a specified task from a maintenance window | Write | |||
| DescribeActivations | Grants permission to view details about a specified managed instance activation, such as when it was created and the number of instances registered using the activation | Read | |||
| DescribeAssociation | Grants permission to view details about the specified association for a specified instance or target | Read | |||
| DescribeAssociationExecutionTargets | Grants permission to view information about a specified association execution | Read | |||
| DescribeAssociationExecutions | Grants permission to view all executions for a specified association | Read | |||
| DescribeAutomationExecutions | Grants permission to view details about all active and terminated Automation executions | Read | |||
| DescribeAutomationStepExecutions | Grants permission to view information about all active and terminated step executions in an Automation workflow | Read | |||
| DescribeAvailablePatches | Grants permission to view all patches eligible to include in a patch baseline | Read | |||
| DescribeDocument | Grants permission to view details about a specified SSM document | Read | |||
| DescribeDocumentParameters | Grants permission to display information about SSM document parameters in the Systems Manager console (internal Systems Manager action) | Read | |||
| DescribeDocumentPermission | Grants permission to view the permissions for a specified SSM document | Read | |||
| DescribeEffectiveInstanceAssociations | Grants permission to view all current associations for a specified instance | Read | |||
| DescribeEffectivePatchesForPatchBaseline | Grants permission to view details about the patches currently associated with the specified patch baseline (Windows only) | Read | |||
| DescribeInstanceAssociationsStatus | Grants permission to view the status of the associations for a specified instance | Read | |||
| DescribeInstanceInformation | Grants permission to view details about a specified instance | Read | |||
| DescribeInstancePatchStates | Grants permission to view status details about patches on a specified instance | Read | |||
| DescribeInstancePatchStatesForPatchGroup | Grants permission to describe the high-level patch state for the instances in the specified patch group | Read | |||
| DescribeInstancePatches | Grants permission to view general details about the patches on a specified instance | Read | |||
| DescribeInstanceProperties | Grants permission to user's Amazon EC2 console to render managed instances' nodes | Read | |||
| DescribeInventoryDeletions | Grants permission to view details about a specified inventory deletion | Read | |||
| DescribeMaintenanceWindowExecutionTaskInvocations | Grants permission to view details of a specified task execution for a maintenance window | List | |||
| DescribeMaintenanceWindowExecutionTasks | Grants permission to view details about the tasks that ran during a specified maintenance window execution | List | |||
| DescribeMaintenanceWindowExecutions | Grants permission to view the executions of a specified maintenance window | List | |||
| DescribeMaintenanceWindowSchedule | Grants permission to view details about upcoming executions of a specified maintenance window | List | |||
| DescribeMaintenanceWindowTargets | Grants permission to view a list of the targets associated with a specified maintenance window | List | |||
| DescribeMaintenanceWindowTasks | Grants permission to view a list of the tasks associated with a specified maintenance window | List | |||
| DescribeMaintenanceWindows | Grants permission to view information about all or specified maintenance windows | List | |||
| DescribeMaintenanceWindowsForTarget | Grants permission to view information about the maintenance window targets and tasks associated with a specified instance | List | |||
| DescribeOpsItems | Grants permission to view details about specified OpsItems | Read | |||
| DescribeParameters | Grants permission to view details about a specified SSM parameter | List | |||
| DescribePatchBaselines | Grants permission to view information about patch baselines that meet the specified criteria | List | |||
| DescribePatchGroupState | Grants permission to view aggregated status details for patches for a specified patch group | List | |||
| DescribePatchGroups | Grants permission to view information about the patch baseline for a specified patch group | List | |||
| DescribePatchProperties | Grants permission to view details of available patches for a specified operating system and patch property | List | |||
| DescribeSessions | Grants permission to view a list of recent Session Manager sessions that meet the specified search criteria | List | |||
| DisassociateOpsItemRelatedItem | Grants permission to disassociate RelatedItem from an OpsItem | Write | |||
| GetAutomationExecution | Grants permission to view details of a specified Automation execution | Read | |||
| GetCalendar [permission only] | Grants permission to view details of a specific calendar | Read | |||
| GetCalendarState | Grants permission to view the calendar state for a change calendar or a list of change calendars | Read | |||
| GetCommandInvocation | Grants permission to view details about the command execution of a specified invocation or plugin | Read | |||
| GetConnectionStatus | Grants permission to view the Session Manager connection status for a specified managed instance | Read | |||
| GetDefaultPatchBaseline | Grants permission to view the current default patch baseline for a specified operating system type | Read | |||
| GetDeployablePatchSnapshotForInstance | Grants permission to retrieve the current patch baseline snapshot for a specified instance | Read | |||
| GetDocument | Grants permission to view the contents of a specified SSM document | Read | |||
| GetInventory | Grants permission to view instance inventory details per the specified criteria | Read | |||
| GetInventorySchema | Grants permission to view a list of inventory types or attribute names for a specified inventory item type | Read | |||
| GetMaintenanceWindow | Grants permission to view details about a specified maintenance window | Read | |||
| GetMaintenanceWindowExecution | Grants permission to view details about a specified maintenance window execution | Read | |||
| GetMaintenanceWindowExecutionTask | Grants permission to view details about a specified maintenance window execution task | Read | |||
| GetMaintenanceWindowExecutionTaskInvocation | Grants permission to view details about a specific maintenance window task running on a specific target | Read | |||
| GetMaintenanceWindowTask | Grants permission to view details about tasks registered with a specified maintenance window | Read | |||
| GetManifest [permission only] | Grants permission to Systems Manager and SSM Agent to determine package installation requirements for an instance (internal Systems Manager call) | Read | |||
| GetOpsItem | Grants permission to view information about a specified OpsItem | Read | |||
| GetOpsMetadata | Grants permission to retrieve an OpsMetadata object | Read | |||
| GetOpsSummary | Grants permission to view summary information about OpsItems based on specified filters and aggregators | Read | |||
| GetParameter | Grants permission to view information about a specified parameter | Read | |||
| GetParameterHistory | Grants permission to view details and changes for a specified parameter | Read | |||
| GetParameters | Grants permission to view information about multiple specified parameters | Read | |||
| GetParametersByPath | Grants permission to view information about parameters in a specified hierarchy | Read | |||
| GetPatchBaseline | Grants permission to view information about a specified patch baseline | Read | |||
| GetPatchBaselineForPatchGroup | Grants permission to view the ID of the current patch baseline for a specified patch group | Read | |||
| GetResourcePolicies | Grants permission to retrieve lists of Systems Manager resource policies | List | |||
| GetServiceSetting | Grants permission to view the account-level setting for an AWS service | Read | |||
| LabelParameterVersion | Grants permission to apply an identifying label to a specified version of a parameter | Write | |||
| ListAssociationVersions | Grants permission to list versions of the specified association | List | |||
| ListAssociations | Grants permission to list the associations for a specified SSM document or managed instance | List | |||
| ListCommandInvocations | Grants permission to list information about command invocations sent to a specified instance | List | |||
| ListCommands | Grants permission to list the commands sent to a specified instance | List | |||
| ListComplianceItems | Grants permission to list compliance status for specified resource types on a specified resource | List | |||
| ListComplianceSummaries | Grants permission to list a summary count of compliant and noncompliant resources for a specified compliance type | List | |||
| ListDocumentMetadataHistory | Grants permission to view metadata history about a specified SSM document | List | |||
| ListDocumentVersions | Grants permission to list all versions of a specified document | List | |||
| ListDocuments | Grants permission to view information about a specified SSM document | List | |||
| ListInstanceAssociations | Grants permission to SSM Agent to check for new State Manager associations (internal Systems Manager call) | List | |||
| ListInventoryEntries | Grants permission to view a list of specified inventory types for a specified instance | List | |||
| ListOpsItemEvents | Grants permission to view details about OpsItemEvents | List | |||
| ListOpsItemRelatedItems | Grants permission to view details about OpsItem RelatedItems | List | |||
| ListOpsMetadata | Grants permission to view a list of OpsMetadata objects | List | |||
| ListResourceComplianceSummaries | Grants permission to list resource-level summary count | List | |||
| ListResourceDataSync | Grants permission to list information about resource data sync configurations in an account | List | |||
| ListTagsForResource | Grants permission to view a list of resource tags for a specified resource | List | |||
| ModifyDocumentPermission | Grants permission to share a custom SSM document publicly or privately with specified AWS accounts | Permissions management | |||
| PutCalendar [permission only] | Grants permission to create/edit a specific calendar | Write | |||
| PutComplianceItems | Grants permission to register a compliance type and other compliance details on a specified resource | Write | |||
| PutConfigurePackageResult [permission only] | Grants permission to SSM Agent to generate a report of the results of specific agent requests (internal Systems Manager call) | Read | |||
| PutInventory | Grants permission to add or update inventory items on multiple specified managed instances | Write | |||
| PutParameter | Grants permission to create an SSM parameter | Write | |||
| PutResourcePolicy | Grants permission to create or update a Systems Manager resource policy | Permissions management | |||
| RegisterDefaultPatchBaseline | Grants permission to specify the default patch baseline for an operating system type | Write | |||
| RegisterManagedInstance | Grants permission to register a Systems Manager Agent | Write | |||
| RegisterPatchBaselineForPatchGroup | Grants permission to specify the default patch baseline for a specified patch group | Write | |||
| RegisterTargetWithMaintenanceWindow | Grants permission to register a target with a specified maintenance window | Write | |||
| RegisterTaskWithMaintenanceWindow | Grants permission to register a task with a specified maintenance window | Write | |||
| RemoveTagsFromResource | Grants permission to remove a specified tag key from a specified resource | Tagging | |||
| ResetServiceSetting | Grants permission to reset the service setting for an AWS account to the default value | Write | |||
| ResumeSession | Grants permission to reconnect a Session Manager session to a managed instance | Write | |||
| SendAutomationSignal | Grants permission to send a signal to change the current behavior or status of a specified Automation execution | Write | |||
| SendCommand | Grants permission to run commands on one or more specified managed instances | Write | |||
| StartAssociationsOnce | Grants permission to run a specified association manually | Write | |||
| StartAutomationExecution | Grants permission to initiate the execution of an Automation document | Write | |||
| StartChangeRequestExecution | Grants permission to initiate the execution of an Automation Change Template document | Write | |||
| StartSession | Grants permission to initiate a connection to a specified target for a Session Manager session | Write | |||
| StopAutomationExecution | Grants permission to stop a specified Automation execution that is already in progress | Write | |||
| TerminateSession | Grants permission to permanently end a Session Manager connection to an instance | Write | |||
| UnlabelParameterVersion | Grants permission to remove an identifying label from a specified version of a parameter | Write | |||
| UpdateAssociation | Grants permission to update an association and immediately run the association on the specified targets | Write | |||
| UpdateAssociationStatus | Grants permission to update the status of the SSM document associated with a specified instance | Write | |||
| UpdateDocument | Grants permission to update one or more values for an SSM document | Write | |||
| UpdateDocumentDefaultVersion | Grants permission to change the default version of an SSM document | Write | |||
| UpdateDocumentMetadata | Grants permission to update the metadata of an SSM document | Write | |||
| UpdateInstanceAssociationStatus [permission only] | Grants permission to SSM Agent to update the status of the association that it is currently running (internal Systems Manager call) | Write | |||
| UpdateInstanceInformation | Grants permission to SSM Agent to send a heartbeat signal to the Systems Manager service in the cloud | Write | |||
| UpdateMaintenanceWindow | Grants permission to update a specified maintenance window | Write | |||
| UpdateMaintenanceWindowTarget | Grants permission to update a specified maintenance window target | Write | |||
| UpdateMaintenanceWindowTask | Grants permission to update a specified maintenance window task | Write | |||
| UpdateManagedInstanceRole | Grants permission to assign or change the IAM role assigned to a specified managed instance | Write | |||
| UpdateOpsItem | Grants permission to edit or change an OpsItem | Write | |||
| UpdateOpsMetadata | Grants permission to update an OpsMetadata object | Write | |||
| UpdatePatchBaseline | Grants permission to update a specified patch baseline | Write | |||
| UpdateResourceDataSync | Grants permission to update a resource data sync | Write | |||
| UpdateServiceSetting | Grants permission to update the service setting for an AWS account | Write |
Resource types defined by AWS Systems Manager
The following resource types are defined by this service and can be used in the
Resource
element of IAM permission policy statements. Each action in the
Actions table
identifies the resource types that can be specified with that action. A resource type can also define which condition keys you can include in a policy. These keys are displayed in the last column of the table. For details about the columns in the following table, see
Resource types table
.
Note
Some State Manager API parameters have been deprecated. This might lead to unexpected behavior. For more information, see Working with associations using IAM .
| Resource types | ARN | Condition keys |
|---|---|---|
| association |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:association/$
{
AssociationId}
|
|
| automation-execution |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:automation-execution/$
{
AutomationExecutionId}
|
|
| automation-definition |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:automation-definition/$
{
AutomationDefinitionName}:$
{
VersionId}
|
|
| bucket |
arn:$
{
Partition}:s3:::$
{
BucketName}
|
|
| document |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:document/$
{
DocumentName}
|
|
| instance |
arn:$
{
Partition}:ec2:$
{
Region}:$
{
Account}:instance/$
{
InstanceId}
|
|
| maintenancewindow |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:maintenancewindow/$
{
ResourceId}
|
|
| managed-instance |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:managed-instance/$
{
InstanceId}
|
|
| managed-instance-inventory |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:managed-instance-inventory/$
{
InstanceId}
|
|
| opsitem |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:opsitem/$
{
ResourceId}
|
|
| opsmetadata |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:opsmetadata/$
{
ResourceId}
|
|
| parameter |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:parameter/$
{
ParameterNameWithoutLeadingSlash}
|
|
| patchbaseline |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:patchbaseline/$
{
PatchBaselineIdResourceId}
|
|
| resourcearn |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:opsitemgroup/default
|
|
| session |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:session/$
{
SessionId}
|
|
| resourcedatasync |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:resource-data-sync/$
{
SyncName}
|
|
| servicesetting |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:servicesetting/$
{
ResourceId}
|
|
| windowtarget |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:windowtarget/$
{
WindowTargetId}
|
|
| windowtask |
arn:$
{
Partition}:ssm:$
{
Region}:$
{
Account}:windowtask/$
{
WindowTaskId}
|
|
| task |
arn:$
{
Partition}:ecs:$
{
Region}:$
{
Account}:task/$
{
TaskId}
|
Condition keys for AWS Systems Manager
AWS Systems Manager defines the following condition keys that can be used in the
Condition
element of an IAM policy. You can use these keys to further refine the conditions under which the policy statement applies. For details about the columns in the following table, see
Condition keys table
.
To view the global condition keys that are available to all services, see Available global condition keys .
| Condition keys | Description | Type |
|---|---|---|
| aws:RequestTag/${TagKey} | Filters access by 'Create' requests based on the allowed set of values for a specified tags | String |
| aws:ResourceTag/${TagKey} | Filters access by based on a tag key-value pair assigned to the AWS resource | String |
| aws:TagKeys | Filters access by 'Create' requests based on whether mandatory tags are included in the request | ArrayOfString |
| ssm:AutoApprove | Filters access by verifying that a user has permission to start Change Manager workflows without a review step (with the exception of change freeze events) | Bool |
| ssm:DocumentCategories | Filters access by verifying that a user has permission to access a document belonging to a specific category enum | ArrayOfString |
| ssm:Overwrite | Controls whether Systems Manager parameters can be overwritten | String |
| ssm:Recursive | Filters access to Systems Manager parameters created in a hierarchical structure | String |
| ssm:SessionDocumentAccessCheck | Filters access by verifying that a user has permission to access either the default Session Manager configuration document or the custom configuration document specified in a request | Bool |
| ssm:SyncType | Filters access by verifying that a user also has access to the ResourceDataSync SyncType specified in the request | String |
| ssm:resourceTag/${TagKey} | Filters access based on a tag key-value pair assigned to the Systems Manager resource | String |
| ssm:resourceTag/aws:ssmmessages:session-id | Filters access by based on a tag key-value pair assigned to the Systems Manager session resource | String |
| ssm:resourceTag/aws:ssmmessages:target-id | Filters access by based on a tag key-value pair assigned to the Systems Manager session resource | String |
| ssm:resourceTag/tag-key | Filters access by based on a tag key-value pair assigned to the Systems Manager resource | String |


Spherical Toploads are by the simplest and best characterized. Unfortunately, they are only really appropriate for fairly small coils:
2.83915 × (Sphere Diameter ∕ 2)
(I approximate this as 2 * sqrt(2) * r)
MultiToroidal!
Based on the secondary inductor you have designed,
here is the rough envelope of possible toploads (capacitors).
(Sketch of 1/sqrt(LC) vs typical frequency envelope)
Category of topload Designs
{{> topload_selector }}
{{> Template.dynamic template= topload_session_var }}


An example of using a regular expression to define a new mask definition. Using the definitions option we define the ~ in the mask to only accept a + or a -.
definitions
~
+
-


CSS Processor
The below div should change depending on wurfl-media features
Hello World!
See the example.css file to see the css extensions as they are before processing.


{% include "pages/services/pocket-button.html" %} {% include "pages/services/facebook-like.html" %} {% include "pages/services/twitter-share.html" %}