Update livoxGen1 stimbuffapi
This commit is contained in:
@@ -11,13 +11,13 @@ or entire screens managed by the Xorg server.
|
|||||||
The general format of a DAP spec for the `xcb` stim-buff-api with the `xorg` provider
|
The general format of a DAP spec for the `xcb` stim-buff-api with the `xorg` provider
|
||||||
is:
|
is:
|
||||||
```
|
```
|
||||||
sensor-type|dev-identifier|stim-iface-api|xcb(stim-buff-api-params)|xorg(provider-params)|deviceSelector
|
sensor-type|dev-identifier|quale-iface-api|xcb(stim-buff-api-params)|xorg(provider-params)|deviceSelector
|
||||||
```
|
```
|
||||||
|
|
||||||
* `sensor-type` is always either '`+idev`' (interoceptor), '`+edev`'
|
* `sensor-type` is always either '`+idev`' (interoceptor), '`+edev`'
|
||||||
(extrospector), or '`+adev`' (actuator).
|
(extrospector), or '`+adev`' (actuator).
|
||||||
* `dev-identifier` is a user-defined name for this specific device instance.
|
* `dev-identifier` is a user-defined name for this specific device instance.
|
||||||
* `stim-iface-api` is the name of the StimIface library that should be used to
|
* `quale-iface-api` is the name of the StimIface library that should be used to
|
||||||
process the data from the stim buffer.
|
process the data from the stim buffer.
|
||||||
* `stim-buff-api` is `xcb` in this case, and the `stim-buff-api-params` in parentheses may be
|
* `stim-buff-api` is `xcb` in this case, and the `stim-buff-api-params` in parentheses may be
|
||||||
omitted, in which case the parentheses will be empty, but the parentheses
|
omitted, in which case the parentheses will be empty, but the parentheses
|
||||||
@@ -98,25 +98,25 @@ xcb(dev-string)|My\ Exact\ Window\ Name
|
|||||||
|
|
||||||
### To attach a specific window by name (substring match):
|
### To attach a specific window by name (substring match):
|
||||||
```
|
```
|
||||||
+edev|my-window|visual-stimiface|xcb(dev-substring)|xorg(display=0|screen=0)|my-window
|
+edev|my-window|visual-qualeiface|xcb(dev-substring)|xorg(display=0|screen=0)|my-window
|
||||||
```
|
```
|
||||||
This will attach to a window whose name contains "my-window" as a substring.
|
This will attach to a window whose name contains "my-window" as a substring.
|
||||||
|
|
||||||
### To attach a specific window by exact name:
|
### To attach a specific window by exact name:
|
||||||
```
|
```
|
||||||
+edev|my-window|visual-stimiface|xcb(dev-string)|xorg(display=0|screen=0)|My\ Exact\ Window\ Name
|
+edev|my-window|visual-qualeiface|xcb(dev-string)|xorg(display=0|screen=0)|My\ Exact\ Window\ Name
|
||||||
```
|
```
|
||||||
This will attach to a window whose name exactly matches "My Exact Window Name".
|
This will attach to a window whose name exactly matches "My Exact Window Name".
|
||||||
|
|
||||||
### To attach a specific window by numeric ID:
|
### To attach a specific window by numeric ID:
|
||||||
```
|
```
|
||||||
+edev|my-window|visual-stimiface|xcb(dev-id)|xorg(display=0|screen=0)|123456
|
+edev|my-window|visual-qualeiface|xcb(dev-id)|xorg(display=0|screen=0)|123456
|
||||||
```
|
```
|
||||||
This will attach to a window with the numeric ID `123456`.
|
This will attach to a window with the numeric ID `123456`.
|
||||||
|
|
||||||
### To attach the entire screen:
|
### To attach the entire screen:
|
||||||
```
|
```
|
||||||
+edev|my-screen|visual-stimiface|xcb()|xorg(display=0|screen=0)|all
|
+edev|my-screen|visual-qualeiface|xcb()|xorg(display=0|screen=0)|all
|
||||||
```
|
```
|
||||||
This will attach to the entire screen `0` of display `0`.
|
This will attach to the entire screen `0` of display `0`.
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ perceptual inputs -- like your own sense organs. For example, if you attach a
|
|||||||
camera as a sensor, salmanoff will experience it in the same way that you
|
camera as a sensor, salmanoff will experience it in the same way that you
|
||||||
experience the visual sense data from your eyes.
|
experience the visual sense data from your eyes.
|
||||||
|
|
||||||
## StimIface (Stimulus Interface):
|
## QualeIface (Quale Interface):
|
||||||
|
|
||||||
A StimIface is a **Stim**ulus **I**nter**face** library that connects to a
|
A QualeIface is a **Quale** **I**nter**face** library that connects to a
|
||||||
particular stim buffer and allows the mind to process the stim features
|
particular stim buffer and allows the mind to process the stim features
|
||||||
presented in the device's stim buffers. StimIface libraries replace the
|
presented in the device's stim buffers. QualeIface libraries replace the
|
||||||
previous notion of an implexor. They provide the interface between raw device
|
previous notion of an implexor. They provide the interface between raw device
|
||||||
data and the mind's processing capabilities.
|
data and the mind's processing capabilities.
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ data and the mind's processing capabilities.
|
|||||||
|
|
||||||
The general format of a DAP specification is:
|
The general format of a DAP specification is:
|
||||||
```
|
```
|
||||||
sensor-type|dev-identifier|stim-iface-api|stim-buff-api(api-params)|provider(provider-params)|dev-selector
|
sensor-type|dev-identifier|quale-iface-api|stim-buff-api(api-params)|provider(provider-params)|dev-selector
|
||||||
```
|
```
|
||||||
|
|
||||||
* `sensor-type` is always either '`+idev`' (interoceptor), '`+edev`'
|
* `sensor-type` is always either '`+idev`' (interoceptor), '`+edev`'
|
||||||
@@ -44,7 +44,7 @@ sensor-type|dev-identifier|stim-iface-api|stim-buff-api(api-params)|provider(pro
|
|||||||
This represents a logical device that can be accessed through multiple
|
This represents a logical device that can be accessed through multiple
|
||||||
providers and may expose multiple stim features. In a sense it's like a
|
providers and may expose multiple stim features. In a sense it's like a
|
||||||
sense organ or sense modality.
|
sense organ or sense modality.
|
||||||
* `stim-iface-api` is the name of the StimIface library that should be used to
|
* `quale-iface-api` is the name of the QualeIface library that should be used to
|
||||||
process the data from the stim buffer. This replaces the previous implexor
|
process the data from the stim buffer. This replaces the previous implexor
|
||||||
concept.
|
concept.
|
||||||
* `stim-buff-api` is the interface that provides access to a specific stim
|
* `stim-buff-api` is the interface that provides access to a specific stim
|
||||||
@@ -66,7 +66,7 @@ If there's more than one parameter item in a list of `stim-buff-api-params` or
|
|||||||
`provider-params`, then the individual items in a list of `stim-buff-api-param` or
|
`provider-params`, then the individual items in a list of `stim-buff-api-param` or
|
||||||
`provider-params` should be separated by the h-bar character (`|`). E.g:
|
`provider-params` should be separated by the h-bar character (`|`). E.g:
|
||||||
```
|
```
|
||||||
+edev|soundcard0|audio-stimiface|alsa-audio(shmem|param2|param3)|alsa()|cardname
|
+edev|soundcard0|audio-qualeiface|alsa-audio(shmem|param2|param3)|alsa()|cardname
|
||||||
```
|
```
|
||||||
|
|
||||||
Each parameter must be in one of these forms:
|
Each parameter must be in one of these forms:
|
||||||
@@ -78,9 +78,9 @@ Each parameter must be in one of these forms:
|
|||||||
|
|
||||||
The `stim-buff-api-params` should **never** include options related to the
|
The `stim-buff-api-params` should **never** include options related to the
|
||||||
stim buffer's type or format. The `stim-buff-api` must read and infer such
|
stim buffer's type or format. The `stim-buff-api` must read and infer such
|
||||||
configuration details from the `stim-iface-api` portion of the DAP spec, and
|
configuration details from the `quale-iface-api` portion of the DAP spec, and
|
||||||
configure itself accordingly to enable connection by the specified
|
configure itself accordingly to enable connection by the specified
|
||||||
stim-iface library in the way that it has been configured.
|
quale-iface library in the way that it has been configured.
|
||||||
|
|
||||||
`stim-buff-api-params` are for options that are:
|
`stim-buff-api-params` are for options that are:
|
||||||
- Device-specific (not modality-wide)
|
- Device-specific (not modality-wide)
|
||||||
@@ -148,33 +148,33 @@ required to effectuate the stim-buff controls.
|
|||||||
|
|
||||||
### To attach a particular window from a window manager:
|
### To attach a particular window from a window manager:
|
||||||
```
|
```
|
||||||
+edev|my-window|visual-stimiface|wayland()|wayland(server-socket)|window0
|
+edev|my-window|visual-qualeiface|wayland()|wayland(server-socket)|window0
|
||||||
```
|
```
|
||||||
Connect to the Wayland server that's listening on `server-socket`, using the
|
Connect to the Wayland server that's listening on `server-socket`, using the
|
||||||
`wayland` stim-buff-api. Ask that Wayland server to give salmanoff read-access to all of
|
`wayland` stim-buff-api. Ask that Wayland server to give salmanoff read-access to all of
|
||||||
the frames composited into the window buffer for `window0`. Use salmanoff's
|
the frames composited into the window buffer for `window0`. Use salmanoff's
|
||||||
`visual-stimiface` to process the visual data from that `window0`'s compositor buffer.
|
`visual-qualeiface` to process the visual data from that `window0`'s compositor buffer.
|
||||||
|
|
||||||
### To attach a window manager's entire rendered desktop:
|
### To attach a window manager's entire rendered desktop:
|
||||||
```
|
```
|
||||||
+edev|my-desktop|visual-stimiface|wayland()|wayland(listen-socket)|all
|
+edev|my-desktop|visual-qualeiface|wayland()|wayland(listen-socket)|all
|
||||||
```
|
```
|
||||||
In most cases, this is basically the same as attempting to attach all of the
|
In most cases, this is basically the same as attempting to attach all of the
|
||||||
underlying GFX server's output.
|
underlying GFX server's output.
|
||||||
|
|
||||||
Connect to the Wayland server that's listening on `listen-socket`, using the
|
Connect to the Wayland server that's listening on `listen-socket`, using the
|
||||||
`wayland` stim-buff-api. Ask that Wayland server to give salmanoff read-access to the
|
`wayland` stim-buff-api. Ask that Wayland server to give salmanoff read-access to the
|
||||||
entire compositor framebuffer. Use salmanoff's `visual-stimiface` to process the visual data from
|
entire compositor framebuffer. Use salmanoff's `visual-qualeiface` to process the visual data from
|
||||||
that Wayland server's compositor buffer.
|
that Wayland server's compositor buffer.
|
||||||
|
|
||||||
### To attach all of an Xorg server's gfx output to all screens:
|
### To attach all of an Xorg server's gfx output to all screens:
|
||||||
```
|
```
|
||||||
+edev|my-xorg-display|visual-stimiface|x11()|xorg(listen-socket)|all
|
+edev|my-xorg-display|visual-qualeiface|x11()|xorg(listen-socket)|all
|
||||||
```
|
```
|
||||||
|
|
||||||
Connect to the Xorg server that's listening on `listen-socket`, using the `x11`
|
Connect to the Xorg server that's listening on `listen-socket`, using the `x11`
|
||||||
stim-buff-api. Ask that Xorg server to let Salmanoff read out all of the frames written
|
stim-buff-api. Ask that Xorg server to let Salmanoff read out all of the frames written
|
||||||
out to all screens. Use salmanoff's `visual-stimiface` to process the visual data from the
|
out to all screens. Use salmanoff's `visual-qualeiface` to process the visual data from the
|
||||||
server's gfx framebuffer.
|
server's gfx framebuffer.
|
||||||
|
|
||||||
In most cases, this is basically the same as attempting to attach all of the
|
In most cases, this is basically the same as attempting to attach all of the
|
||||||
@@ -186,11 +186,11 @@ WM's output.
|
|||||||
|
|
||||||
### To attach all of an Xorg server's gfx output to a particular screen:
|
### To attach all of an Xorg server's gfx output to a particular screen:
|
||||||
```
|
```
|
||||||
+edev|my-screen|visual-stimiface|x11()|xorg(listen-socket)|:0
|
+edev|my-screen|visual-qualeiface|x11()|xorg(listen-socket)|:0
|
||||||
```
|
```
|
||||||
Connect to the Xorg server that's listening on `listen-socket`, using the `x11`
|
Connect to the Xorg server that's listening on `listen-socket`, using the `x11`
|
||||||
stim-buff-api. Ask that Xorg server to let Salmanoff read out all of the frames written
|
stim-buff-api. Ask that Xorg server to let Salmanoff read out all of the frames written
|
||||||
out to display `:0`. Use salmanoff's `visual-stimiface` to process the visual data from display
|
out to display `:0`. Use salmanoff's `visual-qualeiface` to process the visual data from display
|
||||||
`:0`'s framebuffer.
|
`:0`'s framebuffer.
|
||||||
|
|
||||||
* Implementation note:
|
* Implementation note:
|
||||||
@@ -199,30 +199,30 @@ out to display `:0`. Use salmanoff's `visual-stimiface` to process the visual da
|
|||||||
|
|
||||||
### To attach a camera device by connecting directly to its Linux driver:
|
### To attach a camera device by connecting directly to its Linux driver:
|
||||||
```
|
```
|
||||||
+edev|my-camera|visual-stimiface|v4l()|linux()|/dev/video0
|
+edev|my-camera|visual-qualeiface|v4l()|linux()|/dev/video0
|
||||||
```
|
```
|
||||||
We specify that we want to use the `linux` kernel's loaded driver to connect
|
We specify that we want to use the `linux` kernel's loaded driver to connect
|
||||||
to communicate with `/dev/video0`, via the `Video4Linux` stim-buff-api. We want salmanoff
|
to communicate with `/dev/video0`, via the `Video4Linux` stim-buff-api. We want salmanoff
|
||||||
to use the `visual-stimiface` library to process the visual data from `/dev/video0`'s stim buffer.
|
to use the `visual-qualeiface` library to process the visual data from `/dev/video0`'s stim buffer.
|
||||||
|
|
||||||
If `/dev/video0` is already consumed by another process, this may likely fail.
|
If `/dev/video0` is already consumed by another process, this may likely fail.
|
||||||
|
|
||||||
### To attach a microphone that's managed by ALSA server:
|
### To attach a microphone that's managed by ALSA server:
|
||||||
```
|
```
|
||||||
+edev|my-microphone|audio-stimiface|alsa-mic(shmem)|alsa()|cardname
|
+edev|my-microphone|audio-qualeiface|alsa-mic(shmem)|alsa()|cardname
|
||||||
```
|
```
|
||||||
|
|
||||||
Connect to the ALSA server via `shmem`, using the `alsa-mic` stim-buff-api. Request access to
|
Connect to the ALSA server via `shmem`, using the `alsa-mic` stim-buff-api. Request access to
|
||||||
the microphone function of the sound card with the name `cardname`. Use the
|
the microphone function of the sound card with the name `cardname`. Use the
|
||||||
`audio-stimiface` library to process the audio data from `cardname`'s microphone stim buffer.
|
`audio-qualeiface` library to process the audio data from `cardname`'s microphone stim buffer.
|
||||||
|
|
||||||
### To attach a thermal sensor managed by Linux:
|
### To attach a thermal sensor managed by Linux:
|
||||||
```
|
```
|
||||||
+idev|my-thermal|thermal-stimiface|thermal-zone()|linux()|/sys/class/thermal_zone0
|
+idev|my-thermal|thermal-qualeiface|thermal-zone()|linux()|/sys/class/thermal_zone0
|
||||||
```
|
```
|
||||||
|
|
||||||
Use the `thermal-zone` SysFS stim-buff-api provided by `linux` to connect to the sensor
|
Use the `thermal-zone` SysFS stim-buff-api provided by `linux` to connect to the sensor
|
||||||
`/sys/class/thermal_zone0`. Use the `thermal-stimiface` library to process the thermal data from
|
`/sys/class/thermal_zone0`. Use the `thermal-qualeiface` library to process the thermal data from
|
||||||
`thermal_zone0`'s heat stim buffer.
|
`thermal_zone0`'s heat stim buffer.
|
||||||
|
|
||||||
## Multiple Provider Examples:
|
## Multiple Provider Examples:
|
||||||
@@ -232,9 +232,9 @@ Use the `thermal-zone` SysFS stim-buff-api provided by `linux` to connect to the
|
|||||||
The same physical sound card `soundcard0` can be accessed through different providers:
|
The same physical sound card `soundcard0` can be accessed through different providers:
|
||||||
|
|
||||||
```
|
```
|
||||||
+edev|soundcard0|audio-stimiface|alsa-audio()|alsa()|card0
|
+edev|soundcard0|audio-qualeiface|alsa-audio()|alsa()|card0
|
||||||
||| +edev|soundcard0|audio-stimiface|direct-file-ops()|linux()|/dev/snd/pcmC0D0p
|
||| +edev|soundcard0|audio-qualeiface|direct-file-ops()|linux()|/dev/snd/pcmC0D0p
|
||||||
||| +idev|soundcard0|audio-stimiface|alsa-mic()|alsa()|card0
|
||| +idev|soundcard0|audio-qualeiface|alsa-mic()|alsa()|card0
|
||||||
```
|
```
|
||||||
|
|
||||||
This shows:
|
This shows:
|
||||||
@@ -247,9 +247,9 @@ This shows:
|
|||||||
A camera device `camera0` might expose different data streams:
|
A camera device `camera0` might expose different data streams:
|
||||||
|
|
||||||
```
|
```
|
||||||
+edev|camera0|visual-stimiface|v4l-rgb()|linux()|/dev/video0
|
+edev|camera0|visual-qualeiface|v4l-rgb()|linux()|/dev/video0
|
||||||
||| +edev|camera0|visual-stimiface|v4l-yuv()|linux()|/dev/video0
|
||| +edev|camera0|visual-qualeiface|v4l-yuv()|linux()|/dev/video0
|
||||||
||| +idev|camera0|thermal-stimiface|v4l-thermal()|linux()|/dev/video0
|
||| +idev|camera0|thermal-qualeiface|v4l-thermal()|linux()|/dev/video0
|
||||||
```
|
```
|
||||||
|
|
||||||
This shows the same camera device providing:
|
This shows the same camera device providing:
|
||||||
@@ -287,7 +287,7 @@ Separate individual DAP specifications with two consecutive h-bar
|
|||||||
characters (`||`),
|
characters (`||`),
|
||||||
like this:
|
like this:
|
||||||
```
|
```
|
||||||
+edev|my-window|visual-stimiface|wayland()|wayland(server-socket)|window0
|
+edev|my-window|visual-qualeiface|wayland()|wayland(server-socket)|window0
|
||||||
|| +edev|my-xorg-display|visual-stimiface|x11()|xorg(listen-socket)|all
|
|| +edev|my-xorg-display|visual-qualeiface|x11()|xorg(listen-socket)|all
|
||||||
|| +idev|my-thermal|thermal-stimiface|thermal-zone()|linux()|/sys/class/thermal_zone0
|
|| +idev|my-thermal|thermal-qualeiface|thermal-zone()|linux()|/sys/class/thermal_zone0
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -2,11 +2,20 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The LivoxGen1Lidar DAP specification defines how to attach to Livox Gen1 LiDAR devices and access their various data streams using a unified stim-buff-api with mode-based parameter selection.
|
The LivoxGen1Lidar DAP specification describes how to attach to Livox Gen1
|
||||||
|
LiDAR devices and access their various data streams. The Livox Gen1 LiDAR
|
||||||
|
presents multiple stim features, each with its own dedicated stim-buff-api.
|
||||||
|
|
||||||
## Stim-Buff-API Structure
|
## Stim-Buff-API Structure
|
||||||
|
|
||||||
The LivoxGen1Lidar DAP uses a unified stim-buff-api name `livoxGen1` with mode-based parameters to specify which data interface to present.
|
The LivoxGen1Lidar DAP uses multiple stim-buff-api names, one for each stim feature it presents:
|
||||||
|
|
||||||
|
* `livoxGen1-pcloud` - Point cloud coordinate data
|
||||||
|
* `livoxGen1-pcloudIntensity` - Point cloud intensity/reflectivity data
|
||||||
|
* `livoxGen1-gyro` - Gyroscope data from internal IMU
|
||||||
|
* `livoxGen1-accel` - Accelerometer data from internal IMU
|
||||||
|
|
||||||
|
Each stim-buff-api is designed to work with specific stim-iface libraries that understand the data format and processing requirements for that particular stim feature.
|
||||||
|
|
||||||
## DAP Specifications
|
## DAP Specifications
|
||||||
|
|
||||||
@@ -16,21 +25,11 @@ The LivoxGen1Lidar DAP uses a unified stim-buff-api name `livoxGen1` with mode-b
|
|||||||
|
|
||||||
**Syntax**:
|
**Syntax**:
|
||||||
```
|
```
|
||||||
+idev | avia0 | structural-stimiface | livoxGen1(mode=pointCloudIntensity) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
+idev | avia0 | pcloudIntensity | livoxGen1-pcloudIntensity(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
```
|
```
|
||||||
|
|
||||||
**Alternative Syntax** (all equivalent):
|
**Stim-Buff-API**: `livoxGen1-pcloudIntensity`
|
||||||
```
|
**Quale-Iface-API**: `pcloudIntensity` - Processes intensity/reflectivity data from point clouds
|
||||||
+idev | avia0 | structural-stimiface | livoxGen1(stim=pcloudIntensity) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
|
||||||
+idev | avia0 | structural-stimiface | livoxGen1(affordance=pCloudI) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
|
||||||
```
|
|
||||||
|
|
||||||
**Mode Parameter Values** (synonymous):
|
|
||||||
- `pointCloudIntensity`
|
|
||||||
- `pcloudIntensity`
|
|
||||||
- `pCloudIntensity`
|
|
||||||
- `pCloudI`
|
|
||||||
- `pcloudI`
|
|
||||||
|
|
||||||
### 2. Point Cloud Coordinate Data Device (Extrospector)
|
### 2. Point Cloud Coordinate Data Device (Extrospector)
|
||||||
|
|
||||||
@@ -38,15 +37,21 @@ The LivoxGen1Lidar DAP uses a unified stim-buff-api name `livoxGen1` with mode-b
|
|||||||
|
|
||||||
**Syntax**:
|
**Syntax**:
|
||||||
```
|
```
|
||||||
+edev | avia0 | structural-stimiface | livoxGen1(mode=pcloud,format=xyz) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
+edev | avia0 | pcloud(format=xyz) | livoxGen1-pcloud(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
```
|
```
|
||||||
|
|
||||||
**Mode Parameter Values** (synonymous):
|
**Alternative Format Examples**:
|
||||||
- `pcloud`
|
```
|
||||||
- `pCloud`
|
+edev | avia0 | pcloud(format=spherical) | livoxGen1-pcloud(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
- `pointCloud`
|
+edev | avia0 | pcloud(format=spherical-cartesian) | livoxGen1-pcloud(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
|
+edev | avia0 | pcloud(format=dual-cartesian) | livoxGen1-pcloud(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
|
+edev | avia0 | pcloud(format=dual-spherical) | livoxGen1-pcloud(data-rate-hz=10) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
|
```
|
||||||
|
|
||||||
**Format Parameter** (for point cloud modes):
|
**Stim-Buff-API**: `livoxGen1-pcloud`
|
||||||
|
**Quale-Iface-API**: `pcloud` - Processes spatial coordinate data from point clouds
|
||||||
|
|
||||||
|
**Format Parameter Values** (for pcloud quale-iface-api):
|
||||||
- `xyz`: Standard Cartesian coordinates (X, Y, Z)
|
- `xyz`: Standard Cartesian coordinates (X, Y, Z)
|
||||||
- `spherical`: Raw spherical coordinates
|
- `spherical`: Raw spherical coordinates
|
||||||
- `spherical-cartesian`: Spherical coordinates converted to Cartesian
|
- `spherical-cartesian`: Spherical coordinates converted to Cartesian
|
||||||
@@ -62,11 +67,11 @@ The LivoxGen1Lidar DAP uses a unified stim-buff-api name `livoxGen1` with mode-b
|
|||||||
|
|
||||||
**Syntax**:
|
**Syntax**:
|
||||||
```
|
```
|
||||||
+idev | avia0 | gyro-stimiface | livoxGen1(mode=gyro) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
+idev | avia0 | gyro | livoxGen1-gyro(data-rate-hz=100) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
```
|
```
|
||||||
|
|
||||||
**Mode Parameter Values**:
|
**Stim-Buff-API**: `livoxGen1-gyro`
|
||||||
- `gyro`
|
**Quale-Iface-API**: `gyro` - Processes gyroscope angular velocity data
|
||||||
|
|
||||||
### 4. IMU Accelerometer Data Device (Interoceptor)
|
### 4. IMU Accelerometer Data Device (Interoceptor)
|
||||||
|
|
||||||
@@ -74,11 +79,11 @@ The LivoxGen1Lidar DAP uses a unified stim-buff-api name `livoxGen1` with mode-b
|
|||||||
|
|
||||||
**Syntax**:
|
**Syntax**:
|
||||||
```
|
```
|
||||||
+idev | avia0 | accel-stimiface | livoxGen1(mode=accel) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
+idev | avia0 | accel | livoxGen1-accel(data-rate-hz=100) | livoxProto1(handshake-timeout-ms=1000,retry-delay-ms=3000,smo-ip=192.168.1.50,smo-subnet-nbits=24) | 3JEDK380010Z39
|
||||||
```
|
```
|
||||||
|
|
||||||
**Mode Parameter Values**:
|
**Stim-Buff-API**: `livoxGen1-accel`
|
||||||
- `accel`
|
**Quale-Iface-API**: `accel` - Processes accelerometer linear acceleration data
|
||||||
|
|
||||||
## Provider Parameters
|
## Provider Parameters
|
||||||
|
|
||||||
@@ -124,16 +129,26 @@ The `livoxProto1` provider accepts the following parameters:
|
|||||||
|
|
||||||
## Parameter Summary
|
## Parameter Summary
|
||||||
|
|
||||||
### Mode/Stim/Affordance Parameter Values
|
### Stim-Buff-API Names
|
||||||
|
|
||||||
| Data Type | Mode Values | Description |
|
| Stim Feature | Stim-Buff-API | Quale-Iface-API | Description |
|
||||||
|-----------|-------------|-------------|
|
|--------------|---------------|----------------|-------------|
|
||||||
| Point Cloud Intensity | `pointCloudIntensity`, `pcloudIntensity`, `pCloudIntensity`, `pCloudI`, `pcloudI` | Light intensity/reflectivity data |
|
| Point Cloud Intensity | `livoxGen1-pcloudIntensity` | `pcloudIntensity` | Light intensity/reflectivity data |
|
||||||
| Point Cloud Coordinates | `pcloud`, `pCloud`, `pointCloud` | Spatial coordinate data |
|
| Point Cloud Coordinates | `livoxGen1-pcloud` | `pcloud` | Spatial coordinate data |
|
||||||
| Gyroscope | `gyro` | Angular velocity measurements |
|
| Gyroscope | `livoxGen1-gyro` | `gyro` | Angular velocity measurements |
|
||||||
| Accelerometer | `accel` | Linear acceleration measurements |
|
| Accelerometer | `livoxGen1-accel` | `accel` | Linear acceleration measurements |
|
||||||
|
|
||||||
### Format Parameter Values (for point cloud modes)
|
### Stim-Buff-API Parameters
|
||||||
|
|
||||||
|
Each stim-buff-api accepts device-specific parameters:
|
||||||
|
|
||||||
|
| Parameter | Description | Example |
|
||||||
|
|-----------|-------------|---------|
|
||||||
|
| `data-rate-hz` | Data sampling rate in Hz | `data-rate-hz=10` |
|
||||||
|
|
||||||
|
### Quale-Iface-API Parameters
|
||||||
|
|
||||||
|
The `pcloud` quale-iface-api accepts format parameters:
|
||||||
|
|
||||||
| Format | Description |
|
| Format | Description |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
|
|||||||
Reference in New Issue
Block a user