JetPack 7.2 SIPL Migration Guide#
This page summarizes the customer-visible migration items when moving SIPL applications, UDDF drivers, and SensorSystemConfig JSON files from JetPack 7.1 to JetPack 7.2.
JetPack installs the released SIPL API files under
/usr/src/jetson_sipl_api/sipl. Examples in this guide use sipl/ as the
source-tree root.
Package Layout, Build, and Install Changes#
Area |
JetPack 7.1 |
JetPack 7.2 |
|---|---|---|
Installed source tree |
|
|
Driver install path |
|
|
Sample app install path |
|
|
Unified camera app |
|
|
Unified query app |
|
|
Driver build meta-target |
|
|
Eagle target |
|
|
Update build scripts, install manifests, and deployment instructions to use the
installed source tree and new install paths. CameraHAL discovers UDDF driver
libraries from /usr/lib/nvsipl_drv/.
Query and Configuration API Changes#
Camera configuration types moved from nvsipl:: into
nvsipl::sensorconfig::. Qualify these names explicitly or add an appropriate
using declaration.
JetPack 7.1 |
JetPack 7.2 |
Notes |
|---|---|---|
|
|
Top-level sensor system config |
|
|
Per-module config |
|
|
CoE module variant |
|
|
GMSL module variant |
|
|
|
CameraDeviceInfoList now exposes module-level and transport-level lists:
coeModuleList, gmslModuleList, coeTransportList, and
gmslTransportList. The older component lists such as sensorInfoList,
eepromInfoList, serInfoList, and deserInfoList were removed from
the query result. Iterate module configs and then inspect the active
ModuleConfig::moduleType variant to access CoE or GMSL sensor details.
INvSIPLCameraQuery::ParseDatabase() must be called before
ParseJsonFile():
auto query = nvsipl::INvSIPLCameraQuery::GetInstance();
status = query->ParseDatabase();
if (status != NVSIPL_STATUS_OK) {
return status;
}
if (!jsonFile.empty()) {
status = query->ParseJsonFile(jsonFile);
}
ParseDatabase() loads the built-in sensor, module, and transport database
from query libraries under /usr/lib/nvsipl_drv/. ParseJsonFile() then
overlays custom configuration on top of that database.
SensorSystemConfig JSON Changes#
JSON name matching is case-sensitive in JetPack 7.2. Module, transport, sensor,
serializer, and deserializer names must match the corresponding database entry
or UDDF DriverInfo.name exactly.
Migration item |
JetPack 7.2 requirement |
|---|---|
CoE names |
Use exact exported names such as |
Virtual channel input format |
Replace |
CoE stereo marker |
Remove |
HAWK FSYNC mode |
Replace |
HAWK sensor fields |
Add |
JetPack 7.2 also adds optional cameraConfigs[].moduleDriverName aliasing.
When present, the runtime uses moduleDriverName rather than name to
resolve the UDDF module driver and NITO. The name remains the selectable
configuration name for tools such as nvsipl_camera -c. If
moduleDriverName is absent, driver and NITO lookup falls back to name.
Common uses include:
Config |
|
Purpose |
|---|---|---|
|
|
Single-sensor HAWK variant |
|
|
Dual AR0234 without sensor-group sync |
|
|
Stereo CoE config sharing the VB1940 driver and tuning |
SIPL Notifications and Metadata#
The deprecated notification values NOTIF_INFO_ISP_PROCESSING_DONE and
NOTIF_INFO_ACP_PROCESSING_DONE were removed. Remove switch cases or handler
logic for those values.
JetPack 7.2 adds these notification types:
NOTIF_ERROR_ICP_AUTH_OUT_OF_ORDER(212)NOTIF_ERROR_ACP_SETTINGS_DISCONTINUITY(213)NOTIF_ERROR_INTR_RECOVERY(224)NOTIF_WARN_DEVICE_BLOCK_ERROR_INTR_DETECTED(225)NOTIF_ERROR_POWER_LOAD_SWITCH_FAILURE(226)
The deprecated ImageMetaData ISP-statistics fields were removed. Use
INvSIPLISPStatCustomInterface::GetIspStatsInfo() for ISP statistics.
UDDF Driver Migration#
Rebuild all out-of-tree UDDF drivers against the JetPack 7.2 headers. The UDDF
interface UUIDs for IGmslDeserializer, IGmslModuleControl,
IGmslSerializer, and ICoEBridgeControl changed, so drivers built against
JetPack 7.1 UUIDs will not load.
Header renames:
uddf/ddi/interfaces/ISensorControl.hpp->uddf/ddi/interfaces/ICameraSensorControl.hppuddf/cdi/hal/HSLDynamicSequence.hpp->uddf/cdi/hal/IHSLDynamicSequence.hpp
Removed headers:
uddf/cdi/hal/HSLBuilder.hppuddf/cdi/hal/HSLBuilderStatus.hppuddf/ddi/DriverTypeIds.hpp
ICoEBridgeControl no longer exposes the fixed HSB_MAX_SENSORS cap or
hsbMetadataResolution. CoEBridgeContext::InitConfig::ipAddress and
channelNumber are now std::vector fields. Size those vectors for the
number of sensors attached to the bridge instead of assuming a fixed count of
two sensors.
Stereo and FSYNC Updates#
GMSL stereo uses external FSYNC for HAWK AR0234 modules. Driver-facing public hooks include:
IGmslModuleControl::GetModuleFsyncTxId()GmslSerializerContext::GmslSerializerConfig::useExternalFsyncDeserializerContext::InitConfig::fsyncTxIdPerLink
CoE stereo uses a non-zero sensorInfo.sensorGroup on both sensors,
distinct deviceIndex values, and transportSettings[].sync_sensors set
to true. CoE bridges can use
CoEBridgeContext::initConfig.frameRate to select the VSYNC rate; CoE module
drivers receive the derived stereo state in
CoEModuleContext::config.isStereo.
For stereo groups, the secondary sensor reuses the primary sensor’s ISP program and auto-control output. Custom auto-control plugins should expect one control result to be applied to both sensors in the group.
Other Public API Additions#
FrameProcessingRatecontrols how often auto-control and ISP processing run for registered auto-control plugins.ISiplControlAuto::GetIspOverrideSettings()lets an auto-control plugin provide ISP override settings for the current frame.NvSiplControlAutoDef.hppaddsmultiCtxIDControland theISP_GTM_PLUGIN_OVERRIDE_MIN_CTRLPOINTS/ISP_GTM_PLUGIN_OVERRIDE_MAX_CTRLPOINTSlimits.MAX_CAMERAMODULES_PER_BLOCKis now8.MAX_VIRTUAL_CHANNELS_PER_SENSORis4.NvSIPLCapStructs.hadds 3-lane CSI interface values, RAW12 tightly packed input format support, 24-bpp user-defined datatype capture support, and RGB/BGR pixel order flags.
Migration Checklist#
Use
sipl/as the source-tree root, or the installed release path/usr/src/jetson_sipl_api/sipl/on Jetson targets.Update install scripts for
/usr/lib/nvsipl_drv/and/usr/sbin/.Qualify query and configuration types with
nvsipl::sensorconfig::.Rename
CameraSystemConfigand related config structs to the JetPack 7.2 names.Replace
GetCameraSystemConfig()calls withGetSensorSystemConfig().Call
ParseDatabase()before everyParseJsonFile()overlay.Update JSON names to exact case, replace
raw10packedwithraw10tp, and removeCoECamera.isStereo.Use
moduleDriverNamewhen one config should reuse another module driver and NITO.Rebuild all UDDF drivers against JetPack 7.2 headers.
Update custom CoE bridge drivers for vector-based
ipAddressandchannelNumberfields.Remove handlers for removed notification values and add handling for new error and warning notifications where appropriate.