|
1 | 1 | # Release Notes |
2 | 2 |
|
| 3 | +## 2.2-GA, August 2025 |
| 4 | + |
| 5 | +### Dependencies |
| 6 | + |
| 7 | +- IGX: [IGX-SW 1.1.2 Production Release](https://developer.nvidia.com/igx-downloads) |
| 8 | +- AGX: Use [SDK Manager](https://developer.nvidia.com/sdk-manager) to set up JetPack |
| 9 | + 6.2.1. |
| 10 | +- Holoscan Sensor Bridge, 10G; FPGA v2507. |
| 11 | + |
| 12 | +Be sure and follow the installation instructions included with the release, including |
| 13 | +PTP configuration and HSB device firmware updates. To generate documentation, in the |
| 14 | +host system, run `sh docs/make_docs.sh`, then use your browser to look at |
| 15 | +`docs/user_guide/_build/html/index.html`. |
| 16 | + |
| 17 | +### Updates from 2.0-GA |
| 18 | + |
| 19 | +- **HSB 2.2-GA relies on FPGA IP version 2507.** Check the user guide for instructions |
| 20 | + on how to update your configuration. Note that updating your FPGA is only supported |
| 21 | + for configurations currently running the 2412 or newer version (included with 2.0-GA). |
| 22 | + If your configuration is older, follow the instructions to update to 2.0 first. |
| 23 | + |
| 24 | +- **HSB is updated to work with Holoscan SDK 3.3.** See the |
| 25 | + [release notes for HSDK 3.3 here.](https://github.com/nvidia-holoscan/holoscan-sdk/releases/tag/v3.3.0) |
| 26 | + |
| 27 | +- **Synchronized I2C transactions.** By default, the `i2c_transaction` API executes an |
| 28 | + I2C bus transaction immediately. Imx274Cam now includes a demonstration method called |
| 29 | + `synchronized_set_register`, which queues an I2C transaction to update a camera |
| 30 | + configuration register in the blanking interval between video frames. You can see how |
| 31 | + this works by following calls to `Imx274Cam.synchronized_test_pattern_update()` as |
| 32 | + called in `tests/test_i2c.py`. |
| 33 | + |
| 34 | +- **C++ Tools and utilities, including FPGA programming.** Support for systems without |
| 35 | + python is enhanced by moving some tools to a C++ implementation. This includes |
| 36 | + |
| 37 | + - `program_lattice_cpnx100` for programming Lattice CPNX100 based HSB boards |
| 38 | + - `hololink-reset` (which replaces the `hololink reset` command) |
| 39 | + - `hololink-enumerate` (which replaces the `hololink enumerate` command) |
| 40 | + - `hololink-set-ip` (which replaces the `hololink set-ip` command) |
| 41 | + - `hololink-read` and `hololink-write` (replace the `hololink read` and |
| 42 | + `hololink write` commands) |
| 43 | + |
| 44 | + Run any of these scripts with `--help` to get a description of command-line options. |
| 45 | + The `hololink` command (which is python based) will be deprecated in a future release. |
| 46 | + |
| 47 | +- **Support for Leopard Imaging VB1940.** This includes support for stereo imaging with |
| 48 | + left and right synchronized operation with global shutter. HSB also provides support |
| 49 | + for the on-board IMU: IMU data is sent to the host via a third data channel and (on |
| 50 | + appropriately equipped systems) is written directly to GPU memory via RDMA. This |
| 51 | + camera sends all data using a single network interface. For example code showing how |
| 52 | + to configure and access this data, see `examples/vb1940_stereo_imu_player.py`. |
| 53 | + |
| 54 | +- **COE (P1722B) Support.** Software emulation is provided for another RDMA message |
| 55 | + format specified by the upcoming P1722B COE ("camera over Ethernet") standard. Future |
| 56 | + host systems will support RDMA of P1722B traffic; this release includes HSB FPGA |
| 57 | + support for generating these messages and software handling of received data using CPU |
| 58 | + and the Linux network stack. |
| 59 | + |
| 60 | +- **E-con IMX715 and E-con ECam0M30ToF depth sensors.** For examples using these |
| 61 | + configurations, see `examples/imx715_player.py` and `examples/ecam0m30tof_player.py`. |
| 62 | + |
| 63 | +### FAQ |
| 64 | + |
| 65 | +- If your application, running in the demo container, halts with a "Failed to initialize |
| 66 | + glfw" message, make sure to grant the application permission to connect with the |
| 67 | + display via the "xhost +" command. This command is not remembered across reboots. |
| 68 | + |
| 69 | +- Reverting to FPGA 2412 on Lattice HSB units. If you need to revert a Lattice HSB unit |
| 70 | + back to 2412, use the 2.2-GA tree and program with the 2412 manifest file. From within |
| 71 | + the demo container: |
| 72 | + |
| 73 | + ```sh |
| 74 | + program_lattice_cpnx100 scripts/manifest-2412.yaml |
| 75 | + ``` |
| 76 | + |
| 77 | + After programming and power cycling, you can update your tree, going back to the |
| 78 | + 2.0-GA release. |
| 79 | + |
| 80 | +- PTP configuration following boot-up is very touchy and error-prone. If you have |
| 81 | + trouble with received PTP timestamps, make sure you follow the user guide |
| 82 | + [host setup instructions](https://docs.nvidia.com/holoscan/sensor-bridge/latest/setup.html) |
| 83 | + carefully. |
| 84 | + |
| 85 | +- Running tools like "nomachine" on non-RDMA capable systems--where CPU is used to |
| 86 | + emulate RDMA functionality, e.g. AGX-- can frequently lead to packet drops for |
| 87 | + high-speed sensor data. In camera applications, this can appear as momentary white |
| 88 | + streaks on the display. In the current CPU-driven implementation, after a video frame |
| 89 | + is delivered to the holoscan pipeline, we clear the receiver buffer to all 0xFF. If a |
| 90 | + UDP packet with video data is dropped, then that 0xFF wouldn't be replaced with actual |
| 91 | + video data-- and that's where the white streaks come from. Adjusting `rmem_max` (per |
| 92 | + [host setup instructions](https://docs.nvidia.com/holoscan/sensor-bridge/latest/setup.html)) |
| 93 | + and adjusting core affinity for your application may help mitigate packet loss. |
| 94 | + |
| 95 | +### Known Anomalies |
| 96 | + |
| 97 | +- Rare observations of IMX274 producing images with distorted video, which seem to be |
| 98 | + system specific. Investigation of this is underway. |
| 99 | + |
| 100 | +- Watchdog timeouts during `pytest --imx274 --ptp`. Testing sometimes terminates early |
| 101 | + with a Watchdog exception, indicating that the host is not properly receiving frame |
| 102 | + data. This happens occasionally during testing and in varying places, and only under |
| 103 | + conditions where frequent reset and reinitialization of the HSB unit and sensor occur. |
| 104 | + Investigation of this is underway. |
| 105 | + |
3 | 106 | ## 2.0-GA, January 2025 |
4 | 107 |
|
5 | 108 | ### Dependencies |
@@ -77,7 +180,7 @@ look at `docs/user_guide/_build/html/index.html`. |
77 | 180 | manifest file. From within the demo container: |
78 | 181 |
|
79 | 182 | ```sh |
80 | | - hololink program scripts/manifest-2407.yaml |
| 183 | + program_lattice_cpnx100 scripts/manifest-2407.yaml |
81 | 184 | ``` |
82 | 185 |
|
83 | 186 | After programming and power cycling, the board will no longer be visible to the 2.0-GA |
|
0 commit comments