Jump to content

DCS-BIOS 0.8.0 prerelease feedback thread


FSFIan

Recommended Posts

I have published a pre-release of DCS-BIOS 0.8.0 here:

https://github.com/dcs-bios/dcs-bios/releases/tag/v0.8.0-pre1

 

There is no documentation yet, but most things should be pretty obvious if you have used DCS-BIOS before. After you run the program, it will look like nothing happened, because all it does is start in the background and add a systray icon. You can click the systray icon to show a menu which lets you open the web-based configuration interface, or just point your browser to http://localhost:5010 .

 

 

 

 

I'd like to apologize for my long absence from these boards and DCS in general. After I got a full time job about two years ago, the amount of time and energy I could devote to DCS-BIOS maintenance rapidly decreased. Another issue was that I did not have an easy-to-use test setup for DCS-BIOS development; everything was solderless breadboards and a mess of wires.

 

Over the last year, a few things happened to change that. I moved out of the city where I studied back to our family home, where I have access to a workshop and no one is inconvenienced when you fire up power tools at 8pm. I replaced my chinese 1610 CNC toy with a machine that is 10x as expensive but 100x less hassle. I bought the Harrier in a sale and instantly got hooked.

 

Then I lost my job two months ago. While it is annoying to have to look for a new job, it also meant I had a bunch of time to build a UFC, ODU and MPCDs (see attached screenshot) and get a head start on a new DCS-BIOS version, which is now in a state where I can improve it in smaller increments.

 

I'll try to catch up on the PMs I have missed and the GitHub issues I have been ignoring over the next days.

 

I'd also like to thank ArturDCS and BlackLibrary for forking DCS-BIOS and adding support for a bunch of modules. Allowing forks like this in case I could not continue to maintain the project was the reason it was open source from day one, but I wouldn't have expected anyone to pick this up given the sparse amount of developer documentation.

20191002_151319.thumb.jpg.8e2f28fba9a6a2a338f0b4c30724406b.jpg

Link to comment
Share on other sites

Sad for the lost of your job ... it's never good news.

But also happy to see you back here working on DCS-BIOS!

I'll test the new software ASAP!

Welcome back!

 

EDIT: first question, it reports as installed module only the A-10 but i also have the Hornet. Is it normal?


Edited by Jester_ITA
Link to comment
Share on other sites

The DCS-BIOS module is called "FA-18C_hornet". The DCS: World subfolder under "mods" is probably called something different so it does not recognize that those belong together.

 

 

Don't worry guys, the job hunt is proceeding well, and while I am still looking I get to collect unemployment insurance and bring DCS-BIOS to a position where I can continue to maintain it without being a bottleneck :)

Link to comment
Share on other sites

Hey Ian, sorry to hear about the job but happy to hear that you have time to get back into dcs-bios.

 

Perfect timing for this release as well, as I am about to do a run through of my hornet library to check that every single input/output works as expected with real hardware in preparation for writing the sketches for the openhornet project. I will now target this for dcs-bios 0.8 and look forward to having the library included in the official repository.

Intel i7 13700K @ 5.3 GHz / ASUS TUF Gaming Z490-Plus / 64 Gb G.Skill DDR4-3600 / RTX 4090 / 2TB Kingston KC3000 NVME / Win 10 x64 Pro / Pimax Crystal / WINWING F/A-18 HOTAS

A-10C, AJS-37, AV-8B, F-4E, F-5E, F-14, F-15E, F-16, F/A-18C, F-86F, FC3, Christen Eagle 2, FW190D-9, Mosquito, P-47D, P-51D, Spitfire, AH-64D, KA-50, UH-1H

Combined Arms, WWII Asset Pack, China Assets Pack, Super Carrier, Falklands Assets

Nevada, Normandy, Persian Gulf, The Channel, Syria, Mariana Islands, South Atlantic, Sinai

Link to comment
Share on other sites

Welcome back @Ian. You have been sorely missed. What is the big difference between the pre-release DCS-BIOS 0.8.0 and older versions? I still running v0.7.0 but in a modified version.

 

Are the displays in your cockpit setup HCMS-2963's?

 

Good job on your job situation and once again welcome back.

 

Cheers

Hans

Link to comment
Share on other sites

I tested the hub yesterday during our squadron evening.

Installed the pre-release 2 and configured (note:i manually copied the export code 'cause i wasnt sure it don't mess with existing script) and set it up to auto launch.

