esilva
a5c465a203
has way too many things
...
In short: added the ability to detect when a device has disconnected.
From this we have to achieve a way of:
- reconnecting the device
- re-subscribing to the fields it needs (it should already be subscribed
since the ESDI didn't stop tho - but for the sake of it, or in case a
device joins later)
- start sending data to it (which should be automatic given how we are
handling the devices)
2026-09-20 15:06:48 +01:00
esilva
174b27004f
added error returns to the SendData method on the peripheral interface
2026-09-18 16:37:30 +01:00
esilva
a2e14ba6a9
applied the same start-stop scheme to the BeamNG provider
2026-09-18 15:42:34 +01:00
esilva
a6683df10b
fixed the start and stop behaviour. it was crashing
2026-09-18 15:38:17 +01:00
esilva
2d4875fbd0
removed log that was just polluting everything
2026-09-18 11:07:29 +01:00
esilva
bd10d6b4d6
subscription fix. should subscribe too fields at once
2026-09-18 00:07:27 +01:00
esilva
c888dc5436
remove commented code and made the subscription be based on a list
2026-09-18 00:05:50 +01:00
esilva
dda300ce6b
decoupled the winIDs from the telemetry data
...
hell yeah, brother!
2026-09-17 23:55:54 +01:00
esilva
1ac4ab1865
logger fixes on cdashdisplay device implementation
2026-09-17 23:08:36 +01:00
esilva
a6ab64117c
this is a doozy - device auto discovery and handling
...
The main goal was to decouple more things
We got devices being looked for in the background and the stream view
is like a device now too
2026-09-17 23:01:50 +01:00
esilva
1321977f18
updated beamng provider for the new SDK
2026-09-17 23:01:50 +01:00
esilva
ffc03e9e49
added the IsAlive check for beamng
2026-09-17 23:01:50 +01:00
esilva
15b997c22f
fixed some little UI bugs
...
- We could open the CDashDisplay specific layout before it existed -
Crash!
- We could open the stream UI before there was a provider- Crash!
2026-09-17 23:01:50 +01:00
esilva
59fa825da1
removing some unecessary logs
2026-09-17 23:01:50 +01:00
esilva
dbd4086bf9
Provider loop discovery almost finished
...
Provider lookup will lookup on startup, do the healthcheck until the
stream starts and also restart on stream closure or provider stall
2026-09-17 23:01:50 +01:00
esilva
c1366b010f
remove this very verbose log
2026-09-17 23:01:50 +01:00
esilva
d6362eeeb5
remove the fatals from here, but I do need to do error handling there
2026-09-17 23:01:50 +01:00
esilva
1b9a5173b6
Updated the function that checks for the sim running and how we stream data
2026-09-17 23:01:50 +01:00
esilva
7675c7e34a
fixed the iracing Gear transform
2026-09-17 23:01:50 +01:00
esilva
922c2df88d
Don't allow program to crash if there's no active provider on StartStream action
2026-09-17 23:01:50 +01:00
esilva
6b09eb5be0
some fixes regarding iracing provider transforms and working the auto detection
2026-09-17 23:01:50 +01:00
esilva
1d022a4fa8
update the iracing provider to be on the same page as the BeamNG one
...
Deprecated the Fetch and Transform methods
2026-09-17 23:01:50 +01:00
esilva
a251f45859
basic loop to discover providers
2026-09-17 23:01:50 +01:00
esilva
afc4b794bb
Created a devices service and moved the CDashDisplay service to the sahdow realm
2026-09-17 23:01:50 +01:00
esilva
a807eb3782
remove old logger. We use actual loggers now
2026-09-17 23:00:02 +01:00
esilva
fe86993c6d
update the irsdk version
2026-08-24 16:54:36 +01:00
esilva
5ae0542149
Another README edit
2026-07-23 10:47:27 +01:00
esilva
4088e4d8f8
Edited the README
2026-07-23 10:45:25 +01:00
esilva
ce7aabfa09
Instead of panicing on unset updaters, set them as unused
...
This might have impact on different types of data other than a window
set for STRING, but I will worry about that later on
2026-07-08 09:47:45 +01:00
esilva
ca57cbd9f0
Small validation for the updaters array in BeamNG
2026-07-07 18:16:52 +01:00
esilva
0887fbfd75
simplified a bit how the TelemetryField updaters work
...
- now we only use one function to update the TelemetryField instead
of having to fetch data and then update it.
Still need to update the iRacing provider to use this pattern. Way
better and creates better units.
Got rid of that stupid long ass switch statement too
2026-07-07 17:52:47 +01:00
esilva
94ba0e2539
window title reporting
2026-07-07 00:06:59 +01:00
esilva
c431c389e3
added a TODO so I won't forget it
2026-07-06 23:47:12 +01:00
esilva
16e6a336b0
Added fields for the BeamNG provider and am working on some changes for the telem
...
I need to simplify the way telemetry is fetched and updated on the app
side.
Reduce the use of any for example and so on
2026-07-06 23:31:41 +01:00
esilva
8def8cac68
Bumped the BeamNG SDK version
2026-07-06 23:30:40 +01:00
esilva
4e91edc036
small change to the gear transform for BeamNG
2026-07-06 14:43:45 +01:00
esilva
abc60a81d3
added an important TODO
2026-06-26 17:47:38 +01:00
esilva
20dbf15adf
Support for BeamNG as a data provider
2026-06-25 15:35:57 +01:00
esilva
6dd4db0358
pprof stuff for debugging
2026-06-24 17:05:41 +01:00
esilva
2ae29af199
reducing the channel sizes so data doesn't pile up and frames are dropped instead
2026-06-24 16:05:03 +01:00
esilva
5b77b5b941
broadcaster setup
2026-06-24 12:00:02 +01:00
esilva
9c7c6d528f
moved the service layer to its own package
2026-06-23 17:54:01 +01:00
esilva
2146dc8396
adding the updateStream method and the models for the form
2026-06-23 17:47:10 +01:00
esilva
a28f996330
start and stop behaviour
2026-06-23 10:23:14 +01:00
esilva
1614675e9d
Added the default sim config variable
2026-06-23 10:02:17 +01:00
esilva
0f3a6ceeba
update beamng.drives provider name
2026-06-23 10:01:47 +01:00
esilva
aa3fa88044
init application routines
2026-06-22 22:07:52 +01:00
esilva
5d8552e9a2
add the metrics server flag to the config for now
2026-06-22 22:07:43 +01:00
esilva
ac187c9292
adding a very basig config
2026-06-22 21:37:16 +01:00
esilva
f2e49f1ba0
removing some unused code
2026-06-19 16:29:27 +01:00
esilva
a980640e40
working on a global config
2026-06-18 17:05:42 +01:00
esilva
3e92467beb
adding the options form for the stream view
2026-06-18 17:05:27 +01:00
esilva
74d57a6ece
preparing the providers package
2026-06-18 17:05:08 +01:00
esilva
24fea285c3
very bare bones layout selectable menu
2026-06-09 16:39:13 +01:00
esilva
d3c4464aa0
organizing the code a bit better
2026-06-09 14:51:11 +01:00
esilva
99a4f794c5
removing unused code
2026-06-09 14:42:58 +01:00
esilva
8da67e52bc
must clean this up, but it fixes hanging up trying to probe devices
2026-06-01 22:55:16 +01:00
esilva
23cd5bc0a3
Updated my base layout
2026-06-01 17:46:34 +01:00
esilva
0c90e5d4ac
Satisfactory fuel calculator done (still have plenty to do on it)
2026-06-01 17:38:30 +01:00
esilva
b6075e2138
calculate fuel usage on current lap
...
I don't like the current state of affairs, need to change it
2026-05-31 16:41:45 +01:00
esilva
32dc35d008
implementing a bare bones fuel calculator
2026-05-31 10:44:16 +01:00
esilva
2cb30baf6a
first approach to implementing virtual binds
...
virtual binds will just be some middleware that sits between telemetry
primitives and computed values from it like dash lights and a fuel calc
2026-05-31 07:22:06 +01:00
esilva
691a51ae8b
added some new fields
2026-05-30 16:32:02 +01:00
esilva
d5336cc01e
fixed a problem with the transforms that would just error out if the value was nil
2026-05-27 17:54:05 +01:00
esilva
1cb1d64ebe
use a cross-platform lib to fetch the available ports for probing
2026-05-26 11:38:48 +01:00
esilva
8b02b427bc
rename aux.go to auxiliary.go due to windows things
2026-05-26 11:38:31 +01:00
esilva
7091561ed9
adding virtual fields
2026-05-25 16:43:41 +01:00
esilva
c512d79d98
and yet again some more fields
2026-03-15 22:55:11 +00:00
esilva
e5bd5b8983
even more fields were added, won't list them all
2026-03-15 19:28:11 +00:00
esilva
7f0ab21a61
added some fields
2026-03-15 00:19:04 +00:00
esilva
f50fc7a87b
BUG FIX - multiple binds for a given event were created when many windows wanted it
2026-03-14 21:45:50 +00:00
esilva
7caad7149e
making it possible for multiple windows to receive the same data
...
still need some more work on this
2026-03-13 23:35:33 +00:00
esilva
93ecb1a11d
added brake bias
2026-03-13 17:36:15 +00:00
esilva
bbc62560f3
added the wintype option to the form so more rich layouts can be created
2026-03-13 17:20:13 +00:00
esilva
6b7c09c314
added an empty telemetry field, will be usefull for developemnt
2026-03-13 17:19:29 +00:00
esilva
05af404db1
add the identification ID for a telemetry field
...
we will use this so the serial device knows where to send the data
2026-03-11 21:20:17 +00:00
esilva
15ab85dbe1
Fixed the iracing provider gearbox data reading
2026-03-10 23:36:12 +00:00
esilva
16e102dd83
Too many things for a single commit but in summary:
...
We got them data bytes computer majigs being transmitted to the display
and correctly parsed over there. Also seems to be fast. I won't touch
performance issues until I have this working and documented tho.
2026-03-10 23:10:10 +00:00
esilva
a8d71e0827
uncommented this UT and fixed it
2026-03-10 21:51:14 +00:00
esilva
0228e93bbf
removed that horrible offset when accessing telemetrydata values
2026-03-10 15:31:46 +00:00
esilva
19c2ac2d07
Trying to figure a way of mapping the telemetry agents fields back to my UI
2026-03-09 23:37:29 +00:00
esilva
ef2c7bf173
small fix to the telemetry field id view and internal data storage
2026-03-09 23:06:17 +00:00
esilva
2ef3d0d375
added the form items to set the TelemetryField on UI windows
2026-03-09 22:01:07 +00:00
esilva
ef8f4603d6
figuring a way of having a clean internal interface for the data and other stuff I reckon. I forgot
2026-03-09 18:03:36 +00:00
esilva
ac76d482d0
deleting commented code
2026-03-06 18:23:19 +00:00
esilva
d26dcae65f
moving cdashdisplay data handling to its backend
2026-03-06 18:22:54 +00:00
esilva
de3e9784a0
moved the layout tree to its file
2026-03-06 17:46:20 +00:00
esilva
88b518759c
deleted useless code
2026-03-06 17:44:52 +00:00
esilva
da9f786611
update the current provider to take advantage of these last commits
2026-03-06 14:38:20 +00:00
esilva
a299b95d7c
do not queue draw functions if we are already drawing
2026-03-06 14:37:46 +00:00
esilva
6e98f13eb5
reworking how I actually want to publish the telemetry data for now
2026-03-06 14:30:52 +00:00
esilva
9b10042112
i'll got with this I guess
2026-03-05 18:55:00 +00:00
esilva
f8d483dd62
small fix
2026-03-05 18:07:28 +00:00
esilva
ce0b030d7e
deleted useless code
2026-03-05 17:58:22 +00:00
esilva
e65358ea1d
telemetry service and telemetry agents interface
2026-03-05 16:26:30 +00:00
esilva
c9086cae56
Setting the environment to handle multiple data sinks
...
im scaffolding it but first I recon I will make this transfer data to
the lcd and then we will take a look at making it pretty
2026-03-03 23:11:24 +00:00
esilva
da315b1c7b
So, we got the telemetry service going and it polls back to the UI
2026-03-03 23:06:19 +00:00
esilva
f8e65a03d2
we got the data reading going again
2026-03-03 22:02:42 +00:00
esilva
11dc255303
it is with great sadness the DOM and event bus go. Its all callbacks now
2026-03-03 14:20:41 +00:00
esilva
4cb14dd40f
reflect window updates in the tree view
2026-03-03 14:12:36 +00:00