From 49191b3a154b991089297c5a489b4419c6304432 Mon Sep 17 00:00:00 2001 From: Hayodea Hekol Date: Wed, 26 Nov 2025 03:39:39 -0400 Subject: [PATCH] PcloudStimProd: ambienceHighVal is now a negtrin threshold --- docs/livox-gen1-lidar-dap-spec.md | 13 +------------ stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp | 10 ++++++---- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/docs/livox-gen1-lidar-dap-spec.md b/docs/livox-gen1-lidar-dap-spec.md index e525a2c..7331c9b 100644 --- a/docs/livox-gen1-lidar-dap-spec.md +++ b/docs/livox-gen1-lidar-dap-spec.md @@ -37,20 +37,12 @@ Each stim-buff-api is designed to work with specific stim-iface libraries that u **Syntax**: ``` -+idev | avia0 | pcloudAmbience | livoxGen1-pcloud(high-val=120) | livoxProto1(command-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39 ++idev | avia0 | pcloudAmbience | livoxGen1-pcloud() | livoxProto1(command-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39 ``` **Stim-Buff-API**: `livoxGen1-pcloud` **Quale-Iface-API**: `pcloudAmbience` - Counts points with intensity >= threshold per slot -**Ambience High Value Parameter** (for pcloudAmbience quale-iface-api): -- **Parameter names**: `high-value` or `high-val` (synonyms) -- **Purpose**: Threshold value for counting high-intensity points in the ambience buffer -- **Default value**: 116 -- **Usage**: Points with intensity >= `ambienceHighVal` are counted in the ambience buffer per slot -- **Configuration**: Specified in `stim-buff-api-params` when using `pcloudAmbience` quale interface -- **Example**: `high-val=120` or `high-value=120` - **Postrin Support** (for pcloudAmbience quale-iface-api): The `pcloudAmbience` quale-iface-api can supply postrins (positive intrinsic stimuli). The default threshold values for postrin importance levels are: @@ -181,7 +173,6 @@ Each stim-buff-api accepts device-specific parameters: |-----------|-------------|---------|---------| | `data-rate-hz` | Data sampling rate in Hz | - | `data-rate-hz=10` | | `n-dgrams-per-frame` / `num-dgrams-per-frame` | Number of UDP datagrams per staging buffer frame | 84 | `n-dgrams-per-frame=84` or `num-dgrams-per-frame=84` | -| `high-value` / `high-val` | Threshold for counting high-intensity points in ambience buffer (for `pcloudAmbience` quale-iface-api) | 116 | `high-val=120` or `high-value=120` | ### Quale-Iface-API Parameters @@ -195,8 +186,6 @@ The `pcloud` quale-iface-api accepts format parameters: | `dual-cartesian` | Dual Cartesian coordinate system | | `dual-spherical` | Dual spherical coordinate system | -The `pcloudAmbience` quale-iface-api uses the `high-value` / `high-val` parameter (documented in Stim-Buff-API Parameters above) to determine the intensity threshold for counting high-intensity points per slot. - ## Device Discovery and Connection The specification uses a retry-based connection strategy with two different approaches: diff --git a/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp index cb22e56..3fa50b5 100644 --- a/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp +++ b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp @@ -308,14 +308,16 @@ std::cout << __func__ << ": $$$$$$$ Created PcloudIntensityStimulusBuffer" << st } else if (qualeIfaceApi == "pcloudAmbience") { - // Parse ambienceHighVal from stimBuffApiParams + // Parse ambienceHighVal from qualeIfaceApiParams (temporary, undocumented) const std::vector ambienceHighValParamNames = { - "high-value", - "high-val" + "negtrin-intolerable-threshold", + "negtrin-intolerable", + "intolerable-threshold", + "intolerable" }; int ambienceHighValInt = device::DeviceAttachmentSpec ::parseOptionalParamAsIntWithSynonyms( - deviceAttachmentSpec->stimBuffApiParams, + deviceAttachmentSpec->qualeIfaceApiParams, ambienceHighValParamNames, 116); uint32_t ambienceHighVal = static_cast(ambienceHighValInt);