This is a sort of carry on from a discussion in a thread about an Alternative zu KOMSI
Where Thomas U. told me about the stringvariable 'IBIS' that can be used to get the text as it is shown on the in game IBIS screen and display it on a real LCD.
I love Komsi, but it has a few issues i wish could be fixed to make it 'perfect' for us Fahrerarbeitsplatz builders, which i will list below, then there would be no need for some people to search for an alternative.
Here is something i have been working on:
It is a quickly made mock IBIS for a proof of concept, only the display works here, but i am thinking of designing a PCB that will have switches on it behind the button labels, that PCB will connect to the LCD and have an Arduino plug onto the back of it, and then i'd try and design a 3D printed ibis case, and people can make a working (with omsi only) IBIS unit.
The photo above is just a (resized to match the LCD dimensions) print out of the texture file of the IBIS used in the MAN SD 202, D92 version, the screen area i cut out then laminated, and a 24 x 2 character LCD is stuck behind the window.
I am still working on the Arduino code for it, but it is working (with a clunky modification every time i start komsi) and it updates with omsi nicely,
You can see how i did the delay display to mimic the real IBIS in the bus... with the + or - symbol on the upper line above the actual delay time.
However my Arduino code uses Strings, which are very bad and the reason for Arduino's locking up and needing resetting, the reason is that Strings cause heap memory fragmentation, and on an Arduino uno with only 2Kb of memory, that is a very bad thing, but i have ideas how to make the code much more efficient and never fragment the memory, so it should run forever once started, and i will of course share my Arduino code when i have it working properly, as well as all other info on my bus cab build, including the new PCB file i will make for an Arduino mega to run the dashboard lights and gauges.
Anyway, back to the IBIS display....
To get this to work i had to make a change to one of the 'stringvarlists' in the Komsi .OPL file, simply by changing 'IBIS_busstop_name' to 'IBIS' it changes the data Komsi reads from omsi, from the bus stop name to the full IBIS screen data, with an '@' symbol to indicate where the upper and lower lines are.
This does screw up the ticket printers data if you are using it as an IBIS with Lars's Arduino code, and also the 'interior display' output (which doesn't work anyway)
Unfortunately a big problem i have:
The IBIS output in komsi has no terminating or null character to indicate the end of a packet of data (that i can detect), the ticket printers output uses ';' but that output is only updated once a second (despite there being an option to change it in komsi, it always updates at 1000 milliseconds and that's too slow for things like 'falsche route' to flash on the IBIS LCD in time with the omsi one.
So every time i start the Komsi client with omsi, i have to do a clunky work around involving the Task manager to 'full screen' the komsi client, that shows a text box for the non working bus temperature, it has the text 'noch nicht mit leben gefüllt' in it, so i change that to ';' and minimise the Komsi client, then it will work... untill the next time i start omsi and Komsi
I'd really love to be able to get an update to komsi,
First to have a terminating character implemented on the IBIS output.
Then to have an option to select either the traditional ibis output type that is used for the mas1 type ibis with 16 x 2 character lcd's (where it changes the text to fit the smaller screen), or the full IBIS screen text using the stringvatlist 'IBIS' plus the delay time (as that isnt sent with the 'IBIS' string, but that would be great for those of us who use a mas3 type IBIS
Hmm. maybe even to have a whole new data output, and com port just for the mas3 type ibis data?
The 'noch nicht mit leben gefüllt' text replaced with the actual bus interior temperature, stringvarlist 'cockpit_temperatur'
I am going to modify an LCD thermometer to change temperature on command from an arduino so would love to be able to read the interior temperature with Komsi.
And the Interior display output to be made active, with an option to use stringvarlist 'IBIS_cabindisplay' which is the text output of what is shown on the bus interior displays.
I'd then really love one more output from komsi, the lights for the Dreiha style heating controller found in the MAN NG 272.
Unfortunately i seem unable to contact Lars to ask if these changes could be made, and i think he is very busy, but having Komsi updated a little would make a lot of difference to people who want to replicate a bus cab with all the features working.