Releases: TheImagingSource/tiscamera
Releases · TheImagingSource/tiscamera
Release 1.1.1
Fixed
- Examples are now part of the dev package
- Device lost handling could cause segfaults under certain circumstances
Release 1.1.0
Added
Devices:
- Support for 52U usb-2.0 cameras
- Support for new DFG/HDMI properties
UDev:
- rule to disable usb power management for TIS devices
tcammainsrc:
- own bufferpool
- io-mode property, currently consists out of user-ptr and mmap
- simple virtual camera, set
TCAM_VIRTCAM_DEVICES=name0:name1
to generate devices - Mark GstBuffer with GST_BUFFER_FLAG_CORRUPTED when image is damaged.
Requires drop-incomplete-buffer=false
tcambin:
- GstChildProxy interface
tcamsrc:
- GstChildProxy interface
tcam-capture:
- Ability to save images
- Ability to save videos
tcam-gigetool:
- check-control command
Get IP/port that controls the camera
dependency-manager:
- option --ignore for install routine
Allows preventing dependencies from being installed - Warning if 'lsb_release' can not be found
- dependency description for Debian 10 (Buster)
- dependency description for Ubuntu 22.10
packaging:
- split development dependencies into own package
Changed
CMake:
- aravis is cloned into the build directory, not into the source tree
- meson is cloned into the build directory, not into the source tree
Fixed
tcammainsrc:
- Locked properties now return TCAM_ERROR_PROPERTY_NOT_WRITEABLE when they are locked and being set.
Previously they could still be set even when locked.
tcam-capture:
- Property JSON description was not updated when re-opening the dialog
- No more critical warning if camera has no trigger mode
tcam-ctrl:
- Fix help text for
--load
and--save
tcam-gigetool:
- Fixed misidentification of camera identifier
aravis:
- TriggerMode is now respected when setting formats
cmake:
- TCAM_BUILD_UVC_EXTENSION_LOADER_ONLY build
installation:
- tcamgststatistics.so is now installed into
TCAM_INSTALL_LIB
doc:
- TCAM_DOWNLOAD_MESON now has correct default value (ON)
examples:
- 10-metadata.py - example should now load tcamgststatistics.so even when installed
- 02-set-properties.c - pipeline was not freed correctly
- 02-set-properties.py - Catch exception when setting properties
- 06-softwaretrigger.py - Catch exception when setting softwaretrigger
packaging:
- Removed dependencies that are not required for runtime
Now in separate -dev package
Release 1.0.0
Added
General:
- internal dependency to fmt
- environment variable
TCAM_ARV_STREAM_OPTIONS
, allows setting of ArvStream options - environment variable
TCAM_GIGE_HEARTBEAT_MS
, allows setting the heartbeat timeout - tiscamera threads now have names for easier identification during debugging.
CMake:
- clang-format definition, call
make clang-format
for formatting - cmake flag
TCAM_DOWNLOAD_MESON
for legacy systems to allow modern aravis installations.
for the referenced aravis version, meson-version=0.56 is necessary - Module configuration string to log and version info
GStreamer:
- GstTcamDeviceProvider, see documentation for usage.
- tcamconvert gstreamer conversion element
replaces tcamwhitebalance and provides color-conversion services. - tcambin property
conversion-element
Used to select the internal conversion elements.
Available options aretcamconvert
,tcamdutils
,tcamdutils-cuda
andauto
. - tcambin property
available-caps
to fetch available device caps - tcambin/tcamsrc property
tcam-device
to directly set a GstDevice instance to open - tcambin/tcamsrc property
tcam-properties
. GstStructure like description of properties.
See documentation for more details. - tcambin/tcamsrc signals
device-open
/device-close
- support for tcamdutils-cuda
- example on how to retrieve GstMeta data in python
- GstQuery for AcceptCaps and Caps in tcammainsrc
Tools:
tcam-ctrl --packages
- list all installed 'The Imaging Source' packages and their versiontcam-ctrl --version
now lists configured modules
Changed
General:
- property API changed to tcam-property-1.0 (part of tiscamera)
- device list API changed to GstDeviceProvider
- aravis library minimum version is now 0.8.20.
- logging now uses spdlog and is enabled via e.g.
GST_DEBUG=tcam*:3
- Filter for DFG/USB2pro. Device will no longer appear in device listings.
CMake:
- output directory for binaries/libraries to /bin and /lib
- installation variables are now all defined in CMakeInstall.cmake
- cmake option
TCAM_BUILD_ARAVIS
now defaults toON
- cmake option
TCAM_BUILD_DOCUMENTATION
now defaults toON
- cmake option
TCAM_ARAVIS_USB_VISION
now defaults toON
GStreamer:
- gstreamer buffers are now marked as "live"
- tcamsrc/tcammainsrc 'do-timestamp' default changed to false.
- tcambin/tcamsrc/tcammainsrc must be in
GST_STATE_READY
or higher before you can access a device - tcambin/tcamsrc
property-state
renamed totcam-properties-json
- tcambin version tcamdutils does not check for parity anymore,
but for minimum version to ensure compatability. - tcamautoexposure gstreamer element - functionality now in tcammainsrc
- tcamwhitebalance gstreamer element - functionality now in tcammainsrc,
application in tcamconvert/tcamdutils - tcamautofocus gstreamer element - functionality now in tcammainsrc
- gstreamer resolution ranges now contain a step size
- polarization caps have been renamed, check caps descriptions for new ones
Tools:
- renamed gige-daemon to tcam-gige-daemon for consistency.
- tcam-gigetool rewrite. Now implemented with C++.
Output has changed. - tcam-gige-daemon maximum for devices increased to 50.
- tcam-capture rewrite. Now implemented with C++.
Aimed to be as simple as possible.
For more complex use cases use tis-measure.
https://www.theimagingsource.com/support/downloads-for-linux/end-user-software/icmeasureappimage/
Fixed
- "device-lost" notifications could take over 3 minutes for aravis cameras.
Should now appear within 5 seconds. - generated debian packages are now installable when no systemd exists.
This is only relevant when compiling with aravis.
Removed
- gstreamer elements tcamautoexposure, tcamwhitebalance, tcamautofocus
- tcamprop 0.1 API
- firmware-update
Moved to a separate repository: https://github.com/theimagingsource/tcam-firmware-update - camera-ip-conf
Use tcam-gigetool instead. - tcambin property
use-dutils
Use tcambin propertyconversion-element
instead. - environment variable TCAM_ARV_PACKET_REQUEST_RATIO, replaced with TCAM_ARV_STREAM_OPTIONS
- environment variable TCAM_LOG, replaced with gstreamer logging category
tcam-libtcam
- unmaintained unit tests
- TCAM_LOG environment variable.
Use GST_DEBUG categorytcam-libtcam
instead. - Legacy uvc extension descriptions for uvcdynctrl
Known Issues
- In camera Auto Functions ROI may not correctly lock properties
- In camera Auto Functions ROI Top/Left/Width/Height may not correctly update when using preset
- AFU050: image/jpeg,width=1280,height=960 may cause segfault when used.
Cause is in external library. - GstQueryCaps for Usb3Vision devices via aravis does not work correctly
Release 0.14.0
Added
- 'tegra' device type
- support for tcamtegrasrc
- PWL format support
Changed
- Reworked examples to be more applicable to all cameras.
- property state description is now applied when going PAUSE->PLAYING
- Device lost handling for v4l2 cameras when waiting for images.
Timeout now causes a warning. Device lost will not be triggered! - examples now have a default gstreamer log level of WARNING
- tcambin writes a warning message to the GstBus when a version
incompatability with tcamdutils is detected - New project logo
Fixed
- Using only the
type
property of tcambin/tcamsrc now works - Added missing max resolution for DxK AFU420 cameras
Release 0.13.1
Release 0.13.0 had some uncaught problems and was thus skipped.
The listed changes are from 0.12.0 to 0.13.1.
Added
- firmware files
dfk72uc02_140.euvc
dmk72uc02_140.euvc
dfk72uc02_af_146.euvc
dmk72uc02_af_146.euvc - tcam-uvc-extension-loader can now be built/installed without other libraries.
Set cmake option TCAM_BUILD_UVC_EXTENSION_LOADER_ONLY to ON to activate. - camera-ip-conf can now be built/installed without other libraries.
Set cmake option TCAM_BUILD_CAMERA_IP_CONF_ONLY to ON to activate. - firmware-update can now be built/installed without other libraries.
Set cmake option TCAM_BUILD_FIRMWARE_UPDATE_ONLY to ON to activate. - tcammainsrc - Replaces tcamsrc in functionality.
- 'pimipi' device type
- 11-device-state example
- CMake switch
TCAM_BUILD_NO_GUI
to disable all gui build targets and dependency inclusions.
See documenation for further details. - Build target
minimal
to build recommended minimal tiscamera build. - script dependency-manager as a way to improve dependency handling for users/packaging
- conflicts, provides, replaces fields in Debian package description for
tiscamera-tcamprop
- dependency-manager - replacement for install-dependencies.sh
offers wider range of functionality and allows addressal of different distributions
See documentation for further details - C_INCLUDE_PATH to env.sh
Changed
- cmake user options are now all defined in a separate file
- tcam-ctrl --load now accepts files and attempts to load them as json
- gstreamer elements now have the same version string that is used for releases
- tcamsrc is now a wrapper around all potential TIS source elements
- tiscamera and tiscamera-dutils are now version locked. tcambin will log a warning
when a version mismatch is detected. Use 'use-dutils=true' to overwrite.
Mismatching version are not supported. - All gstreamer elements now only use tcamprop for property interactions
- tcam-ctrl now uses tcamsrc for all device interactions
- tcam-capture now uses xvimagesink for display purposes
- All uses of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR have been replaced by
internal variables - Renamed folder for third party libraries from
dependencies
toexternal
- Moved dependency descriptions to subfolder
dependencies
- Examples now have correct memory handling
- 'Exposure Time (us)' now has category 'Exposure'
- tcambin applies state descriptions when changing to GST_STATE_PLAYING
- debian package name for master branch now contains commit count
- debian package name now contains distribution release to prevent
confusion about installation problems due to dependencies
Fixed
- dependency description allows usage of libzip4 and libzip5
- gst: Apply bin state when all elements are verified playing
- tcambin: ensure serial and type are always defined
- camera-ip-conf can now correctly write newer firmware versions
- package generation now works under Ubuntu 20.04
- camera-ip-conf/tcam-gigetool now support newer
firmware files that have correct access control - Json property descriptions can now be used to set 'button' type properties
- Various memory leaks
- gige-daemon now correctly deletes lock file
gige-daemon start --no-fork
crash when stopping- serial-type combinations where not always correctly identified.
NowAravis
and other capitalized strings are converted to lowercase before being
interpreted. - tcamsrc (now tcammainsrc) num-buffers delivered buffer where one short
- camera-ip-conf was unable to set name without ip/netmask/gateway
- various documentation errors
- tcam-capture display bug for bools
- tcambin caps negotiations for GRAY16_LE
- multiple memory leaks
- deadlock in tcammainsrc
- device lost no longer fires when using long exposure times
- tcam-ctrl did not correctly verify - combos
Removed
- firmware files
dfk72uc02_129.euvc
dfk72uc02_158.euvc
dmk72uc02_129.euvc
dmk72uc02_146.euvc
dmk72uc02_158.euvc
dmk72uc02_AF_140.euvc
dmk72uc02_af_144.euvc
dfk72uc02_AF_140.euvc - tcambiteater - functionality is no part of tcamdutils element
- tcam-capture lost the following features:
- zoom
- pixel color under mouse
- ROI selection/display via overlay
- fit-to-view
- tcammainsrc/tcamsrc property
camera
. Use tcamprop instead.
Known Issues
- Device lost for GigE cameras can be extremely slow.
- Documentation: RemovedInSphinx40Warning: The app.add_javascript() is deprecated.
Please use app.add_js_file() instead. app.add_javascript(path)
Not fixed due to sphinx version incompatability on older Ubuntu versions. - tcam-capture may experience a thread lock when changing format on some systems.
Reliable reproducability was not possible during testing.
Release 0.12.0
Added
- tcamsrc property 'camera-buffers' Allows modification of the number of buffers the backend uses.
- tcamautoexposure support for GRAY16_LE
- Installation of examples folder in $PREFIX/share/theimagingsource/tiscamera
- property state system tcamsrc and tcambin have the property 'state' containing a JSON string describing the current property/value list.
- tcam-ctrl --load to load property state string
- tcam-ctrl --save to save property state string
- caps definitions for polarization cameras
- TCAM_ARV_PACKET_REQUEST_RATIO environment variable
- tcamsrc now answers latency queries
- example for gstreamer metadata retrieval
- tcamprop function tcam_prop_get_device_serials_backend Retrieves a list of all connected device serial numbers. Appended to the serial number is the backend, separated by a hyphen "-".
Changed
- Reference system is now Ubuntu 18.04 LTS
- Installation of static data is now unified under /usr/share/theimagingsource/tiscamera/
- GRAY8 is now preferred over GRAY16_LE in caps negotiation
- tcamsrc num-buffers default is now -1. This is now identical to v4l2src.
- Log output now only contains the filename and not the absolute path.
- logging timestamp is now YYYY-mm-ddTHH:MM:SS:MS
- aravis version to HEAD of aravis-0.6 branch
Fixed
- gstmetatcamstatistics.h is installed into gstreamer-1.0 include directory
- Various Bugfixes, please refer to the complete changelog
Removed
- tcam-ctrl -s flag for setting formats.
- tcam-ctrl -s flag for setting properties. Replaced with state system.
Known Issues
- On some systems the python3 module installation path is set wrong.
- tcam-capture sometimes has problems with streaming when handling Usb3Vision cameras.
Release 0.11.1
Bugfix for 0.11 Release. For an overview over the fixes, read the Changelog.
Release 0.11.0
v-tiscamera-0.11.0 Changing version to 0.11.0
Release 0.10.0
v-tiscamera-0.10.0 Changing version to 0.10.0
Release Candidate for version 0.10
v-release-candidate-0_9_1-1 Delete unused files