hayodea
d1c74a027c
Use DynamicViralPostingInvoker in at/detachStimBuffDeviceCReq
2026-05-31 07:13:53 -04:00
hayodea
c2eea37a7b
PostingPromise: reorder post-to target to be 1st arg
2026-05-30 21:46:19 -04:00
hayodea
ac39a8b876
Spinscale: add dynamic coro post-to targeting; test on dev reattacher
2026-05-30 20:46:41 -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
fc5ebb72b9
LivoxGen1: Port to coros
...
No longer uses CPS. We also found and documented a potential bug in
the way we deal with disablePcloudData during detachDeviceReq.
2026-05-28 15:17:50 -04:00
hayodea
7643cf7fed
StimBuffApiMgr: set isBeingDestroyed just before calling finalize
2026-05-25 10:40:29 -04:00
hayodea
4186ff141e
StimBuffApiMgr: initializeStimBuffApiLib default arg acquires lock
2026-05-25 09:24:49 -04:00
hayodea
3e19d39853
SenseApiDesc,xcbWindow: port to sscl coro framework
...
SenseApiDesc's exported API now uses coro pointers instead of
CPS fn pointers.
* Do not build this version of SMO with the Livox drivers enabled,
because SMO has been changed at the smocore level to use coros
when calling into stimbuffAPI libs. But the Livox drivers
haven't yet been ported from CPS to coros.
xcbWindow has been ported to expose coros to SMO in its
senseApiDesc exported iface.
2026-05-25 08:58:36 -04:00
hayodea
b5fa20a2b8
Mrntt:lifetime: if no devs attach, fail initializeCReq
2026-05-25 08:50:25 -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
c539e6e924
Add awaiters for DeviceManager continuations
2026-05-24 23:26:18 -04:00
hayodea
632a227985
DAPS: Add intrin specs to nontrin specs
...
We no longer do intrin specs as a separate stimbuff; rather now we
do them as a specifier segment within the pipeline spec of a normal
nontrin spec.
2026-04-18 12:02:27 -04:00
hayodea
06996d166e
Opts: Solve OptionsParser::Exception diamond inheritance problem
2026-04-02 01:28:37 -04:00
hayodea
c90f974bcb
DevMgr: LockSet is no longer a template
2026-03-05 23:45:53 -04:00
hayodea
aec3cbedf2
Split: Expose name via CompThr's derivatives' ctors
...
This completes the functional work of splitting libspinscale off
from SMO. Spinscale shouldn't have any real dependencies on SMO
from here on out.
2026-02-22 18:54:56 -04:00
hayodea
1c397dfeb5
Split: Split libspinscale off from SMO.
...
Now we can probably begin using libspinscale in Couresilient
without worrying about excessive technical debt later on.
2026-02-22 17:46:27 -04:00
hayodea
8011fe12bc
mindThread: remove parent ref; might remove class entirely
2026-02-19 19:20:21 -04:00
hayodea
ab399cafeb
Improve CONFIG_WORLD_USE_BODY_THREAD handling
...
We no longer need to do ugly ifdefs in the constructor for
Mind::Mind because we preprocess the handling for BODY and WORLD
in SmoThreadIds.
2026-02-18 02:05:44 -04:00
hayodea
687bab53b5
Change type: PuppetComponent::thread to PuppetThread
2026-02-18 02:05:18 -04:00
hayodea
9159e9f7b4
Update: rename mrntt=>pptr
2026-02-18 01:14:26 -04:00
hayodea
686bd6d38b
Dbg:TraceCallables: set cmdline flag for libspinscale
2026-02-17 11:10:24 -04:00
hayodea
e4adfa0e61
Main: move CRT cmdline obj into libspinscale
2026-02-17 10:41:47 -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
0c4f427c0a
Spinscale: PuppetComponent takes PuppetApplication&
2025-12-27 14:15:17 -04:00
hayodea
f862db922e
spinscale: Move thread init/jolt/exit logic into PuppetApplication
2025-12-27 14:01:15 -04:00
hayodea
cd77f4b02d
Component: Rename MindComponent=>PuppetComponent
2025-12-27 13:29:49 -04:00
hayodea
2222491c21
Use ref in ComponentThread::joltThreadReq
2025-12-26 13:46:28 -04:00
hayodea
45959f9d1c
Libspinscale: begin splitting it off
2025-12-26 01:18:39 -04:00
hayodea
2dc6b729e0
Update for Autogoalation
2025-12-25 19:21:47 -04:00
hayodea
2a8d320f7a
DevReattacher: Spinlock-protect stop() call
...
Replace the current delay timeout mechanism with a spinlock.
Both mechanisms try to eliminate the possibility of an in-flight
async op accessing state that has been destroyed by stop().
But the spinlock is less arbitrary.
2025-11-27 22:52:09 -04:00
hayodea
2c891bd2f3
Mrntt: Re-add exceptionInd
...
This now ensures that finalizeReq is indeed called from mrntt,
since exception-experiencing threads will post an exceptionInd
to mrntt, which will then call finalizeReq.
2025-11-23 03:27:18 -04:00
hayodea
ee6405048a
OClCollMeshEngn: use the central ComputeMgr APIs
...
We no longer create our own context and get our own OpenCL device
in OClCollMeshEngn::setup. We now request a device from the central
ComputeManager.
2025-11-20 00:55:19 -04:00
hayodea
2c7e090ef1
Move ClBuffer/ComputeDevice methods into libattachmentSupport
2025-11-20 00:53:28 -04:00
hayodea
27b43c6686
Add ComputeManager; add SmoHooks for getting ClDevices, buffers
...
We added a new centralized OpenCL Compute manager. This can later
be extended to support CUDA, SyCL, etc. SMO can be configured at
build time to choose which API it will use for compute.
Moreover, the ComputeMgr allows us to register buffers which are
available to all cl_contexts.
2025-11-19 22:34:25 -04:00
hayodea
b598ca8594
libs: Add smohook for getting cmdline opts
2025-11-07 14:59:28 -04:00
hayodea
457d0f9345
Dbg:Add CallableTracer for callables post()ed to boost.asio
...
This class and its macro allow us to trace the invocation of
callbacks as they're invoked by Boost.asio.
2025-11-06 21:45:16 -04:00
hayodea
eeb057effd
Dbg:Threading: prefix thread names with "smo:" so they group
2025-11-06 15:09:15 -04:00
hayodea
c7e117b08e
Dbg:Threading: use pthread_setname_np for debugging ease
2025-11-06 15:04:04 -04:00
hayodea
af57c4dfd1
Boost: move top_ link fixer to top of files
2025-11-06 15:03:26 -04:00
hayodea
032e9ef8d5
DevMgt: Update comments on bg daemon thread selection
2025-11-04 00:33:43 -04:00
hayodea
d6e1e7ebc0
DevMgmt: StimBuffApi bg tasks should execute on body thread
2025-11-04 00:32:14 -04:00
hayodea
5845f1a41d
Bug:Boost: Use shlibs instead of header-only for call_stack::top_
...
This symbol is defined as a static member object inside of a
boost detail header. When boost headers are used in a project
that uses Boost in both the main binary as well as dlopen()'d
shlibs, the top_ symbol gets duplicated and the metadata gets
partitioned.
We use the Boost shlib to unify both the main binary and the
shlibs to use the same memory address for top_.
This involves marking the templated object call_stack::top_ as
"extern" and then declaring to Boost that we intend to use the
shlibs.
2025-11-03 22:59:52 -04:00
hayodea
67af9f02da
DAPSpecs: Update parseRequiredParamAsInt to support all param lists
2025-11-01 01:11:34 -04:00
hayodea
e824685c19
DAPSpec: Add params to quale-iface-api
...
We add params to the quale iface (soon to be renamed to cologex-api).
This allows us to eventually set the history length for stimbuffs.
2025-11-01 00:57:04 -04:00
hayodea
07c48d78d1
Todo: update comments
2025-10-31 08:57:37 -04:00
hayodea
393326052c
Todo: update and add comments to finalizeInd
2025-10-31 08:57:37 -04:00
hayodea
a68143810e
DeviceReattacher: use provided ioThread; not mrntt directly
2025-10-31 08:57:22 -04:00