Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
support:firware_revision_history [2020/03/17 15:30] – Igor Yefmov | support:firware_revision_history [2022/04/04 23:32] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Firmware revision history ====== | ====== Firmware revision history ====== | ||
+ | |||
+ | ===== Compatibility matrix ===== | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * empty cell - not supported (major differences in how the two modules interact with each other) | ||
+ | |||
+ | ^ \(_{FX3}\) \ \(^{FPGA}\) ^ 70 ^ 71 ^ 72 ^ 73 ^ | ||
+ | ^ 51 | ✔ | | ||
+ | ^ 52 | | ||
+ | ^ 53 | | ||
+ | ^ 54 | | ||
+ | ^ 55 | | ||
+ | ^ 56 | | ||
+ | ^ < | ||
+ | ^ 58 | | ||
===== FX3 ===== | ===== FX3 ===== | ||
- | ==== 52 ==== | + | ==== Upcoming: ==== |
- | * **Previous settings' | + | * USB descriptors |
- | * Support for the " | + | * USB descriptors now correctly conform to UVC 1.1 standard |
- | * Color Grading writes into FPGA are now processed asynchronously (for example an LvL full load results in 1,345 I²C bus requests!) | + | * Explicitly specify the Color mode in UVC descriptors |
+ | * the camera is now properly classified as a USB “Composite device” | ||
+ | * Set the end-point bulk service interval parameter to 0 for Video IN EP (as per USB spec) | ||
+ | * Preliminary work on supporting (upcoming) USB 2.x High (480 Mbps) and Full (12 Mbps) speeds | ||
+ | * Specified USB 2.x USB descriptors and supporting structures | ||
+ | * added handler for GetDescriptor() for "other configuration" | ||
+ | * Preliminary work on supporting driver-less Windows operation via the use of WINUSB device type | ||
+ | * Correct the USB BOS descriptor' | ||
+ | * Correct the %%VideoProbeAndControl' | ||
+ | * Correct the MS OS Platform Capability descriptor' | ||
+ | * Fixed a few issues reported by USB-IF' | ||
+ | * Bug fixes | ||
+ | * (FINALLY!) Found the root cause for one of the longest standing " | ||
+ | * DPC calibration procedure no longer forces the on-board fan to be turned off | ||
+ | * Fixed a bug in FPGA re-programming ((the code was failing to re-init the I/O matrix to allow the re-programming)) | ||
+ | * UVC functionality | ||
+ | * set YUY2 as the preferred video format (instead of NV12) for both USB and SDI/HDMI output | ||
+ | * introducing support for UVC GAIN control (of course manually modifying the UVC GAIN causes the Auto-exposure to get turned off) | ||
+ | * Auto white-balance is greatly simplified (and performs better) | ||
+ | * when turning AWB on - set the initial gains to sensible defaults | ||
+ | * AWB is noticeably less hectic with the introduction of hysteresis use | ||
+ | * AWB is not " | ||
+ | * AE and AWB are much more responsive (for a short time) when a need for correction is detected (dynamically adapt the effective interval based on activity) | ||
+ | * fixed stroboscope effect caused by ISP running way too fast for its own good (auto-exposure) | ||
+ | * do not auto-restart the video when handling Clear Feature endpoint request | ||
+ | * removed UVC eXtension Unit (currently unused) | ||
+ | * New features and improvements | ||
+ | * Improved detection of SFP+ module insertion | ||
+ | * (Better) support for FPGA version 73 | ||
+ | * re-worked ISP defaults for the new video pipeline implementation | ||
+ | * LVL color grading is now much-much faster | ||
+ | * With new LVL defaults | ||
+ | * New API to store Color Grading defaults on FX3 ((in a centralized place, accessible by SUB2r-lib and, consequently, | ||
+ | like SCC)) ((utilizes [[code: | ||
+ | * a few rounds of stability improvements | ||
+ | * finally figured out a usable way to display API error code in fatalError() handler by using flashing LED, where red flashes are for the " | ||
+ | * Debugging (you don't really care about this one) | ||
+ | * a new API (([[code: | ||
+ | * (internal) improvements to logging | ||
+ | * performance stats are available via API (spec to be finalized) | ||
+ | * yet another new API (spec to be finalized) to access internal global state variables of the FX3 code | ||
+ | * writing a value into '' | ||
+ | |||
+ | ==== Cancelled: 58 ==== | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | *< | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | |||
+ | ==== 2020-06-01: 57 ==== | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | * < | ||
+ | |||
+ | ==== 2020-05-05: 56 ==== | ||
+ | * a whole slew of additional FPS options | ||
+ | * removed unnecessary video pipeline start when handling USB CLEAR FEATURE request, improving the stability somewhat | ||
+ | * fixed an issue with FPGA firmware upgrade code | ||
+ | |||
+ | ==== 2020-04-29: 55 ==== | ||
+ | * Color Grading " | ||
+ | * fixed 4K@30fps NV12 video streaming | ||
+ | * (final?) massive code refactoring | ||
+ | * start FPGA in " | ||
+ | * make the initial CG tables' | ||
+ | |||
+ | ==== 2020-04-19: 54 ==== | ||
+ | * bugfix - there was a regression in '' | ||
+ | |||
+ | ==== 2020-04-16: 53 ==== | ||
+ | * " | ||
+ | * UVC White Balance temperature limit increased to 7000°K | ||
+ | * improved stability (no more race condition in UVC handler code) | ||
+ | * on-board fan now turns on if a module is plugged into SFP+ cage and is active (**requires FPGA v.72+**) | ||
+ | * a lot of code refactoring | ||
+ | |||
+ | ==== 2020-03-15: | ||
+ | * **Previous | ||
+ | * Support for the " | ||
+ | * Color Grading writes into FPGA are now processed asynchronously (for example an LVL full load results in 1,345 I²C bus requests!) | ||
* UVC " | * UVC " | ||
* UVC "white balance temperature control" | * UVC "white balance temperature control" | ||
Line 31: | Line 142: | ||
===== FPGA ===== | ===== FPGA ===== | ||
- | ==== 71 ==== | + | ==== upcoming: ==== |
- | * Support for the " | + | * Added SVS and HVL color grading modes (**requires FX3 v. 58+**) |
+ | * LVL interpolation is now done in FPGA, moved from FX3 (**requires FX3 v. 58+**) | ||
+ | * New UVC and Color Grading defaults | ||
+ | * UVC Brightness + UVC Contrast + CG LVL are now combined together (optimization) and are at the front of the imaging pipeline | ||
+ | * A fix for the "first column" | ||
+ | * LVL and HVL color gradings now operate on relative (adjustment) values, instead of absolute (replace) ones. **This is a breaking change for saved config files** | ||
+ | |||
+ | ==== 2020-04-16: 72 ==== | ||
+ | * on-board fan is now controlled via bit #6 of control register (0x06) | ||
+ | * the code is now built using Vivado 2019 (and uses some fewer transistors as a result) | ||
+ | |||
+ | ==== 2020-03-15: | ||
+ | * Support for the " | ||
* Corrected " | * Corrected " | ||
- | * Saturation is no longer done as Vibrancy - that change affected UVC, HvS, LvS | + | * Saturation is no longer done as Vibrancy - that change affected UVC, HVS, LVS |
* ground work is done for "FPGA test patterns" | * ground work is done for "FPGA test patterns" | ||
* .gitignore enhancements in an effort to bring the size of the repo significantly down | * .gitignore enhancements in an effort to bring the size of the repo significantly down |