hayodea
f32a472c5d
PcloudStimBuff: Add skeleton daemon; frame rate limiting
...
Basic implementation of the stimbuff mechanism's frame rate
limiting behaviour.
2025-10-31 12:22:07 -04:00
hayodea
7994c2f6e2
CMake,config.h: Add -DSTIMBUFF_FRAME_RETRY_DELAY_MS
...
This determines how long a stimbuff should wait before retrying
to produce a stimframe, if the previous stimframe is still being
produced.
2025-10-31 12:08:40 -04:00
hayodea
9ab155560a
livoxGen1:ioUringAssmEngine: Fix build
2025-10-31 11:49:56 -04:00
hayodea
720babd39d
CMake,config.h: Add -DSTIMBUFF_FRAME_PERIOD_MS
...
This determines the maximum rate at which stimbuffs will be refreshed
with data from their device.
A device may refresh less frequently than this, but not more
frequently. The goal here is to give us control over the max
rate at which a device produces data.
2025-10-31 11:31:04 -04:00
hayodea
5c3bc6c324
livoxGen1: Reduce nDgramsPerFrame 500=>30 ~86400 points/sec
2025-10-31 11:27:43 -04:00
hayodea
b53ef42124
livoxGen1: documentation and formatting
2025-10-31 08:57:37 -04:00
hayodea
babfda4d0f
livoxGen1: Reduce handshakeTimeoutMs default to 5ms
...
We have no real reason to set it as high as 300.
2025-10-31 08:57:37 -04:00
hayodea
88dd872c95
Todo: Add async bridging idea as sync wait mechanism
2025-10-31 08:57:37 -04:00
hayodea
b8255234de
Todo: add idea for dealing with late timeouts
2025-10-31 08:57:37 -04:00
hayodea
1a4f7f97bd
BUG: Late-timeout during finalize
...
This adds a script which reproduces this bug after a lot of
iterations in gdb and lets us get a backtrace
2025-10-31 08:57:37 -04:00
hayodea
13a948a2d3
Formatting: use early continue pattern
2025-10-31 08:57:37 -04:00
hayodea
07c48d78d1
Todo: update comments
2025-10-31 08:57:37 -04:00
hayodea
7b6bfbad68
Fix linker error
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
b3d0565e11
livoxGen1: Committing intermediate state before daemon design
2025-10-31 08:57:37 -04:00
hayodea
287dd6be56
livoxGen1: Fix include name
2025-10-31 08:57:37 -04:00
hayodea
0b2fde3484
livoxGen1:StaginBuffer: simplify buff size/stride calcs
2025-10-31 08:57:37 -04:00
hayodea
c1286627ab
LivoxGen1: attachDevReq sets nDgramsPerFrame
2025-10-31 08:57:37 -04:00
hayodea
2234df1de2
livoxGen1:attach: alloc PcloudStimBuff after getting return mode
2025-10-31 08:57:37 -04:00
hayodea
4db3581be9
VSCode config: idk
2025-10-31 08:57:37 -04:00
hayodea
7efe622dd2
livoxGen1:attach: call getReturnModeReq before enPcloudDataReq
2025-10-31 08:57:37 -04:00
hayodea
f658e97ed0
livoxProto1: export getReturnModeReq; cache result in Device
2025-10-31 08:57:37 -04:00
hayodea
f8c5fad841
AssemblyBuffer changes
2025-10-31 08:57:37 -04:00
hayodea
626a84cc78
Formatting
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
hayodea
109cd9eb03
DevReattacher: Add 20ms sync delay during stop()
...
This fixes the bug where in-flight async ops that were triggered
by DevReattacher (such as livoxGen1_attachDeviceReq) that have
unconditional delays in them would fire late, after the state
var they rely upon had already been de-initialized.
We use an async bridge to ensure that those ops get executed in
the background and then resume execution after the delay.
2025-10-31 08:20:33 -04:00
hayodea
7b830f0a68
AsyncBridge: Comment why we don't checkException in loop
2025-10-31 08:20:29 -04:00
hayodea
b65b0f2370
UdpCmdDemux: remove stop-"responsiveness" timer
...
I think it's best to remove the timer tick from UdpCommandDemuxer.
I looked at it again and it doesn't actually help with responsiveness.
Whatever it contributes is no different from what stop() does.
They both just call timer.cancel and cmdsocket.cancel.
So if that doesn't stop the socket in stop(), it won't magically
stop it more effectively if I call it from a timer handler.
2025-10-31 08:20:27 -04:00
hayodea
2a8a6edf22
LivoxGen1: Add basic stimbuff creation & destruction
2025-10-25 23:04:59 -04:00
hayodea
10e19a3237
StimulusBuffer: Fix linker errors
2025-10-25 23:04:28 -04:00
hayodea
9e83a99c9c
LivoxProto1:Device: Refcount num stimbuffs attached
2025-10-25 23:03:00 -04:00
hayodea
b576d41595
VSCode config
2025-10-25 23:02:08 -04:00
hayodea
b89c8cdc4f
More work on PcloudStimulusBuffer
2025-10-25 19:42:48 -04:00
hayodea
682b9e121b
Some initial notes on postrin path design
2025-10-25 19:35:53 -04:00
hayodea
bcf81594e7
Add PcloudFormatDesc
2025-10-25 19:32:10 -04:00
hayodea
1b9acd5603
Rename LidarStimulusBuffer=>PcloudStimulusBuffer
2025-10-25 19:28:18 -04:00
hayodea
dc23a61410
Add StimulusBuffer and LidarStimulusBuffer
2025-10-25 19:05:32 -04:00
hayodea
e9b4e15b79
Add base class StimulusBuffer
2025-10-25 18:56:30 -04:00
hayodea
fca665d44e
LivoxGen1: StagingBuff: Update iface
2025-10-25 15:15:52 -04:00
hayodea
862acf0fe3
LivoxGen1: Add StagingBuffer class.
2025-10-25 14:49:24 -04:00
hayodea
6650664529
LivoxProto1: Move data members to one place
2025-10-25 14:43:51 -04:00
hayodea
e297a260d9
Contin: Rename Exception propagation macros
2025-10-25 14:12:12 -04:00
latentprion
d54ef04c47
Todo: Update
2025-10-25 13:25:14 -04:00
hayodea
92399ba283
Use piecemeal boost headers
2025-10-25 12:55:19 -04:00
hayodea
6f4a2dd649
LivoxGen/Proto1: Move en/disablePcloudData call to Gen1
...
We no longer try to enable pcloud data as part of the connectReq()
sequence. Instead we separate them so that a device can be connected
but not be issuing pcloud data.
2025-10-25 12:55:19 -04:00
latentprion
0e872042ee
Add some compile-time CL utilities
2025-10-25 03:39:42 -04:00
hayodea
266cabcddb
LivoxGen1: Add get/setReturnModeReq()
2025-10-25 00:19:06 -04:00
hayodea
444555e9b6
LivoxProto1: Remove superfluous proto methods
2025-10-24 22:23:59 -04:00
hayodea
3373393755
LivoxGen1: Add Get/SetReturn rate proto headers
2025-10-24 22:11:31 -04:00
latentprion
dc864bad00
Todo: update with optimization ideas
2025-10-24 16:03:03 -04:00