diff --git a/docs/lcamera-dev-lib.md b/docs/lcamera-dev-lib.md index 2c6ded6..f4277fa 100644 --- a/docs/lcamera-dev-lib.md +++ b/docs/lcamera-dev-lib.md @@ -444,7 +444,9 @@ If libcamera IDs prove insufficient in practice, selector policies can gain 1. **Hot-unplug** — on camera removal, fail all attached `lcameraBuff` producers and drop the session, or attempt re-enumeration by stored `lcamera-id:`? 2. **IPA packaging** — document per-platform `apt install` requirements in the - main README when `lcameraBuff` lands (RPi needs `libcamera-ipa`). + main README when `lcameraBuff` lands (RPi needs `libcamera-ipa`). See also + `scripts/dell_laptop_salmanoff_args.inc.sh` for the current dell-laptop + `./salmanoff` invocation. Stream format, frame timing, and libcamera callback threading are owned by `lcameraBuff`, not `lcameraDev`. diff --git a/scripts/dell_laptop_salmanoff_args.inc.sh b/scripts/dell_laptop_salmanoff_args.inc.sh new file mode 100644 index 0000000..3a4b335 --- /dev/null +++ b/scripts/dell_laptop_salmanoff_args.inc.sh @@ -0,0 +1,38 @@ +# Canonical ./salmanoff arguments for devices/bodies/dell-laptop.daps (win0, avia0, +# elp_4k_usb_cam). Source from other scripts or run from the CMake build directory: +# +# . scripts/dell_laptop_salmanoff_args.inc.sh +# ./salmanoff "${DELL_LAPTOP_SALMANOFF_ARGS[@]}" +# +# Rebuild merged DAP specs after editing .dapss files: +# cmake --build . --target body_dell_laptop -j$(nproc) +# +# Example (same flags, explicit form): +# ./salmanoff \ +# -p commonLibs/livoxProto1/ \ +# -p stimBuffApis/lcameraBuff/ \ +# -p commonLibs/xcbXorg/ \ +# -p commonLibs/lcameraDev/ \ +# -p stimBuffApis/xcbWindow/ \ +# -p stimBuffApis/livoxGen1/ \ +# -p comparatorLibs/core/ \ +# -a liblcameraBuff.so \ +# -a libxcbWindow.so \ +# -a liblivoxGen1.so \ +# -c libcomparatorCore.so \ +# -d devices/bodies/dell-laptop.daps + +DELL_LAPTOP_SALMANOFF_ARGS=( + -p commonLibs/livoxProto1/ + -p stimBuffApis/lcameraBuff/ + -p commonLibs/xcbXorg/ + -p commonLibs/lcameraDev/ + -p stimBuffApis/xcbWindow/ + -p stimBuffApis/livoxGen1/ + -p comparatorLibs/core/ + -a liblcameraBuff.so + -a libxcbWindow.so + -a liblivoxGen1.so + -c libcomparatorCore.so + -d devices/bodies/dell-laptop.daps +) diff --git a/scripts/udpCommandDemuxer/reproduce_heisenbug.sh b/scripts/udpCommandDemuxer/reproduce_heisenbug.sh index 1df0c36..66060ef 100755 --- a/scripts/udpCommandDemuxer/reproduce_heisenbug.sh +++ b/scripts/udpCommandDemuxer/reproduce_heisenbug.sh @@ -36,6 +36,7 @@ fi # Paths - all relative to working directory SALMANOFF_BINARY="$WORKING_DIR/salmanoff" GDB_SCRIPT="$SCRIPT_DIR/gdb_heisenbug.gdb" +DELL_LAPTOP_ARGS_INC="$SCRIPT_DIR/../dell_laptop_salmanoff_args.inc.sh" # Check if binary exists if [ ! -f "$SALMANOFF_BINARY" ]; then @@ -50,16 +51,14 @@ if [ ! -f "$GDB_SCRIPT" ]; then exit 1 fi -# Command line arguments for salmanoff -SALMANOFF_ARGS=( - -p commonLibs/livoxProto1/ - -p commonLibs/xcbXorg/ - -p stimBuffApis/xcbWindow/ - -p stimBuffApis/livoxGen1/ - -a libxcbWindow.so - -a liblivoxGen1.so - -d devices/bodies/dell-laptop.daps -) +if [ ! -f "$DELL_LAPTOP_ARGS_INC" ]; then + echo "Error: dell-laptop salmanoff args not found at $DELL_LAPTOP_ARGS_INC" >&2 + exit 1 +fi + +# shellcheck source=../dell_laptop_salmanoff_args.inc.sh +. "$DELL_LAPTOP_ARGS_INC" +SALMANOFF_ARGS=( "${DELL_LAPTOP_SALMANOFF_ARGS[@]}" ) echo "=== UdpCommandDemuxer Heisenbug Reproduction Script ===" echo "Working Directory: $WORKING_DIR"