hayodea
e446d42b3c
StimBuff: Deferral: print message at start and end; timestamp too
2025-11-13 01:09:30 -04:00
hayodea
116a642a9f
StimBuff: Add opportunity for early lock release
2025-11-12 15:08:44 -04:00
hayodea
1ac6fa4a16
Rename StimFrame=>StimulusFrame
2025-11-09 22:09:19 -04:00
hayodea
a0ab5538df
StimBuff: Add mnemonic wrapper for unlocking frameAssmLimiter
2025-11-08 22:07:52 -04:00
hayodea
b598ca8594
libs: Add smohook for getting cmdline opts
2025-11-07 14:59:28 -04:00
hayodea
af57c4dfd1
Boost: move top_ link fixer to top of files
2025-11-06 15:03:26 -04:00
hayodea
2b3b318abe
Formatting
2025-11-04 00:49:15 -04:00
hayodea
f3a4c69597
StimBuff: DevAttSpec should be a sh_ptr, not a plain ref
2025-11-04 00:47:01 -04:00
hayodea
b3bf0e2cb9
StimBuff,commonLibs: Add libattachmentSupport, move fnptrs into .cpp files
...
We move the methods in StimulusBuffer whose addresses are taken during
program execution into a separate static lib. This guarantees that
they'll have their own, single vaddr at runtime, at least within
each independent code module.
2025-11-02 19:12:28 -04:00
hayodea
10e615e75e
StimBuff: make start/stop virtual;
...
We can now have the derived StimBuff class implement its own
start()/stop() preamble and epilogue.
2025-11-01 22:05:52 -04:00
hayodea
a32b4f05d1
livoxGen1: call PcloudStimulusBuffer::start/stop
...
We now call start()/stop() in attach/detachDeviceReq.
2025-11-01 03:32:05 -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
cdade17905
Add SpMcRingBuffer to base class StimulusBuffer
...
This will hopefully genericise the interface for Stimbuffs.
2025-11-01 00:09:53 -04:00
hayodea
018c1f1e1d
SpMcRingBuffer: Added this new class
...
This will be the foundation for all StimulusBuffers. We can most
likely add this generically to the StimulusBuffer base class rather
than adding it only to StimulusBuffer's derived classes.
2025-10-31 22:58:18 -04:00
hayodea
5e522178d8
SequenceLock: Newly added
...
What can I say? It's a very portable primitive that allows us to
create many RCU-type data structures with many readers and one
writer, locklessly.
2025-10-31 22:12:23 -04:00
hayodea
7574f3f59a
StimBuff: customize stop() delay; add stimFrameProductionTimesliceInd
2025-10-31 13:54:50 -04:00
hayodea
0de031c74b
Formatting: move big inlines out of class def
2025-10-31 13:47:00 -04:00
hayodea
ebbb2b1345
StimBuff: Add skeleton common impl with rate limiting
2025-10-31 13:43:23 -04:00
hayodea
10e19a3237
StimulusBuffer: Fix linker errors
2025-10-25 23:04:28 -04:00
hayodea
b89c8cdc4f
More work on PcloudStimulusBuffer
2025-10-25 19:42:48 -04:00
hayodea
bcf81594e7
Add PcloudFormatDesc
2025-10-25 19:32:10 -04:00
hayodea
e9b4e15b79
Add base class StimulusBuffer
2025-10-25 18:56:30 -04:00
hayodea
870057a680
Add Stencil class for describing threshold ranges
2025-10-21 20:50:59 -04:00
hayodea
e444cd1e04
Move files around for cologex and sitbuff lib impl
2025-10-21 20:02:36 -04:00
latentprion
49c9caa317
Remove superfluous #includes from headers
2025-10-17 16:19:25 -04:00
latentprion
edd223b083
Remove unnecessary componentThread.h #includes
...
Since componentThread #includes boost::asio components, removing
it should improve compile times.
2025-10-16 02:15:16 -04:00
hayodea
d857999fdf
Update comment notes
2025-10-02 01:14:04 -04:00
hayodea
fa2609f4ce
User /includes: Add common stim frame types header
2025-10-02 00:29:09 -04:00
hayodea
eb5875fe0d
Rename: Sense API => Stim Buff API
2025-10-01 20:03:47 -04:00
hayodea
56b8e83a09
Update senseApiDesc.h and opts.cpp for clarity in device attachment and usage examples
2025-10-01 18:20:59 -04:00
hayodea
a66d91fa31
DevAttachment:Rename: api=>stimbuffapi, implexor=>qualeiface
2025-10-01 18:10:58 -04:00
hayodea
782bcd4567
Async: add sh_ptr<ContinuationChainLink> to Callback<>
...
This change enables us to finally implement the tracing of
continuations backward from the point of acquisition for deadlock
debugging.
2025-09-27 18:30:09 -04:00
hayodea
db8f047322
SApiMgr:attDevReq: use body||world thread for i/e-devs
...
We now pass in the correct ComponentThread based on the type of
device that's being attached.
2025-09-15 12:47:37 -04:00
hayodea
81842e4571
SenseApiDesc: SAL_MLO: attach/detachDeviceReq: return parsed DA spec
2025-09-10 18:11:08 -04:00
hayodea
1b6b12256d
SenseApis: Make attachDeviceReq async in drivers and SenseApiMgr
...
Slowly retrogressively making these sequences async
2025-09-10 06:51:55 -04:00
hayodea
48121ec84c
SenseApiMgr: Provide ComponentThread::getSelf access to libs
2025-09-09 12:03:50 -04:00
hayodea
3b07a15e11
Move getRequiredParamAsInt into deviceAttachmentSpec.h
...
Make it accessible for all senseApis.
2025-09-06 22:46:03 -04:00
hayodea
26be261cff
SenseApiDesc: Rename SalmanoffCallbacks=> SmoCallbacks
2025-09-06 22:46:03 -04:00
hayodea
e5a3c41c20
SenseApis: Add threading model info to initialization info
...
We provide access to a thread whose event queue the sense API
libs can use for device-independent event management.
2025-09-06 22:46:03 -04:00
hayodea
6ef86eea05
Rename DSL: deviceSpec => deviceAttachmentSpec
...
This language is used broadly to specify how to attach (and thus
also how to detach) devices to/from Salmanoff. The next bit of work
we'll do is split off the DSL parsing from the management of the
list of parsed binary attached spec objects.
We'll be creating a PipeDeviceAttachmentParser, and later on when
we support URDF, we'll create a URDFDeviceAttachmentParser.
2025-08-29 15:16:11 -04:00
hayodea
f3f2384f9b
SenseApiMgr: Refcount device spec objects
2025-08-29 09:50:26 -04:00
hayodea
1bf5f46404
Provide dlopen() path searching hook to senseApi libs
2025-07-24 02:12:31 -04:00
hayodea
d0aa8e2306
Rename hk=>smo
2025-07-22 06:48:04 -04:00
hayodea
e87656fd12
Fix build error from non-POD initializer list
2025-07-22 05:50:19 -04:00
hayodea
42f55bb324
SenseApiDesc: Delete Sal_Mgmt_HkOps & document iface
...
We don't need the Sal_Mgmt_HkOps anymore because we won't
be using a callback model anymore. We'll be enqueuing messages.
2025-07-22 02:03:45 -04:00
hayodea
1450d745ab
SenseApiDesc: use CPP concat to reduce typos
2025-07-22 02:03:45 -04:00
hayodea
091d7ceeba
xcbXorg: Parse devSpec params, connect to Xorg displays
...
This patch adds some nicely weighty code for connecting to X displays
and managing those connections. Attaching devices will automatically
connect to their required X display. Removing all devices dependent
on a given X display connection will also disconnect from that
Xdisplay.
2025-01-14 14:17:05 -04:00
hayodea
aaae3dcbb2
DevSpec: Grammar now parses params as key[=[val]]
...
* Updated docs to reflect this.
* This was important in allowing us to write the xcbXorg connection
code.
2025-01-14 14:17:05 -04:00
hayodea
09caf314f1
Eliminate the C FFI; Namespace lib API and DeviceManager
...
We decided to get rid of the C FFI for libs. It was becoming too intricate
and complicated. It was becoming a technical burden and expanding into
too much extra code. It's unfortunate, but we'll have to give up on getting
out-of-tree hot-loadable libraries the easy way.
It's possible to still do it with cross compilation or by keeping track
of the libstdc++ version that the running harikoff binary was compiled
against. Then we can ensure that our loadable lib code is linked against
that same libstdc++ code and this should ensure ABI stability.
2025-01-13 21:57:11 -04:00