Hi all!
I've come across the lexicon articles about the plugin DLLs and some questions occured in me, because I'd like to write/build a DLL for myself for a real speedometer (Hasler & Bern RT9 but that doesn't matter at this point), using an Arduino.
What interface can we use to access the data in LOTUS? I mean what functions/methods with what variables? Is there a list somewhere, or the example code contains all the usable functions (ReceiveVarFloat...etc)? What features does the DLL plugin method support? Can it handle accessing to serial ports or intermediate objects like a port on the local IP address to use the data in another program? Can the DLLs use config files or is there any way to change a variable without building the whole DLL again (for example serial port numbers, if it can handle it)?
As far as I understand, the ReceiveVarXYZ functions are called when a propriate typed variable changes in the game (in the example code the v_axle_mps_0_0 is sent through var.0), so the inner parts of those are like the Simstep functions of the script system. So if I need a variable like that, I need to code in inside one of these functions (of course with the corresponding type). Am I right so far?
Also, it's been a very long time ago since I built any DLL files, so I have to ask, is there any easy way to build from such a code as the example (so written in Object Pascal)? Also what do I need to make the plugin work? Make a plugins folder in LOTUS main directory, make an .ini file with whatever name I want, make a DLL file, all in this folder and that's it?