DooVoo Posted January 3, 2016 Posted January 3, 2016 Hello! First, I've just started playing around with DCS BIOS and creating my own panels. Really enjoying it. This is mostly down to the community here that I've been lurking in the shadows of for a few months now. So thank you everyone for the inspiration! I'm working on a prototype electrical control panel at the moment. All the switches are working as expected. In my last test, I noticed that DCS doesn't reflect my initial switch positions when I connect the serial port. Using the handy search function, I found this post from [FSF]Ian that mentions the initial update data size. I wondered if this meant DCS could reflect my initial panel states when the connection is made, but I wasn't able to find much in the DCS BIOS docs. So, I was hoping someone here might share some wisdom on the subject. Cheers!
FSFIan Posted January 3, 2016 Posted January 3, 2016 There is no easy way to do this right now -- the DCS-BIOS Arduino Library is written so that input is only sent to DCS when a switch changes state. This was a deliberate decision because in some situations, doing this can be dangerous or annoying (e.g. switching off the battery and generators in a hot start or air start mission). And even in a cold start scenario, wouldn't you want to do it the other way around (switch your physical switches to the state they are in your virtual aircraft) so you can properly execute your start-up checklist? If there is actually a use case for this, I think I could write a function that you could call on the Arduino side that makes all of the inputs send their current state to DCS. You could then call that in the setup() function and whenever the current aircraft name changes, so it would be executed whenever you hop into a new aircraft. But before I spend time on that, I'd like to hear some reasons why you would want to have automatic control synchronization. It's not that I am against implementing it, but I never saw the point in the "synchronize controls on startup" option in DCS either (too many times have my engines shut down after joining a hot start or air start A-10C when I had that on), and I don't want to feel like I am implementing a useless feature :) DCS-BIOS | How to export CMSP, RWR, etc. through MonitorSetup.lua
BravoYankee4 Posted January 4, 2016 Posted January 4, 2016 I'm about to build a cockpit, or at least some panels, with the most commonly used switches (so far I only have some limited mockups). If you have a limited number of switches I can probably remember the simulator default positions and pre-set all the switches to that position before starting up the sim. But it bugs me a little that I need to actuate some controls twice to get the result in the sim. What is the point with physical switches if the simulator isn't reflecting their actual state? Then we could settle for Helios and some touchscreens... Perhaps an option to add this code to the arduino sketch for those who want it, and for the others just don't add it?
Exo7 Posted January 4, 2016 Posted January 4, 2016 Personaly, i'm using a "pre flight checklist", to configure the pit for the mission i launch. if i choose cold start, i have a "cold start preflight checklist", if hot start or air start i have a "hot start preflight checklist" like real life (for the cold start...). [sIGPIC][/sIGPIC]
Rockeyes Posted January 4, 2016 Posted January 4, 2016 I'm about to build a cockpit, or at least some panels, with the most commonly used switches (so far I only have some limited mockups). If you have a limited number of switches I can probably remember the simulator default positions and pre-set all the switches to that position before starting up the sim. But it bugs me a little that I need to actuate some controls twice to get the result in the sim. What is the point with physical switches if the simulator isn't reflecting their actual state? Then we could settle for Helios and some touchscreens... Perhaps an option to add this code to the arduino sketch for those who want it, and for the others just don't add it? Great idea:thumbup: [sIGPIC][/sIGPIC] HTC Vive Windows 10 Maximus VIII Hero i7-6700k CPU @ 4.2GHz 16GB Nvida GeForce GTX 1080. Ram Duel SSD's
DooVoo Posted January 4, 2016 Author Posted January 4, 2016 Ian;2628622']But before I spend time on that' date=' I'd like to hear some reasons why you would want to have automatic control synchronization. It's not that I am against implementing it, but I never saw the point in the "synchronize controls on startup" option in DCS either (too many times have my engines shut down after joining a hot start or air start A-10C when I had that on), and I don't want to feel like I am implementing a useless feature :)[/quote'] I mostly play cold start and do enjoy the idea that my A10C might not be completely setup correctly by the last user (i.e. me). It makes the pre-flight checks all the more valuable experience. Personaly' date=' i'm using a "pre flight checklist", to configure the pit for the mission i launch. if i choose cold start, i have a "cold start preflight checklist", if hot start or air start i have a "hot start preflight checklist" like real life (for the cold start...).[/quote'] I hadn't thought of this and I like it a lot. Exo, would you mind sharing your hot start checklist? Do you have an in-flight one as well? Perhaps an option to add this code to the arduino sketch for those who want it' date=' and for the others just don't add it?[/quote'] I like this idea a lot. I can imagine different situations (configuring the pit for specific conditions at start etc) where I would like the option to choose. I'm thinking of using Arduino minis in an I2C bus. If that's the case, could I get away with having the bridge the only arduino that would need to be updated when uploading a different sketch? Having said that, I could just as a "Synch" switch to my pit... :smartass:
Exo7 Posted January 4, 2016 Posted January 4, 2016 I hadn't thought of this and I like it a lot. Exo, would you mind sharing your hot start checklist? Do you have an in-flight one as well? Yes, i have, but i need to work on it to make it as clean and pdf... today it's just a bad draft...:cry: [sIGPIC][/sIGPIC]
Exo7 Posted January 4, 2016 Posted January 4, 2016 Ian;2628622']There is no easy way to do this right now -- the DCS-BIOS Arduino Library is written so that input is only sent to DCS when a switch changes state. This was a deliberate decision because in some situations, doing this can be dangerous or annoying (e.g. switching off the battery and generators in a hot start or air start mission). And even in a cold start scenario, wouldn't you want to do it the other way around (switch your physical switches to the state they are in your virtual aircraft) so you can properly execute your start-up checklist? If there is actually a use case for this, I think I could write a function that you could call on the Arduino side that makes all of the inputs send their current state to DCS. You could then call that in the setup() function and whenever the current aircraft name changes, so it would be executed whenever you hop into a new aircraft. But before I spend time on that, I'd like to hear some reasons why you would want to have automatic control synchronization. It's not that I am against implementing it, but I never saw the point in the "synchronize controls on startup" option in DCS either (too many times have my engines shut down after joining a hot start or air start A-10C when I had that on), and I don't want to feel like I am implementing a useless feature :) I think it's can be great for certain function... like VTB power from hot start in M2000C, that haven't impact of the cold startup... maybe a option in the function to enable the start synchro for choosen inputs... like this : void Switch2Pos::init_(char* msg, char pin, bool reverse, start_synchro) and call all variables with this tag for the startup synchro ? what do you think about ? i don't know if it's difficult to code... [sIGPIC][/sIGPIC]
DooVoo Posted January 4, 2016 Author Posted January 4, 2016 Yes, i have, but i need to work on it to make it as clean and pdf... today it's just a bad draft...:cry: I'd be happy to clean them up and share them out if it would help!
FSFIan Posted January 5, 2016 Posted January 5, 2016 I have given this some more thought and think it will be best to deal with this feature as part of DCS-BIOS 2.0, where I plan to change a bunch of things under the hood. If I were to implement this now, I'd only end up rewriting the code in a few weeks. DCS-BIOS | How to export CMSP, RWR, etc. through MonitorSetup.lua
BravoYankee4 Posted January 5, 2016 Posted January 5, 2016 Well, as suggested above, perhaps a good compromise would be to have a kind of synchronization button, that forces an update of the current state when pressed? I'm good with considering this in 2.0. Personally I think that the RS-485 functionality and perhaps stepper motors are of higher priority.
a3an4e Posted June 21, 2016 Posted June 21, 2016 Hi Doovoo/Ian....not sure if this might help. When I started playing with building an A10C panel, I started with the landing gear panel and AHCP panel. I also found then, that when you start up the A10C simulator by just open and close the ground conection loop, then all switches will be set in the simulator to the panel switch position. Sent from my SM-N910G using Tapatalk
FSFIan Posted June 22, 2016 Posted June 22, 2016 I also found then, that when you start up the A10C simulator by just open and close the ground conection loop, then all switches will be set in the simulator to the panel switch position. That won't work for a two-position toggle switch that is currently in the open position. Should work for anything else I can think of right now. DCS-BIOS | How to export CMSP, RWR, etc. through MonitorSetup.lua
maciekish Posted July 27, 2022 Posted July 27, 2022 On 1/4/2016 at 12:06 AM, DooVoo said: Hello! First, I've just started playing around with DCS BIOS and creating my own panels. Really enjoying it. This is mostly down to the community here that I've been lurking in the shadows of for a few months now. So thank you everyone for the inspiration! I'm working on a prototype electrical control panel at the moment. All the switches are working as expected. In my last test, I noticed that DCS doesn't reflect my initial switch positions when I connect the serial port. Using the handy search function, I found this post from [FSF]Ian that mentions the initial update data size. I wondered if this meant DCS could reflect my initial panel states when the connection is made, but I wasn't able to find much in the DCS BIOS docs. So, I was hoping someone here might share some wisdom on the subject. Cheers! Was this ever implemented please? I can imagine things like for example the cockpit light pots would be left on if constantly flying night missions? That way i could do a normal flow but omit things i "left in place on purpose" like the correct amount of backlight i want. Right now, i have to touch the backlight pot just a little bit to make it sync with DCS which is mildly annoying. Really appreciate your time on this, thanks.
Recommended Posts