hayodea
7a47f2bd49
lcameraDev: honor opt-planar when selecting YUV capture format.
...
Pass fullPlanarIsOptional through session configure so optional planar
mode can succeed with packed YUYV; extend unit and configure HIL coverage.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 11:01:40 -04:00
hayodea
42c9fcdfdf
Refactor intrinThresholdParams to use shared DAP helpers.
...
Delegate threshold param parsing to the new DeviceAttachmentSpec primitives
so intrin modules stay aligned with stimBuff param conventions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 11:00:30 -04:00
hayodea
b198f6a42b
Add shared DeviceAttachmentSpec param parsing helpers.
...
Centralize DAP param lookup, parsing, and validation primitives so stimBuff
and threshold modules can share one implementation instead of duplicating
parse logic per plugin.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-14 11:00:22 -04:00
hayodea
3e85b920fb
LCamDev: implement configureSessionModeCReq
...
We can, theoretically, now change the v4l camera's mode.
2026-06-13 20:56:33 -04:00
hayodea
25d7b9c013
LcamDev: Add baked in camera profiles; use new test supports
2026-06-13 18:50:31 -04:00
hayodea
2458c83c6b
Tests: add tests for lcameraDev, fix qutex tests
2026-06-13 16:08:21 -04:00
hayodea
46f767f232
lcameraDev: Add session mgr lib for libcamera device binding
2026-06-13 12:02:04 -04:00
hayodea
f9c64cf363
livoxProto1: Convert heartbeat sender into daemon coro
2026-06-10 07:02:07 -04:00
hayodea
facb665217
BroadcastListener: Port to use nurseries and CDaemon pattern
2026-06-10 05:41:39 -04:00
hayodea
2602094139
StimProd: disable debug msg
2026-06-10 04:12:32 -04:00
hayodea
ad88a5e1c8
CMake: Fix unnecessary build steps
2026-06-09 19:51:51 -04:00
hayodea
87a8de9a2b
StimProd,DevReattacher: use CDaemon nonviral nursery coro
...
We ported these two daemons over to the new nursery mechanism and
they work nicely.
2026-06-09 19:47:44 -04:00
hayodea
91fc655b25
Nursery: Initial integration
...
StimulusProducer: syncAwaitAllSettlements should pump caller io_context
2026-06-09 16:03:25 -04:00
hayodea
acf62e61da
Remove boostAsioLinkageFix
2026-05-30 12:12:59 -04:00
hayodea
4266af545a
Boost.ASIO: upgrade io_service=>io_context, finally
2026-05-30 12:01:00 -04:00
hayodea
f100764bd8
Async: Drop-in SyncCancelerForAsyncWork without execUncancelableSegment*
...
We're doing this to prep for the coro port
2026-05-30 10:52:15 -04:00
hayodea
322a8137b2
Revert "LivoxGen1: Use syncCancelerForAsyncWork in producer pipeline"
...
This reverts commit d788810a05 .
We're doing this because it's not necessary. We will be porting to
coros soon and we can just use brace-scopes.
2026-05-30 07:18:29 -04:00
hayodea
d788810a05
LivoxGen1: Use syncCancelerForAsyncWork in producer pipeline
2026-05-29 14:10:45 -04:00
hayodea
25efccf6c5
LivoxProto1: port to sscl::co framework
...
Code now actually looks a lot cleaner, tbh.
2026-05-28 20:13:12 -04:00
hayodea
cde2737876
Libspinscale: Initial top-level SMO port to coroutine framework
...
We haven't ported everything. Just the top-level methods. We'll
dig in to the leaf stuff later. Surprisingly, this all went without
any real difficulties.
Runs like a charm on first try.
2026-05-24 23:26:18 -04:00
hayodea
1d64ce0c7e
StagingBuff: support both Mlock & IOUring pin; Use in IoUAssmEngn
...
We use io_uring_register_buffers() for IoUringAssemblyEngine instead
of using mlock(). This __appears__ to have reduced CPU utilization on
the Dell laptop. Could also be that we recently upgraded total RAM
from 8GiB to 32GiB.
2026-04-02 03:51:22 -04:00
hayodea
a1fd39eb05
Improve CPack deb generation
2026-03-06 01:12:46 -04:00
hayodea
5a4f498663
Libspinscale: Add separate CMake project config
2025-12-28 03:44:01 -04:00
hayodea
34d76df7d9
Spinscale: create new namespace sscl
2025-12-27 16:21:22 -04:00
hayodea
45959f9d1c
Libspinscale: begin splitting it off
2025-12-26 01:18:39 -04:00
hayodea
d39bc4b475
Add these partial fixes for Windows WSL
2025-12-25 19:21:30 -04:00
hayodea
b0df1ef3d0
[Pcloud]StimProducer: Impl addAttachedStimBuffIfNotExists
...
Reduces code duplication, centralizes checking and enforces consistent
behaviour across producers.
Also reordered the writes to the sh_ptr<StimulusBuffer>s such that
the pointers are written last.
2025-11-23 23:11:23 -04:00
hayodea
51d2a70a3f
StimProducer: add destroyAttachedStimulusBuffer virtual method
...
Implemented in base class and in derived class
PcloudStimulusProducer.
2025-11-20 01:25:46 -04:00
hayodea
2c7e090ef1
Move ClBuffer/ComputeDevice methods into libattachmentSupport
2025-11-20 00:53:28 -04:00
hayodea
0cfb0a9c07
StagingBuffer: Large slots should be aligned to alignment
...
Slots whose stride size is larger than the slot alignment value
should have their size rounded up to the alignment size so that
the slots that follow them will also be aligned.
2025-11-20 00:03:50 -04:00
hayodea
a4493b26a1
Move/RN computeNSlotsPerDgram to Device::getNSlotsPerDgram
2025-11-16 12:37:25 -04:00
hayodea
c5ed453bb4
StimBuff: Make virtual so we can dynamic_cast in getOrCreateStimBuff
2025-11-16 02:23:53 -04:00
hayodea
8e48ce6ceb
stagingBuffer: rename nDgramsPerFrame=>nSlots
2025-11-15 21:29:59 -04:00
hayodea
d277c29394
Move StagingBuffer+FrameAssemblyDesc into libattachmentSupport
...
This is in preparation for using StagingBuffer to implement
StimulusFrame and StimulusBuffer.
2025-11-15 20:47:40 -04:00
hayodea
188b09319c
livoxProto1: Rn Device::nAttachedStimBuffs=>nAttachedStimulusProducers
...
More semantically precise name.
2025-11-15 00:56:20 -04:00
hayodea
98a493a8a1
livoxGen1: Add StimBuffs to PcloudStimProd
...
* PcloudStimulusProducer now has member sh_ptr<StimulusBuffer>s.
* StimulusProducer now has a vector<sh_ptr<StimulusBuffer>s.
Created new stimbuff-type-specific
Pcloud[Xyz|I|Ambience]StimulusBuffer classes for representing each
stim feature exposed by livoxGen1's PcloudStimulusProducer.
2025-11-14 23:19:32 -04:00
hayodea
70c0175a8b
Rename StimulusBuffer=>StimulusProducer
...
Next we'll split the StimulusBuffer-related stuff into a new class
StimulusBuffer.
2025-11-14 19:50:51 -04:00
hayodea
e446d42b3c
StimBuff: Deferral: print message at start and end; timestamp too
2025-11-13 01:09:30 -04:00
hayodea
7e672bcc9a
UdpCmdDemux: formatting
2025-11-12 17:25:55 -04:00
hayodea
1a9c96c857
whitespace
2025-11-12 15:09:15 -04:00
hayodea
116a642a9f
StimBuff: Add opportunity for early lock release
2025-11-12 15:08:44 -04:00
hayodea
4dbb27fd1f
StimulusBuffer: properly serialize timeslices
...
We previously unintentionally allowed multiple production operations
to occur in the same timeslice because we were calling for production
even when deferring timeslices.
2025-11-12 12:31:37 -04:00
hayodea
5bb9c9e90b
Dbg: Useful printfs for the raspi5
2025-11-10 01:05:20 -04:00
hayodea
1afa085fd4
livoxProto1:Device: Spinlock guard heartbeat stop() for races
2025-11-07 21:36:00 -04:00
hayodea
7b092956c0
UdpCmdDemux: Guard start() w/spinlock for races
2025-11-07 21:12:40 -04:00
hayodea
e0c0976e0b
BcastListener: Guard start() w/spinlock for races
2025-11-07 21:12:05 -04:00
hayodea
887fa1ab6f
Bug:UdpCmdDemux: Add SpinLock for races around stop()
2025-11-07 20:45:16 -04:00
hayodea
7d2cb58200
Bug:BcastListener: Add SpinLock for races around stop()
2025-11-07 20:44:44 -04:00
hayodea
b598ca8594
libs: Add smohook for getting cmdline opts
2025-11-07 14:59:28 -04:00
hayodea
f3a4c69597
StimBuff: DevAttSpec should be a sh_ptr, not a plain ref
2025-11-04 00:47:01 -04:00