Falcon-BCC - randomize cockpit switches during a cold start
-
I have written a small tool which randomizes various switches in the cockpit before a startup. I am aware that it’s somewhat unrealistic for them to be randomized (see the discussion here), but I still enjoy having to pay more attention during a ramp start. I wanted to share it in case someone else finds it useful too.
It’s written in Python and is free software licensed under the GPL.Source and Download: https://github.com/dglava/falcon-bcc
How to use:
- Edit falcon-bcc.py and enter the location of your keyfile
- Make sure that all the required callbacks are mapped to something in your keyfile. Check the falcon-bcc.py file and REQUIRED_CALLBACKS
- Then run the falcon-bcc.py file with Python.
- Once in-game, randomize the cockpit by moving the Mode knob on the CMDS panel to STBY.
It will only randomize the cockpit once. Subsequent toggling of the CMDS panel knob to STBY won’t have any effect. A sound effect is played during the randomizing for better feedback.
It’s a very hacky solution to be honest. It works by sending key-presses to Falcon BMS of the switches and knobs, a random number of times, bringing them into a different state. It reads the keyfile to figure out which keyboard keys to “press”. You need to have the REQUIRED_CALLBACKS mentioned in the file mapped, otherwise it won’t work.
It has to be manually triggered using the CMDS Panel. I experimented with automatic triggering upon entering the cockpit, but it seems fragile, since the Falcon BMS shared memory reports entering the cockpit (the 3D world) too soon. Adding a delay might be a solution, but I settled for manually triggering it by toggling something in the cockpit. It might change in the future.For ultimate convenience, as with the utility which displays briefings on a smartphone, it is recommended to add it to a startup script, which would start it together with Falcon BMS. You can also compile it into a standalone EXE with PyInstaller. I might post pre-compiled versions for people who don’t want to install Python or for more convenient use (note the warning related to PyInstaller executables in the README).
Update: 24.04.2022: Added new Falcon BMS 4.36 callbacks.
Update: 01.01.2023: Added new Falcon BMS 4.37 callbacks. -
Very cool concept!
Will certainly help to drive the checks into everyone’s brain.
-
Very unrealistic concept.
Ground crew cares about resetting the cockpit after each flights and check that it is properly set before any flight.
Chances that an important switch is wrongly set when pilot makes its cockpit check is very low. -
Very unrealistic concept.
Ground crew cares about resetting the cockpit after each flights and check that it is properly set before any flight.
Chances that an important switch is wrongly set when pilot makes its cockpit check is very low.Same thinking here.
Don’t want to discourage the effort spend on making the tool.On the other hand I’m not a AF guy but spend 15 years in Tanks and I wouldn’t remember a single time that one of my crews left the system without properly following the system shut down procedures which even included a read back on internal comms for every checklist step.
-
Very unrealistic concept.
Ground crew cares about resetting the cockpit after each flights and check that it is properly set before any flight.
Chances that an important switch is wrongly set when pilot makes its cockpit check is very low.Exactly what I was typing.
However, not bad to have this ability (application) as an option. Maybe one day we could actually work on an “instructor” ui that could be used for initial training of onboarding players intentionally pushing such small changes in the pit and expecting player to follow the CL’s and recognize the error. (more on that project later, if/when I’ll find someone to work some stuff with me codewise).
-
Don’t want to discourage the effort spend on making the tool.
Yep you’re right. It wasn’t my goal. Rather to give him an information he do not have maybe (?)
It is indeed always a good thing and good sign when some ppl invest some effort in doing something.
-
Exactly what I was typing.
However, not bad to have this ability (application) as an option. Maybe one day we could actually work on an “instructor” ui that could be used for initial training of onboarding players intentionally pushing such small changes in the pit and expecting player to follow the CL’s and recognize the error. (more on that project later, if/when I’ll find someone to work some stuff with me codewise).
For instructor based setup sending keyboard commands over the network Helios would already provide a solution for that
-
It is not just sending commands over the network, I can do that even with simple scripts. We need a “realistic” (similar to real sims UI) environment with additional options. Thanks however, never thought trying Helios for this project.
-
Yep you’re right. It wasn’t my goal. Rather to give him an information he do not have maybe (?)
I mentioned in the OP that it’s probably not realistic and linked to this discussion where people talked about how the crew chiefs setup the plane beforehand. That’s why I named in Bad Crew Chief, tongue-in-cheek.
-
It is not just sending commands over the network, I can do that even with simple scripts. We need a “realistic” (similar to real sims UI) environment with additional options. Thanks however, never thought trying Helios for this project.
The keypress sender receiver is just part off the whole Helios network stack in combination with lighnings SharedMemory mirror you could run a full functional bi-directional virtual cockpit
-
If this was unrealistic then why is there a ‘VERIFY CHECKLIST’ that literally ships with BMS.
As long as there are humans anywhere near a cockpit, some switches will inevitably be placed in the wrong position.
SMH.
-
If it is between 0.05 and 1% of chance to have one or two switches missplaced … Ok
If more … you must dismiss your ground crew, human or not human, they have nothing to do close to an aircraft.Nothing close to “randomizing” the cockpit initial state. (So do you understand why I am saying “not realistic”).
-
Updated to work with 4.37 (new callbacks, i.e. new buttons and switches). Download links are in the OP.
-
@Dee-Jay - this is a reason I’m using all ON state switches in my cockpit build…I want to do something a bit the opposite, in hardware.
What I want to do is send all of the current cockpit switch states to BMS on command - this requires that I have a positive ON state (logic 1) for all ON and OFF positions; and that they all be sent as “one shot”. This is to get BMS in synch with however I have (or have not) forgotten to set my switches previously.
I’m probably going to set my interfacing to omni-send switch states with some sort of shift command - like CMS->dwn + Paddle…or some Viper unused HOTAS or button set. Haven’t gotten that far yet.
-