Well, still it didn't show on web interface that i was using the F-18 but the small panel i have working by now was perfectly running.

I had a couple of crashes of DCS but probably not related to BIOS, i'll check next time.

This software is a great step forward as i don't have to launch the socat.exe every time, plus it recognizes the com ports, another world than before!

Thanks Ian, i'll go on with testing in the next days!

Link to comment
Share on other sites

What is the big difference between the pre-release DCS-BIOS 0.8.0 and older versions?

 

Big difference #1: socat got replaced by the "DCS-BIOS Hub".

 

That means no more harmless but confusing "could not compute FAST_CWD pointer" error messages, a web-based graphical interface to connect and disconnect COM ports, and thanks to the "autoconnect" settings on the COM ports and the "Autostart DCS-BIOS" setting, no need to (remember to) manually start the socat script(s) before playing DCS.

 

The DCS-BIOS Hub uses only TCP to communicate to DCS: World, as UDP can lead to harder to debug issues and generally more trouble with firewalls. You can still start the DCS-BIOS Hub before starting DCS; it will re-attempt the TCP connection until it succeeds.

 

Big difference #2: The DCS-BIOS Hub integrates the interactive control reference documentation, so you don't need to install a Google Chrome extension in development mode for that anymore (which Chrome will nag you about every time you launch it).

 

Big difference #3: It comes in a standard .msi installer package, so installing and upgrading is quick and painless. It can also modify Export.lua for you, so you don't have to modify that manually. It will add a dofile(...) statement that points to its installation directory to Export.lua, the Lua scripts now live under C:\Program Files\DCS-BIOS\dcs-lua.

 

If you have custom modifications, that is the place where you need to apply them. (Probably less hassle if you install to a non-system location where normal users have write access.)

 

Note that in the A-10C, the path to the CDU JSON data has changed, see this commit for the change you need to make.

 

Also make a backup of your changes, I assume the installer will overwrite them on upgrades. What changes did you make?

 

Big difference #4: it's a solid foundation for additional features.

As the DCS-BIOS Hub is no longer a Lua script inside DCS: World, it has access to any library it wants to use and can do more calculations without impacting DCS performance. Use 2% more CPU when everything you do stops the sim? Not good. Use 2% more CPU on a different core? Nobody cares.

 

This opens up the possibility for interesting future improvements, such as a Websocket API so people can build virtual panels with HTML and JavaScript that run on any device with Wifi and a web browser, or the ability to map commands from your panels to keyboard actions or a vJoy feeder so you can use a DCS-BIOS powered simpit for other games as well.

 

Extra hidden bonus feature: The ability to remap inputs to a different DCS: World module is already implemented, there's just no UI yet:

https://github.com/dcs-bios/dcs-bios/commit/b47b5517c1229a3e45ba0ceedde0e92b20648091

 

I use that to make my Harrier MPCDs work for the A-10C MFCDs and the Ka-50's ABRIS buttons.

 

 

Are the displays in your cockpit setup HCMS-2963's?

 

Yes, they are. I had planned to use OLEDs, but then saw a surplus of 40 HCMS-2963's on eBay. I realized 40 might not be enough if I build everything I can think of (Harrier UFC+ODU, A-10C RWR and CMSP, kitchen timers, ...) so two days later, the seller auctioned off the last 200 pieces and I got another pack of 100. In total, I got 140 of these for about EUR 1.60 a piece.

I won't need all of these, so if anyone needs some for their simpit build, let me know. I'll part with these for EUR 1.60 + shipping as long as I know they'll end up in a simpit.

 

I also made some modifications to the LedDisplay library so I could daisy-chain ten of these:

https://github.com/jboecker/LedDisplay

Link to comment
Share on other sites

Ian;4086377']I won't need all of these' date=' so if anyone needs some for their simpit build, let me know. I'll part with these for EUR 1.60 + shipping as long as I know they'll end up in a simpit.[/quote']

 

I'd be using them to go in my generic Harrier/Hornet UFC and M2000C/Viggen Nav panel so I dont know if that would count as a simpit, but if it does I'll love to take any spares you have off your hands.

Link to comment
Share on other sites

I'd be using them to go in my generic Harrier/Hornet UFC and M2000C/Viggen Nav panel so I dont know if that would count as a simpit, but if it does I'll love to take any spares you have off your hands.

 

 

 

Apparently I’m not the only one. ;)

 

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Ian;4086377']

Big difference

Looks very promissing. Great to have you back sir:thumbup:

 

 

