Commit Graph
100 Commits
Author SHA1 Message Date
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