User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
support:sub2r_cc_revision_history [2019/10/13 07:34] – [2.3.12: 2019-10-13] Igor Yefmovsupport:sub2r_cc_revision_history [2022/08/22 20:40] (current) – [2.6.0: 2022-08-22] Igor Yefmov
Line 3: Line 3:
 The software bundle is available to all Windows 10 //Desktop// users free of charge. Obviously you need the SUB2r's camera to take advantage of the functionality provided by the SUB2r apps. You can always order your SUB2r camera in [[https://shop.sub2r.com|our shop]] The software bundle is available to all Windows 10 //Desktop// users free of charge. Obviously you need the SUB2r's camera to take advantage of the functionality provided by the SUB2r apps. You can always order your SUB2r camera in [[https://shop.sub2r.com|our shop]]
  
-===== Upcoming version ===== +===== upcoming ===== 
-  *+ 
 +===== 2.6.0: 2022-08-22 ===== 
 +  * general/code 
 +    * update to MSVC 2022 
 +    * "downloads" have now moved to a new URL/host 
 +    * support for Gen5 (based on Xilinx %%UltraScale%%+ and a new, much improved image sensor) 
 +      * includes support for dedicated SDI output and HDR mode 
 +    * many more ''noexcept'' specifications, use of ''final'', local ''if'' variables, ''std::format'', removal of unneeded default special member functions, fewer ''static_cast'' uses, etc 
 +    * preparing for C++20 modules support 
 +    * use ''stf::format'' instead of ''std::ostream'' and ''std::stringstream'' 
 +  * SUB2r-lib 
 +    * up the version to ''3.0.0.0'' 
 +    * support for sensors that are not on I²C address ''0x20'' 
 +    * inheritance cleanup 
 +    * new APIs 
 +      * %%SysInfo%% API v.2 now reports status of peripherals - requires FX3 v60+ 
 +      * access arbitrary I²C-attached module on device - requires FX3 v98+ 
 +      * MIPI FPS - requires FPGA v76+ 
 +    * the connection to device is now "valid" even if the sensor is inaccessible (e.g. broken, or not initialized, or non-responsive) 
 +    * API duration reporting's precision is now in ms (used to be in μs) 
 +    * removed an unnecessary extra layer ''::Cypress::Fx3Device'' as it was buying us nothing 
 +    * %%CyUSB%%.h no longer #include's FX3.h (breaking circular dependency) 
 +    * support for new (and legacy) [[code:fx3_hvci_and_fpga_i_c_commands#fx3_version_info_c_c_-struct|version info formats]] 
 +    * firmware update no longer overestimates the number of sectors to erase on SPI flash 
 +    * bugfixes 
 +      * ugly formatting of firmware version info 
 +      * non-printable characters in version check URL 
 +      * USB "single transfer" header's length was sometimes set incorrectly 
 +      * long-standing issue of incorrectly using BULK EP4 when accessing I²C on the camera 
 +      * potential memory corruption in one corner case 
 +      * call to %%DeviceIoControl%% is using the same buffer for both IN and OUT because of a driver from Cypress, so needed a reasonable workaround (far from perfect) 
 +      * occasional infinite wait on exit (causing the host application to stay in memory) 
 +  * SCC 
 +    * sensor Console 
 +      * dialog is now resizable 
 +      * added register bulk compare to diff long lists of register/value pairs against either defaults or currently present values on camera 
 +      * "Use group write" is no longer the default behavior 
 +    * make %%LvL%% limits all the way to full scale of ''512'' 
 +    * FPGA console 
 +      * now lists I²C-related APIs 
 +      * increased width of input boxes to accommodate 32-bit hex values 
 +      * under certain conditions "write" command was ignored 
 +    * new I²C console (for expert users) 
 +    * more robust handling of being run in offline mode 
 +    * a new FX3 firmware can now be loaded into RAM ([Shift]-drag-n-drop of a file) 
 +    * support for dedicate SDI output - requires Gen5 camera 
 +    * bugfixes 
 +      * potential memory corruption in FPGA console 
 +      * Sensor console script now properly ignores comments (those that begin with a semicolon ";"
 +  * Aria 
 +    * display true MIPI speed (FPS produced by sensor itself) - requires FPGA v76+ 
 +    * bugfixes 
 +      * crash on startup if sensor is inaccessible 
 +  * Installer 
 +    * removed that ancient Gen2 control center, a.k.a. "old radio" 
 + 
 +===== 2.5.0: 2021-06-28 ===== 
 +  * **This version is no longer supporting older FX3 code that is before v.54** 
 +  * Code general: 
 +    * start using C++20 features 
 +      * concepts 
 +      * ''std::span'' instead of ''gsl::span'' 
 +      * union{}'s now allow for default initializers in declaration (C++20) 
 +      * `using enum XXX` inside a switch() 
 +      * ''std::format'' 
 +    * Consequently stop using ''ptrdiff_t'' where it is supposed to be ''size_t'' 
 +    * Consequently removed a whole lot of unnecessary type casts 
 +    * (Re-)introduce Win32 target((for an extremely narrow and very targeted audience)) 
 +    * Use ''std::wstring'' instead of Windows's ''CString'' as much as possible 
 +    * (internal) fixed a tiny bug in resource editing utility when using UNIX timestamp template replacement 
 +    * (internal) start using the new EV signing hardware token instead of the now-outdated certificates 
 +  * SUB2r-lib: 
 +    * Introductory support for OV48C40 sensor (full support planned for later release) 
 +    * Dropped support for OV2770 sensor (it went out of fashion) but added((just for fun)) support for OV9713 and OV9755 ones 
 +    * A few minor code fixes (potential bugs) 
 +    * Continue improving the library 
 +    * Remove dependency on GSL 
 +    * Remove the now unused ''UFix_8_8'' class 
 +    * Re-introduce "native" Bulk Color Grading API support (which was previously faked via a bunch of non-bulk API calls) - requires **FX3 v.55+** 
 +    * Introducing support for HVL and SVS Color Grading tables - requires **FX3 v.58+** and **FPGA v.73+** 
 +    * Renamed enum ''erase_spi_flash'' to ''inval_spi_flash'' 
 +    * Added support for ''fx3_dbg_get_struct'' - new FX3 debug API 
 +      * New ''usb_descr'' example code to demonstrate the use of this new API to access USB descriptors 
 +    * Support moving assignment for ''%%IImgSensorChip%%'' 
 +    * Initial support for CMX 
 +    * removed unneeded [nodiscard]] directives 
 +    * use PUIntxx structures to work with bytes of ints 
 +    * fixed a problem where the library would read a trailing '\0' in the device name as part of the string, causing string truncation down the line 
 +    * added a few noexcept specifiers 
 +    * merge PropUint16{} into PropInt{} 
 +    * added _force_non_bulk to CG::read() and CG::readBulk() 
 +    * remove code that supports really old versions of FX3 
 +    * simplified the CG::_read() a bit 
 +    * LvL is 13 bits starting with FPGA v.73 
 +  * SCC: 
 +    * Now targeting Windows 10 platform version 10.0.19041.0 and MSVC++ Redistributables v14.28.29325 
 +    * Added support for SVS and HVL Color Grading tables 
 +    * Support for CMX, a.k.a. CCM (Color Correction Matrix). For now only in "playground" mode 
 +    * FPGA console window is now fully resizable 
 +    * fixed bug in saving/loading pre-52 HvS and LvS presets 
 +      * and... remove support for those old versions anyway ;-) 
 +    * removed now unused toHex() functions 
 +    * support the "fatalError API" in FPGA console (via writing into "check BL" call) 
 +    * properly check for wValue's valid range in _runCmd() 
 +    * CMX default values 
 +    * Only enable CMX for FX3 v.57+ 
 +    * LvL for FPGA v.73+ 
 +    * UVC "auto" settings are now properly loaded from saved settings' files 
 +    * Properly load CG tables that are not present in the settings' file (just leave those omitted values be) 
 +  * Aria 
 +    * Open viewer in an "independent" app window so that it can be properly recorded by MS's "Game Bar" 
 +  * Installer: 
 +    * Is now built as a UNICODE application 
 +    * Remove the broken driver from the installation (the correct one is now available on Windows Update and requires no user intervention to install/manage) 
 +    * Fixed a minor issue with upgrading to newer MSVC++ Redistributables 
 +    * Up the VC++ redist. version 
 +    * Up the SUB2r-lib version 
 +    * Fewer progress messages 
 +    * This will also be the last version that includes some really-really old software that was included solely for nostalgic reasons 
 + 
 + 
 +===== 2.4.3: 2020-05-01 ===== 
 +  * SUB2r-lib: 
 +    * CG bulk write was writing out wrong values when writing short arrays (shorter than full-size 64-element array) 
 +  * SCC: 
 +    * mouse scroll in FPS control has a step of ''0.25'' now (used to be an impractical ''0.005''
 + 
 +===== 2.4.2: 2020-04-29 ===== 
 +  * SUB2r-lib: 
 +    * support for true Color Grading Bulk API (req. FX3 v.55+) 
 +    * fixed a vague function overload 
 +  * SCC: 
 +    * FPGA console now allows to run a read operation even if the ''Value'' field is not empty 
 +    * Color Grading dialogs are now capable of utilizing the new Bulk API 
 + 
 +===== 2.4.1: 2020-04-15 ===== 
 +  * SUB2r-lib: 
 +    * sysinfo (%%SysInternals%%) API V1 is now ready for prime time (will be available automagically once the next version of FX3 rolls out) 
 + 
 +  * SCC: 
 +    * %%SysInternals%% (FX3 v.53+) dialog box that shows some internal system information for a connected SUB2r device 
 +    * on-board fan can now be controlled manually (also need FX3 v.53+) 
 +    * fixed a bug were some values (in the dialogs that have not been manually opened yet during this session) were at ''0'' instead of the proper values read from the camera 
 + 
 +===== 2.4.0: 2020-03-13 ===== 
 +  * SUB2r-lib: 
 +    * first iteration of adding a "%%SysInfo%%" support - will be automagically enabled once the core functionality is implemented on camera 
 +    * added a new sample program to demo the usage of the new %%SysInfo%% API and another one to demo the use of floating point values in API 
 +    * implemented ISO and INT USB endpoints 
 +    * fixed an issue with supporting "raw video" switch 
 +    * added simplified API support for DPC threshold and count 
 +    * adjusted the bit-width of the Black Level value to better match the practical range 
 +    * narrowed the sensor's Global Gain range to better represent the reality (the OV documentation is once again misleading...) 
 +    * properly reset version info when connecting to a different device (in multi-device setups) 
 +    * support for IEEE 754 floating point values' use in API 
 +    * "transaction" support for sensor group writes to properly handle nested requests 
 +    * fixed an issue with reading sensor's standby mode value 
 +  * SCC: 
 +    * improved Automated DPC algorithm 
 +    * "demo mode" (in Playground for now) - a way to cycle through a list of settings' files with a set delays after each load 
 +    * minor improvements in firmware update log's messaging 
 +    * properly handle the "raw video" mode in UI 
 +    * drag-n-drop support for 3 types of files: settings (.fws), FX3 code (.img), FPGA code (.bin) 
 +    * fixed a long-standing issue of loading settings' file breaking the video stream 
 +    * improved "group write" usage for writing multi-register values to sensor 
 +    * FPS fine-tuning and sensor binning controls (will be enabled with the next version of firmware) 
 +    * FPGA console: added a command to the list for switching the camera into Bootloader Mode (for programming a new firmware image with Cypress Control Center) 
 +    * removed Playground's AWB settings dialog as the functionality of using color temperature for white balance is coming to camera's firmware code in the next version 
 +    * Color Grading: HvS and LvS ranges are reworked to match the new Saturation limits coming in the next version of firmware 
 +    * LvL sliders were occasionally getting into negative values - this is fixed now 
 +    * switching to "Sensor" tab no longer forces a spontaneous reload of values onto camera 
 +    * autofunctions' auto-update interval limits are different between FX3 v.51 and v.52 - SCC automatically updates the range based on the version 
 +  * aria: 
 +    * UVC dialog box improvement: UVC spec allows for the STEP to be inferred from MIN and MAX values for most of Processing Unit's controls 
 +    * launching UVC dialog no longer writes just read values back to camera 
 + 
 +===== 2.3.14: 2019-11-12 ===== 
 +  * frankie: (finally) addressed the USB enumeration notification (that Windows sends every single time there's **any** change in USB configuration anywhere in the system). The SCC should be much quieter now and only react on changes that it cares about (also should be honoring the "Track device change notifications" preference when a new device is plugged in) 
 + 
 +===== 2.3.13: 2019-11-08 ===== 
 +  * frankie: 
 +    * Color Grading dialog - remove (invisible) unused controls 
 +    * Color Grading: add LvS and LvL 
 +    * Color Grading: support for "curves" for all CG 
 +    * Color Grading: added "help" that opens a wiki page with description of various shortcuts used in that GUI 
 +    * Color Grading: optimized API calls a bit reducing the USB traffic by up to 50% in some cases and by 25% in most cases
  
 ===== 2.3.12: 2019-10-13 ===== ===== 2.3.12: 2019-10-13 =====

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information