Ian;4086377']

What changes did you make?

 

 

Only small modifications to the IFF. GSS Rain reported some issues with one of the toggle switches and quick found the solution;

 

https://forums.eagle.ru/showthread.php?t=189774

 

The because I found the same kind of 5*7 segments you use (HCMS-2963) I removed the spacing between the text blocks;

 

local function getCMSPDisplayLines(dev0)
local cmsp = BIOS.util.parse_indication(7)
if not cmsp then
	local emptyline = string.format("%16s", "") -- 19 spaces, changed to 16 spaces and space removed in ""
	return emptyline, emptyline
else
	local tu = cmsp["txt_UP"]
	local line1 = string.format("%-4s", tu:sub(0, 4))..
			 ""..string.format("%-4s", tu:sub(5, 8))..
			 ""..string.format("%-4s", tu:sub(9, 12))..
			 ""..string.format("%-4s", tu:sub(13, 16))
	local line2 = string.format("%-4s", cmsp["txt_DOWN1"])..
			 ""..string.format("%-4s", cmsp["txt_DOWN2"])..
			 ""..string.format("%-4s", cmsp["txt_DOWN3"])..
			 ""..string.format("%-4s", cmsp["txt_DOWN4"])
	return line1, line2
end
end

 

I think I may have gotten them from same supplier, very good price and very easy to work with. Sent a few to a good friend in Canada because he was missing them for his CMSP.

 

Ian;4086377']

I also made some modifications to the LedDisplay library so I could daisy-chain ten of these:

https://github.com/jboecker/LedDisplay

 

Nice is that the solution WarHog may have mentioned to me that you solved the issue that they didn't write instantly but rather you could see timing when writing full line?

Just did I quick test replacing my original LedDisplay library with your but couldn't get that to work. I'll look at it another day :-)

 

Cheers

Hans

Link to comment
Share on other sites

The reference documentation does not work with Explorer, but it will open in Explorer when you use that as default browser.

Is it possible to have it open I chrome even if I use explorer as default?

 

Great to see you back in development!!

Regards

F

Link to comment
Share on other sites

Would one of you gentlemen please take a look at my error log? I'm trying to use DCS Flight Panels and seem to get it to work. I believe I've installed everything properly but obviously I've missed something.

DCSFlightpanels_error_log.txt

[sIGPIC][/sIGPIC]WIN 10, i7 10700, 32GB DDR4, RTX 2080 Super, Crucial 1TB SSD, Samsung EVO 850 500GB SSD, TM Warthog with 10cm extension, TIR5, MFG Crosswind Pedals, Wheelstand Pro, LG 40" 4K TV, Razer Black Widow Ultimate KB[/size]

Link to comment
Share on other sites

Yes, that’s how I do it, but I meant the icon shortcut, is it possible to force that one to chrome? Without having chrome as default browser.

 

 

That is not possible (it just tells Windows to open an URL, and Windows decides what to do with that).

 

 

The next release of DCS-BIOS will have a control reference that works in IE11, I just needed to add a polyfill for Array.flatMap.

Link to comment
Share on other sites

DCS-BIOS 0.8.0 prerelease feedback thread

 

Ian;4088671']That is not possible (it just tells Windows to open an URL, and Windows decides what to do with that).

 

 

The next release of DCS-BIOS will have a control reference that works in IE11, I just needed to add a polyfill for Array.flatMap.

 

 

 

Awesome, thanks!

 

The control reference doesn’t update for me.

I have a AJS37.lua that I’ve worked with and I’ve copied it to the new DCS-BIOS. My panels work but the control reference is the “original” one.

Is there another way to update it with this new version?

 

 

 

Regards

F


Edited by outbaxx
Link to comment
Share on other sites

The control reference looks at the JSON files in C:\Program Files\DCS-BIOS\control-reference-json\ to know how to interpret the data from DCS.

 

To generate a new AJS37.json, create a folder "DCS-BIOS JSON" in your DCS user profile (%USERPROFILE%\Saved Games\DCS\DCS-BIOS JSON" or "%USERPROFILE%\Saved Games\DCS.openbeta\DCS-BIOS JSON").

If that directory exists, new json files will be placed there when you start a mission.

 

(In v0.7.x, everything lived under %USERPROFILE% so the Lua script in DCS could update the "production" .json files every time, this is no longer possible as the DCS-BIOS Hub is installed under Program Files, where normal users are not allowed to write.)

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...